Ignore:
Timestamp:
Jun 29, 2017, 9:54:01 AM (5 years ago)
Author:
max@…
Message:

Parse the IOAPIC structure in ACPI, map the IOAPIC, and enable
the keyboard interrupt. Its queue is not flushed yet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/hal/x86_64/core/hal_kentry.S

    r86 r89  
    3636        .globl  hal_trap_entry
    3737        .globl  hal_timer_intr
     38        .globl  hal_keyboard_intr
    3839        .type   hal_trap_entry, @function
    3940        .type   hal_timer_intr, @function
     41        .type   hal_keyboard_intr, @function
    4042
    4143        /*
     
    119121
    120122        /*
    121          * LAPIC interrupts.
     123         * APIC interrupts.
    122124         */
    123125ASM_ENTRY(x86_lapic_spurious)
     
    131133        movq    %rsp,%rdi
    132134        call    hal_timer_intr
     135
     136        movq    lapic_va(%rip),%rax
     137        movl    $0,LAPIC_EOI(%rax)
     138
     139        INTR_RESTORE_REGS
     140        addq    $16,%rsp
     141        iretq
     142
     143ASM_ENTRY(x86_ioapic_keyboard)
     144        pushq   $0
     145        pushq   $T_ASTFLT
     146        INTR_SAVE_REGS
     147
     148        movq    %rsp,%rdi
     149        call    hal_keyboard_intr
    133150
    134151        movq    lapic_va(%rip),%rax
     
    182199        .quad   x86_lapic_spurious
    183200        .quad   x86_lapic_timer
    184 
     201        .quad   x86_ioapic_keyboard
     202
Note: See TracChangeset for help on using the changeset viewer.