From 5e12467c860372dfa10323365fb0df9db79c8f9b Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Thu, 31 Jul 2025 22:33:56 +0200 Subject: APIC/ACPI/keyboard stuff. I now get interrupts when a key is pressed --- src/nasty.S | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/nasty.S') diff --git a/src/nasty.S b/src/nasty.S index f3d958e..997fb6c 100644 --- a/src/nasty.S +++ b/src/nasty.S @@ -79,7 +79,8 @@ get_cr3: ISR(28) \ ISR(29) \ ISR(30) \ - ISR(31) + ISR(31) \ + ISR(32) .extern interrupt_handler #define ISR(n) \ @@ -147,3 +148,19 @@ dump_regs: mov [rdi+192], fs mov [rdi+194], gs ret + +.global get_msr +get_msr: + mov ecx, edi + mov rax, 0 /* Not sure if this and the next line are needed. My assembly skills are lacking. */ + mov rdx, 0 + rdmsr + shl rdx, 32 + or rax, rdx + ret + +.global in_uint8 +in_uint8: + mov dx, di + in ax, dx + ret -- cgit v1.2.3