Commit Graph

2937 Commits

Author SHA1 Message Date
Chen Chengjun 9b0b445e4a Enable some mount givsor tests 2025-11-03 15:56:05 +08:00
Chen Chengjun 6f8877f252 Rename some variables and let src_name_addr can be NULL for some mount operations 2025-11-03 15:56:05 +08:00
Chen Chengjun 1ef7a1a11b Enable some pipe gvisor tests 2025-11-03 09:57:48 +08:00
Chen Chengjun d66dbdd3bc Revise some error numbers and messages 2025-11-03 09:57:48 +08:00
Chen Chengjun d42b006e1a Refactor named pipe to correct its opening and blocking behaviors 2025-11-03 09:57:48 +08:00
Chen Chengjun 5eddf21596 Introduce open API for Inode trait to replace as_* APIs 2025-11-03 09:57:48 +08:00
Chen Chengjun 4fe8554d63 Decouple PipeReader/Writer with status flags 2025-11-03 09:57:48 +08:00
Chen Chengjun b447a605ed Introduce PerMountFlags and support MS_REMOUNT 2025-11-02 21:24:50 +08:00
Chen Chengjun 498c2f3c91 Make FsFlags consistent with Linux's super block flags 2025-11-02 21:24:50 +08:00
Zhang Junyang 3b4569e14d Add RISC-V SMP boot entrypoint 2025-11-02 21:23:32 +08:00
Chen Chengjun c77edbace8 Provide mem_unit and procs in sysinfo 2025-11-02 14:09:55 +08:00
Hsy-Intel 63efd4891b Fix Linux TDX network performance by unifying virtio-net-pci parameters 2025-10-31 13:47:38 +08:00
Tao Su 31cb7433eb Hardcode qemu args to add `quote-generation-socket` 2025-10-31 08:53:27 +08:00
Tao Su 73cd7e0c02 Add generate_tdx_quote test 2025-10-31 08:53:27 +08:00
Tao Su eb4edd25e8 Add TSM module 2025-10-31 08:53:27 +08:00
Zejun Zhao 31e352dc6b Add some riscv64 CI 2025-10-31 08:52:34 +08:00
Zejun Zhao 1f8fb13cb4 Enable svpbmt extension for riscv64 by default 2025-10-31 08:52:34 +08:00
Zejun Zhao 431b6fdff7 Make riscv64's `PageTableEntry::set_prop` recognize A/D bit 2025-10-31 08:52:34 +08:00
Ruihan Li 9c70ac0f0a Mark `sync_dma_range` as `unsafe` 2025-10-30 17:04:45 +08:00
Ruihan Li d487e42b7c Reunify the style of defining `arch` modules 2025-10-30 17:04:45 +08:00
Zejun Zhao 35720de928 Add sifive_u SCHEME 2025-10-30 14:51:37 +08:00
Zejun Zhao 6af524b451 Support RISC-V Sv39 Paging mode 2025-10-30 14:51:37 +08:00
Zejun Zhao ff84f60489 Add .ex_table section on loongarch64 platforms 2025-10-30 11:27:08 +08:00
Zejun Zhao 577d8294d0 Use exception table to recover in RISC-V page fault handler 2025-10-30 11:27:08 +08:00
Zejun Zhao 79992c66de Implement fallible memory operations on RISC-V platform 2025-10-30 11:27:08 +08:00
Zejun Zhao 629b053ea8 Make exception table arch-agnostic 2025-10-30 11:27:08 +08:00
Zejun Zhao bfcb1d2c00 Implement `DmaStream::sync` on RISC-V platforms 2025-10-30 10:47:53 +08:00
Zejun Zhao 3353e53577 Add VirtIO device probing code on RISC-V platforms 2025-10-30 10:47:53 +08:00
Zejun Zhao 39a541fdeb Add RISC-V FPU support 2025-10-29 13:24:30 +08:00
Wang Siyuan 89e759894f Remove `Rights` from VMO 2025-10-29 12:22:22 +08:00
jiangjianfeng 77ef9e0368 Include /etc/hosts and /etc/resolv.conf in initramfs 2025-10-29 12:20:40 +08:00
Cautreoxit 0126d9b356 Set AT_SECURE value based on ELF's configuration 2025-10-29 09:57:16 +08:00
Cautreoxit 43fc98dc77 Migrate virtio-input to input subsystem API 2025-10-28 17:37:13 +08:00
Cautreoxit ee960c5f45 Migrate i8042 keyboard to input subsystem API 2025-10-28 17:37:13 +08:00
Cautreoxit 329fb4728a Add framebuffer console handler 2025-10-28 17:37:13 +08:00
Cautreoxit 9c062b1350 Add input subsystem
Co-authored-by: TinaZhangZW <ruoyuan.zw@antgroup.com>
2025-10-28 17:37:13 +08:00
Zejun Zhao 32581caa7a Skip management hart when detecting available extensions 2025-10-28 09:32:12 +08:00
Ruihan Li 4996146a24 Add `.type` and `.size` directives 2025-10-28 09:21:44 +08:00
Ruihan Li a912a7338e Add assembly guidelines 2025-10-28 09:21:44 +08:00
Ruihan Li e61c8ce56a Unify styles of assembly code 2025-10-28 09:21:44 +08:00
Ruihan Li a6b01501ac Load local addresses and define constants 2025-10-28 09:21:44 +08:00
Ruihan Li 0b597d84a0 Use `IoMem<Sensitive>` in local APIC 2025-10-28 09:12:02 +08:00
Ruihan Li d42208b591 Use `IoMem<Sensitive>` in I/O APIC 2025-10-28 09:12:02 +08:00
Ruihan Li 2d74e69b4b Add KDGKBMODE and KDSKBMODE ioctl support 2025-10-27 16:28:35 +08:00
Wei Zhang 2ba05a1673 Add KDGETMODE and KDSETMODE ioctl support
Add support for virtual console TTY mode management ioctls required by
Xorg and other display servers. The implementation includes:

- KDGETMODE: Query the current virtual console mode
- KDSETMODE: Switch between text and graphics modes

Virtual consoles utilize the framebuffer with two distinct modes:
- Text mode (default): Kernel renders text characters to framebuffer
- Graphics mode: User space applications gain full framebuffer control

Xorg requires KDSETMODE during initialization to switch to graphics
mode, preventing conflicts where both the kernel and Xorg would
simultaneously attempt to write to the framebuffer. This ensures
proper display handling and eliminates rendering artifacts.

Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
2025-10-27 16:28:35 +08:00
Ruihan Li 38a217d201 Enhance `TtyDriver` to get the console 2025-10-27 16:28:35 +08:00
Wei Zhang 66d9dd41b9 Correct /dev/tty1 major number to 4
The major number for /dev/tty1 must be 4, as this value is hardcoded
in Linux and Linux syscall-compatible operating systems. Xorg uses
this major number directly, and incorrect values lead to confusion
and operational failures.

This change ensures compatibility with Xorg's expectations and
maintains system consistency.
2025-10-27 16:28:35 +08:00
Zejun Zhao f02c37dc2f Make writable pages readable on RISC-V platforms 2025-10-27 11:25:59 +08:00
Zejun Zhao 51767b519b Generate fault signal for RISC-V exceptions 2025-10-27 11:25:59 +08:00
Zejun Zhao dd8de9f381 Handle kernel page fault on RISC-V platforms 2025-10-27 11:25:59 +08:00