Commit Graph

119 Commits

Author SHA1 Message Date
Chen Chengjun dcd22e0e20 Rename FsResolver to PathResolver and update all usages 2026-01-14 08:22:29 +00:00
Zhang Junyang 71681dd947 Refactor DMA APIs 2025-12-31 19:40:11 -08:00
Chen Chengjun de6ded3412 Fix the wrong behavior of TCSETSW flag 2025-12-11 11:02:16 +08:00
Zhang Junyang ca417f1264 Format with the new `rustfmt` 2025-12-09 16:26:02 +08:00
Cautreoxit dbba54b02c Workaround unrecognized input event types by writing all zeros 2025-12-09 10:20:57 +08:00
jiangjianfeng 3235175fcf Support pty packet mode 2025-12-09 09:36:38 +08:00
Zhang Junyang c7a2c81366 Miscellaneous clippy fixes for Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
Cautreoxit 4f71f4bbe6 Add some ioctls for evdev 2025-12-07 17:30:04 +08:00
Ruihan Li 4e76ed5fea Migrate to new ioctl infrastructure 2025-12-07 12:01:05 +08:00
Ruihan Li 04ef99cb82 Migrate existing code to use `VmIo` 2025-12-07 12:01:05 +08:00
Ruihan Li 13afca6441 Add `i8042.exist` to override ACPI flags 2025-12-07 09:52:42 +08:00
jiangjianfeng 83c158e3b5 Make device Inode behave like pointer 2025-12-04 20:55:01 +08:00
jiangjianfeng d8a4b3076f Support looking up block devices 2025-12-04 20:55:01 +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 e048a76afc Make the semantics of tty-related devices correct 2025-11-28 18:18:28 +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
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 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
Cautreoxit 869e04f6bb Add evdev module 2025-11-24 11:42:36 +08:00
Qingsong Chen 76c7752130 Separate inode and opened file types for BlockFile 2025-11-20 19:40:40 +08:00
Qingsong Chen e407dc7ce9 Refactor mem/misc char devices 2025-11-20 19:40:40 +08:00
Qingsong Chen 9e2f5adf9b Add partition support for block device 2025-11-20 10:43:24 +08:00
Ruihan Li 24502ac3d4 Add `InodeIo` to simplify `FileIo` and `Inode` 2025-11-19 10:33:51 +08:00
Ruihan Li 08dfe533c4 Use `Box<FileIo>` instead of `Arc<FileIo>` 2025-11-19 10:33:51 +08:00
jiangjianfeng 63354d670e Support mknod for /dev/full and /dev/tty0 2025-11-18 17:32:34 +08:00
Ruihan Li 7ebee6d8a1 Fix TTY's HUP events 2025-11-18 14:49:19 +08:00
jiangjianfeng 2f568d5e73 Read pty master should block if no pty slave is opened 2025-11-18 09:48:32 +08:00
Tao Su 83176020f2 Invoke get_report() using private memory 2025-11-17 15:26:45 +08:00
Qingsong Chen bb48b3814f Move DeviceId to separate device-id crate 2025-11-13 11:04:30 +08:00
jiangjianfeng cef527f372 Open /dev/tty should also increase pty slave count 2025-11-07 20:22:16 +08:00
jiangjianfeng 49485058ec Correct the device major ID for pty slave 2025-11-07 20:22:16 +08:00
jiangjianfeng a41db92b4e Support nonblocking mode for tty and pty 2025-11-07 20:22:16 +08:00