Commit Graph

30 Commits

Author SHA1 Message Date
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
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
Qingsong Chen f6a55e0af3 Handle 8-bit/24-bit ANSI color codes for framebuffer 2025-09-17 22:43:22 +08:00
Zhang Junyang eb69aa4fb9 Unify address and size APIs for memory objects 2025-09-02 17:53:55 +08:00
Ruihan Li a5e927b675 Make the framebuffer backspace work 2025-07-14 20:24:29 +08:00
Ruihan Li b1079c2bc5 Add support for font setting 2025-07-14 20:24:29 +08:00
Ruihan Li 706f62e299 Support ANSI escape sequences 2025-07-03 17:47:56 +08:00
Ruihan Li abbf152d74 Re-enable framebuffer 2025-07-03 17:47:56 +08:00
Qingsong Chen 5e3e23bf7c Add basic i8042 keyboard support 2025-06-27 12:56:55 +08:00
Ruihan Li 67065835ef Redefine the TTY driver interface 2025-06-09 13:10:34 +08:00
Qingsong Chen 88f08de3af Refactor framebuffer 2025-04-29 19:48:45 +08:00
Yuke Peng 1f03955f51 Change IoMem directory 2025-03-22 17:38:30 +08:00
jiangjianfeng 55713b88c4 Remove unused dependencies 2025-02-10 10:36:56 +08:00
Ruihan Li 95bbc7f367 Enforce `#[expect(lint)]` 2025-02-08 15:10:04 +08:00
Ruihan Li 0dca168717 Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
Zhang Junyang 397ce9652f Refactor boot modules to make heap allocation explicit 2025-01-02 10:41:51 +08:00
Zhang Junyang 51349a3da1 Heapless memory region initialization 2025-01-02 10:41:51 +08:00
Chen Chengjun 0cb2ea562e Inject the logger for Asterinas 2024-12-04 13:24:06 +08:00
Marsman1996 6d3bb5a9d0 Fix compile error caused by updated `Step::steps_between` in Rust 2024-12-01 18:56:28 +08:00
Zhang Junyang 9a79ecbcbe Clean up the frame buffer state in `ostd::mm` 2024-09-21 15:38:15 +08:00
Cautreoxit c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00
Jianfeng Jiang 59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00
Zhang Junyang 14e1b1a9fc Rename various concepts related to memory management 2024-06-03 22:16:02 +08:00
Chen Chengjun c02eacd50c Use deny(unsafe_code) instead of forbid(unsafe_code) 2024-05-31 16:05:58 +08:00
Zhang Junyang 52f07458f7 Understanding memory space and move higher the stack 2024-03-19 16:19:54 +08:00
Zhang Junyang f415585dff Fix workspace clippy usage 2024-02-28 16:30:48 +08:00
Zhang Junyang e3c227ae06 Refactor project structure 2024-02-28 16:30:48 +08:00