Commit Graph

242 Commits

Author SHA1 Message Date
jiangjianfeng 34ab63addb Manage package metadata at workspace level 2026-01-04 10:51:36 -08:00
Ruihan Li eb83a38d12 Don't panic in LoongArch64 VirtIO MMIO probe 2026-01-03 11:16:36 -08:00
jiangjianfeng bc230b24e1 Fix doc warnings 2026-01-02 11:26:43 -08:00
Zhang Junyang 71681dd947 Refactor DMA APIs 2025-12-31 19:40:11 -08:00
Zhang Junyang 0c30edb5da Add a `Split` trait for `KVirtArea` and `Segment` 2025-12-31 19:40:11 -08:00
Marsman1996 b46a02463b Replace RwLock with RwMutex for child node management in SysTree 2025-12-26 14:08:17 +08:00
zjp 9c4f644bd9 Replace caps_lock's load+store by fetch_xor
It's a bit less efficient, but solves atomic violation.
2025-12-20 20:35:49 +08:00
Zhang Junyang c7a2c81366 Miscellaneous clippy fixes for Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang 69327eee8d Upgrade to Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang 6d2679852f Fix `if let` chains that can be collapsed 2025-12-09 09:23:58 +08:00
Zhang Junyang fc9f47a019 Fix manual implementations of `.is_multiple_of()` 2025-12-09 09:23:58 +08:00
Zhang Junyang 559ce94aba Fix elided lifetimes in return values 2025-12-09 09:23:58 +08:00
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
Ruihan Li 6ac45fe406 Add methods to allow overlapping I/O ports 2025-12-08 11:12:05 +08:00
Cautreoxit 4f71f4bbe6 Add some ioctls for evdev 2025-12-07 17:30:04 +08:00
Ruihan Li 13afca6441 Add `i8042.exist` to override ACPI flags 2025-12-07 09:52:42 +08:00
Ruihan Li 04a2290812 Fix format issues like "initproc" and others 2025-12-07 09:52:42 +08:00
Hsy-Intel 2c9a11e43e Reduce #VE, disable SEPT #VE and enable notification for zero step attack detection in TDX environment 2025-12-04 09:48:17 +08:00
Chen Chengjun d58ae3a782 Implement controller framework for cgroup subsystem 2025-12-03 11:24:36 +08:00
Chen Chengjun dda8161bef Adjust the attributes-related APIs of SysNode 2025-12-03 11:24:36 +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
Chen Chengjun e048a76afc Make the semantics of tty-related devices correct 2025-11-28 18:18:28 +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 f026bf38d8 Fix bio request end sector calculation 2025-11-28 11:22:56 +08:00
Ruihan Li 0fd2066ac3 Fix potential atomic mode breaks 2025-11-26 17:35:42 +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 0043cc7504 Implement the color map and the related `ioctl` handlers 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 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 7876b7127d Fix virtio-block request ID exhaustion panics with SyncIdAlloc 2025-11-20 10:43:24 +08:00
Qingsong Chen 9e2f5adf9b Add partition support for block device 2025-11-20 10:43:24 +08:00
Ruihan Li 668876aeee Check the existence of i8042 and RTC CMOS 2025-11-19 15:39:49 +08:00
Ruihan Li 9a8e6fd372 Simplify the code in `aster-time` 2025-11-19 15:39:49 +08:00
Ruihan Li bbe0e3f3bb Reimplement `RtcCmos` 2025-11-19 15:39:49 +08:00
Chen Chengjun 77fb73bdd7 Enable the process management for cgroup 2025-11-07 11:47:23 +08:00
Ruihan Li d487e42b7c Reunify the style of defining `arch` modules 2025-10-30 17:04:45 +08:00
Zejun Zhao 3353e53577 Add VirtIO device probing code on RISC-V platforms 2025-10-30 10:47:53 +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
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
Zejun Zhao fe90e3051b Add fallback for RTC device 2025-10-27 09:50:46 +08:00
Zejun Zhao 8251d48bf2 Add RISC-V PLIC support 2025-10-24 16:28:41 +08:00