Ignore:
Timestamp:
Jul 4, 2017, 12:05:39 PM (7 years ago)
Author:
max@…
Message:

update

File:
1 edited

Legend:

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

    r89 r138  
    156156        iretq
    157157
     158        /*
     159         * The XCU interrupt entries.
     160         */
     161
     162#define XCU_WTI_ENTRY(n)                \
     163ASM_ENTRY(x86_xcu_wti_ ## n)            \
     164        pushq   $0              ;       \
     165        pushq   $T_ASTFLT       ;       \
     166        INTR_SAVE_REGS          ;       \
     167                                ;       \
     168        movq    $(APIC_FAKE_STATUS_WTI|n),CPUVAR(APIC_FAKE_STATUS);     \
     169        call    hal_do_interrupt;       \
     170                                ;       \
     171        INTR_RESTORE_REGS       ;       \
     172        addq    $16,%rsp        ;       \
     173        iretq
     174
     175#define XCU_HWI_ENTRY(n)                \
     176ASM_ENTRY(x86_xcu_hwi_ ## n)            \
     177        pushq   $0              ;       \
     178        pushq   $T_ASTFLT       ;       \
     179        INTR_SAVE_REGS          ;       \
     180                                ;       \
     181        movq    $(APIC_FAKE_STATUS_HWI|n),CPUVAR(APIC_FAKE_STATUS);     \
     182        call    hal_do_interrupt;       \
     183                                ;       \
     184        INTR_RESTORE_REGS       ;       \
     185        addq    $16,%rsp        ;       \
     186        iretq
     187
     188#define XCU_PTI_ENTRY(n)                \
     189ASM_ENTRY(x86_xcu_pti_ ## n)            \
     190        pushq   $0              ;       \
     191        pushq   $T_ASTFLT       ;       \
     192        INTR_SAVE_REGS          ;       \
     193                                ;       \
     194        movq    $(APIC_FAKE_STATUS_PTI|n),CPUVAR(APIC_FAKE_STATUS);     \
     195        call    hal_do_interrupt;       \
     196                                ;       \
     197        INTR_RESTORE_REGS       ;       \
     198        addq    $16,%rsp        ;       \
     199        iretq
     200
     201XCU_WTI_ENTRY(0)
     202XCU_HWI_ENTRY(0)
     203XCU_PTI_ENTRY(0)
     204
    158205/*
    159206 * Arguments pushed on the stack:
     
    198245x86_intrs:
    199246        .quad   x86_lapic_spurious
     247        .quad   x86_xcu_wti_0
     248        .quad   x86_xcu_hwi_0
     249        .quad   x86_xcu_pti_0
     250
    200251        .quad   x86_lapic_timer
    201252        .quad   x86_ioapic_keyboard
Note: See TracChangeset for help on using the changeset viewer.