sys: Implement LAPIC and IOAPIC support, add PS/2 keyboard driver
- Added LAPIC implementation in `apic.c` and `apic.h`, including initialization and basic operations. - Introduced IOAPIC (I/O Advanced Programmable Interrupt Controller) support in `ioapic.c` and `ioapic.h`, parsing the ACPI MADT to locate IOAPICs and manage redirection entries. - Implemented PS/2 keyboard driver in `ps2.c` and `ps2.h`, handling keyboard interrupts and translating scancodes to ASCII. - Attempted to make usermode work again (it failed, coming soon) - Cleaned up comments in `time.c` and `render.c` for clarity. Signed-off-by: kaguya <vpshinomiya@protonmail.com>
This commit is contained in:
@@ -3,8 +3,10 @@
|
||||
syscall_entry:
|
||||
swapgs
|
||||
|
||||
push %rcx
|
||||
push %r11
|
||||
mov %rsp, %gs:0x10 # save user rsp for per cpu
|
||||
|
||||
push %rcx # save user rip
|
||||
push %r11 # save rflags
|
||||
|
||||
# Save original args before we clobber them
|
||||
push %rdi # orig rdi (arg1)
|
||||
|
||||
Reference in New Issue
Block a user