Commit Graph

1351 Commits

Author SHA1 Message Date
Ruihan Li cf772b804e Fix option behavior in UNIX/netlink sockets 2025-12-01 13:46:02 +08:00
Ruihan Li f522bd72b2 Enable only one i8042 port at initialization 2025-12-01 10:22:14 +08:00
Ruihan Li 3258a264de Abstract common PS/2 logics 2025-12-01 10:22:14 +08:00
Ruihan Li 3ddbef06e4 Set timeout for i8042 transactions 2025-12-01 10:22:14 +08:00
Ruihan Li 0b664a012e Group modules into `device/registry` 2025-12-01 00:05:29 +08:00
Ruihan Li be01eef352 Revise error messages in `char.rs` 2025-12-01 00:05:29 +08:00
Ruihan Li 34a9f84c5a Remove `Char{File,Device}` & `DevtmpfsName` 2025-12-01 00:05:29 +08:00
Ruihan Li dc21266510 Remove `OpenCharFile` 2025-12-01 00:05:29 +08:00
Chen Chengjun 2021160e97 Introduce IdBitmap to fix the syncing metadata bug of Ext2 2025-11-30 23:58:58 +08:00
jiangjianfeng 96bfab16be Fix some typos 2025-11-28 19:10:16 +08:00
Chen Chengjun e048a76afc Make the semantics of tty-related devices correct 2025-11-28 18:18:28 +08:00
Chen Chengjun 1b11a8453e Store system console names in KCmdlineArg 2025-11-28 18:18:28 +08:00
Chen Chengjun 3f3838d3a3 Support reboot syscall 2025-11-28 11:32:16 +08:00
Cautreoxit cc8fa23e07 Rename `keyboard` component to `i8042` 2025-11-28 11:25:58 +08:00
Cautreoxit 44768021a1 Add i8042 mouse 2025-11-28 11:25:58 +08:00
Cautreoxit aa6f248d03 Remove magic numbers in i8042 component 2025-11-28 11:25:58 +08:00
Qingsong Chen f15106aed8 Fix ext2 directory entry iteration 2025-11-28 11:22:56 +08:00
Qingsong Chen d08d82cd0b Fix ext2 DeviceRangeReader to prevent reading invalid blocks 2025-11-28 11:22:56 +08:00
Qingsong Chen f026bf38d8 Fix bio request end sector calculation 2025-11-28 11:22:56 +08:00
jiangjianfeng 188b20eb99 Support SO_BROADCAST for UDP sockets 2025-11-28 10:34:26 +08:00
jiangjianfeng 3208fcc101 Dummy support IP_RECVERR option 2025-11-28 10:34:26 +08:00
jiangjianfeng 1375346214 Add IP options to UDP socket 2025-11-28 10:34:26 +08:00
jiangjianfeng e796c41546 Reorder the socket options according to CSocketOptionName 2025-11-28 10:34:26 +08:00
Ruihan Li 17b62917cd Perform some remaining cleanups 2025-11-26 17:35:42 +08:00
Ruihan Li 0fd2066ac3 Fix potential atomic mode breaks 2025-11-26 17:35:42 +08:00
Ruihan Li d99791ba57 Fix the handling when the buffer is full 2025-11-26 17:35:42 +08:00
Ruihan Li efeaf5fa6e Fix potential deadlocks 2025-11-26 17:35:42 +08:00
Ruihan Li 42026b3eb9 Define a specific clock type 2025-11-26 17:35:42 +08:00
Ruihan Li 1c7fc4a6e6 Align the read behavior to Linux's 2025-11-26 17:35:42 +08:00
Ruihan Li 52a7d3eddd Simplify the logic related to I/O events 2025-11-26 17:35:42 +08:00
Ruihan Li 6e866cc4c2 Remove the unused event count 2025-11-26 17:35:42 +08:00
Ruihan Li 33428b46b9 Clarify error codes and messages 2025-11-26 17:35:42 +08:00
Ruihan Li 2892b8a977 Use `size_of` in preludes 2025-11-26 17:35:42 +08:00
Hsy-Intel f8c94695d0 Add TDX hardware randomness requirement note 2025-11-26 17:26:55 +08:00
Zhe Tang 70eda539df Refactor IoMem acquisition to use appropriate cache policies across multiple components 2025-11-25 10:24:54 +08:00
Zhe Tang fb1cab9951 Enhance IoMem to support configurable cache policies 2025-11-25 10:24:54 +08:00
Chen Chengjun f8147469d4 Make the mount-related fields in statx effective 2025-11-24 19:01:19 +08:00
Zhe Tang 20c0d3d178 Add proper error handling for unsupported `ioctl` commands in the EFI framebuffer 2025-11-24 18:56:29 +08:00
Zhe Tang 0043cc7504 Implement the color map and the related `ioctl` handlers for the EFI framebuffer 2025-11-24 18:56:29 +08:00
Zhe Tang d027b01f3b Implement the `ioctl` handlers for getting and setting information for the EFI framebuffer. 2025-11-24 18:56:29 +08:00
Zhe Tang 3fd1ecd96f Add a helper method to retrieve the line size of the framebuffer 2025-11-24 18:56:29 +08:00
Zhe Tang 49068f23d8 Incorporate Linux-compatible data structures for the framebuffer's `ioctl` 2025-11-24 18:56:29 +08:00
Zhe Tang 93eaa7c247 Support `lseek`, `read`/`write` with offsets for the EFI framebuffer 2025-11-24 18:56:29 +08:00
Zhe Tang 26dc88dc80 Register `/dev/fb0` as a character device 2025-11-24 18:56:29 +08:00
Zhe Tang c33c37b593 Add the basic framework of /dev/fb0
Co-authored-by: Wei Zhang <ruoyuan.zw@antgroup.com>
2025-11-24 18:56:29 +08:00
Qingsong Chen 0ed3f86709 Fix device id of ext2 inode 2025-11-24 18:55:01 +08:00
Wang Siyuan 449939a32b Move the executable `PathOrInode` to `ProcessVm` 2025-11-24 12:34:42 +08:00
Wang Siyuan 423053f2e6 Store the executable `PathOrInode` in `Process` to support `execveat` memfd files with `MFD_CLOEXEC` 2025-11-24 12:34:42 +08:00
Wang Siyuan 7bd8af411b Support `execveat` memfd files without `MFD_CLOEXEC` 2025-11-24 12:34:42 +08:00
Wang Siyuan 71632a51b5 `ProgramToLoad` only needs a `elf_inode: Arc<dyn Inode>` instead of a `Path` 2025-11-24 12:34:42 +08:00