diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-07-10 01:13:08 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-07-10 01:13:08 +0200 |
| commit | 5f6549b7d46118ba416faa170ff088d98c9144f0 (patch) | |
| tree | 23d19bc039a547f27275065d96c52551d8ca989f /Kernel/HALKit/AMD64/HalInterruptAPI.asm | |
| parent | dfaf137915094e7ba72f7d7f1f57dc5158d1b6ab (diff) | |
MHR-36: See below.
- Implement MSR functions has_msr, get_msr, set_msr.
- Moved SMP interrupt to interrupt 34 in AMD64.
- Fix syntax error in STB.hxx.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
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 |
