Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/amd64/atpic_vector.S
Show All 38 Lines | |||||
#include "assym.inc" | #include "assym.inc" | ||||
#include <machine/asmacros.h> | #include <machine/asmacros.h> | ||||
/* | /* | ||||
* Macros for interrupt entry, call to handler, and exit. | * Macros for interrupt entry, call to handler, and exit. | ||||
*/ | */ | ||||
.macro INTR irq_num, vec_name | .macro INTR irq_num, vec_name | ||||
INTR_HANDLER \vec_name | INTR_HANDLER \vec_name | ||||
FAKE_MCOUNT(TF_RIP(%rsp)) | |||||
movq %rsp, %rsi | movq %rsp, %rsi | ||||
movl $\irq_num, %edi /* pass the IRQ */ | movl $\irq_num, %edi /* pass the IRQ */ | ||||
call atpic_handle_intr | call atpic_handle_intr | ||||
MEXITCOUNT | |||||
jmp doreti | jmp doreti | ||||
.endm | .endm | ||||
INTR 0, atpic_intr0 | INTR 0, atpic_intr0 | ||||
INTR 1, atpic_intr1 | INTR 1, atpic_intr1 | ||||
INTR 2, atpic_intr2 | INTR 2, atpic_intr2 | ||||
INTR 3, atpic_intr3 | INTR 3, atpic_intr3 | ||||
INTR 4, atpic_intr4 | INTR 4, atpic_intr4 | ||||
Show All 11 Lines |