diff options
Diffstat (limited to 'Kernel/HALKit/AMD64/HalInterruptAPI.asm')
| -rw-r--r-- | Kernel/HALKit/AMD64/HalInterruptAPI.asm | 45 |
1 files changed, 8 insertions, 37 deletions
diff --git a/Kernel/HALKit/AMD64/HalInterruptAPI.asm b/Kernel/HALKit/AMD64/HalInterruptAPI.asm index 016c9cd8..4e9ace6f 100644 --- a/Kernel/HALKit/AMD64/HalInterruptAPI.asm +++ b/Kernel/HALKit/AMD64/HalInterruptAPI.asm @@ -121,53 +121,24 @@ IntNormal 31 [extern hal_apic_acknowledge] -__NEW_INT_32: +%define cAPICAddress 0xFEE00000 + +__NEW_INT_34: ;; make this active, SMP works again. -%if 0 push rax - push rcx - push rdx - push rbx - push rbp - push rsi - push rdi - push r8 - push r9 - push r10 - push r11 - push r12 - push r13 - push r14 - push r15 - - jmp hal_apic_acknowledge - - pop r15 - pop r14 - pop r13 - pop r12 - pop r11 - pop r10 - pop r9 - pop r8 - pop rdi - pop rsi - pop rbp - pop rbx - pop rdx - pop rcx + call hal_apic_acknowledge pop rax mov rax, 0 ;; tell there local apic that we're done. - mov [0xFEE00000 + 0xB0], rax ; LAPIC_EOI -%endif + mov [cAPICAddress + 0xB0], rax ; send end of interrupt. + iretq -IntNormal 33 +IntNormal 32 -IntNormal 34 +IntNormal 33 IntNormal 35 IntNormal 36 IntNormal 37 |
