git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7556
6f19259b-4bc3-4df7-8a09-
765794883524
[Sources.IA32]\r
Ia32/CpuInterrupt.asm |INTEL\r
Ia32/CpuInterrupt.asm |MSFT\r
[Sources.IA32]\r
Ia32/CpuInterrupt.asm |INTEL\r
Ia32/CpuInterrupt.asm |MSFT\r
- Ia32/CpuInterrupt.S |GCC ## It can be compiled and linked now. But its logic has not been assured yet.\r
+ Ia32/CpuInterrupt.S |GCC\r
\r
[Sources.X64]\r
X64/CpuInterrupt.asm | INTEL\r
\r
[Sources.X64]\r
X64/CpuInterrupt.asm | INTEL\r
gEfiLegacy8259ProtocolGuid\r
\r
[Depex]\r
gEfiLegacy8259ProtocolGuid\r
\r
[Depex]\r
- gEfiLegacy8259ProtocolGuid
\ No newline at end of file
+ gEfiLegacy8259ProtocolGuid\r
.globl ASM_PFX(SystemTimerHandler)\r
ASM_PFX(SystemTimerHandler):\r
pushl $0\r
.globl ASM_PFX(SystemTimerHandler)\r
ASM_PFX(SystemTimerHandler):\r
pushl $0\r
+ pushl $ASM_PFX(mTimerVector)\r
JmpCommonIdtEntry\r
\r
commonIdtEntry:\r
JmpCommonIdtEntry\r
\r
commonIdtEntry:\r
push %eax\r
cmpl $32,%eax\r
jb CallException\r
push %eax\r
cmpl $32,%eax\r
jb CallException\r
+ call ASM_PFX(TimerHandler)\r
jmp ExceptionDone\r
CallException:\r
jmp ExceptionDone\r
CallException:\r
- call ExceptionHandler\r
+ call ASM_PFX(ExceptionHandler)\r
ExceptionDone:\r
addl $8,%esp\r
\r
ExceptionDone:\r
addl $8,%esp\r
\r
GDT_BASE:\r
# null descriptor\r
NULL_SEL = .-GDT_BASE\r
.short 0 # limit 15:0\r
.short 0 # base 15:0\r
GDT_BASE:\r
# null descriptor\r
NULL_SEL = .-GDT_BASE\r
.short 0 # limit 15:0\r
.short 0 # base 15:0\r
- .byte 0 # base 23:16\r
- .byte 0 # type\r
- .byte 0 # limit 19:16, flags\r
- .byte 0 # base 31:24\r
+ .byte 0 # base 23:16\r
+ .byte 0 # type\r
+ .byte 0 # limit 19:16, flags\r
+ .byte 0 # base 31:24\r
\r
# linear data segment descriptor\r
LINEAR_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
\r
# linear data segment descriptor\r
LINEAR_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
- .byte 0x092 # present, ring 0, data, expand-up, writable\r
- .byte 0x0CF # page-granular, 32-bit\r
+ .byte 0x092 # present, ring 0, data, expand-up, writable\r
+ .byte 0x0CF # page-granular, 32-bit\r
.byte 0\r
\r
# linear code segment descriptor\r
LINEAR_CODE_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
.byte 0\r
\r
# linear code segment descriptor\r
LINEAR_CODE_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
- .byte 0x09A # present, ring 0, data, expand-up, writable\r
- .byte 0x0CF # page-granular, 32-bit\r
+ .byte 0x09A # present, ring 0, data, expand-up, writable\r
+ .byte 0x0CF # page-granular, 32-bit\r
.byte 0\r
\r
# system data segment descriptor\r
SYS_DATA_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
.byte 0\r
\r
# system data segment descriptor\r
SYS_DATA_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
- .byte 0x092 # present, ring 0, data, expand-up, writable\r
- .byte 0x0CF # page-granular, 32-bit\r
+ .byte 0x092 # present, ring 0, data, expand-up, writable\r
+ .byte 0x0CF # page-granular, 32-bit\r
.byte 0\r
\r
# system code segment descriptor\r
SYS_CODE_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
.byte 0\r
\r
# system code segment descriptor\r
SYS_CODE_SEL = .-GDT_BASE\r
.short 0x0FFFF # limit 0xFFFFF\r
- .byte 0x09A # present, ring 0, data, expand-up, writable\r
- .byte 0x0CF # page-granular, 32-bit\r
+ .byte 0x09A # present, ring 0, data, expand-up, writable\r
+ .byte 0x0CF # page-granular, 32-bit\r
.byte 0\r
\r
# spare segment descriptor\r
.byte 0\r
\r
# spare segment descriptor\r
.short 0 # limit 0xFFFFF\r
.short 0 # base 0\r
.byte 0\r
.short 0 # limit 0xFFFFF\r
.short 0 # base 0\r
.byte 0\r
- .byte 0 # present, ring 0, data, expand-up, writable\r
- .byte 0 # page-granular, 32-bit\r
+ .byte 0 # present, ring 0, data, expand-up, writable\r
+ .byte 0 # page-granular, 32-bit\r
.byte 0\r
\r
# spare segment descriptor\r
.byte 0\r
\r
# spare segment descriptor\r
.short 0 # limit 0xFFFFF\r
.short 0 # base 0\r
.byte 0\r
.short 0 # limit 0xFFFFF\r
.short 0 # base 0\r
.byte 0\r
- .byte 0 # present, ring 0, data, expand-up, writable\r
- .byte 0 # page-granular, 32-bit\r
+ .byte 0 # present, ring 0, data, expand-up, writable\r
+ .byte 0 # page-granular, 32-bit\r
.byte 0\r
\r
# spare segment descriptor\r
.byte 0\r
\r
# spare segment descriptor\r
.short 0 # limit 0xFFFFF\r
.short 0 # base 0\r
.byte 0\r
.short 0 # limit 0xFFFFF\r
.short 0 # base 0\r
.byte 0\r
- .byte 0 # present, ring 0, data, expand-up, writable\r
- .byte 0 # page-granular, 32-bit\r
+ .byte 0 # present, ring 0, data, expand-up, writable\r
+ .byte 0 # page-granular, 32-bit\r
\r
\r
idtr: .short IDT_END - IDT_BASE - 1 # IDT limit\r
\r
\r
idtr: .short IDT_END - IDT_BASE - 1 # IDT limit\r
- .long 0 # (IDT base gets set above)\r
+ .long 0 # (IDT base gets set above)\r
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
# interrupt descriptor table (IDT)\r
#\r
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
# interrupt descriptor table (IDT)\r
#\r
#idt_tag .byte "IDT",0 \r
.align 4\r
\r
#idt_tag .byte "IDT",0 \r
.align 4\r
\r
IDT_BASE:\r
# divide by zero (INT 0)\r
DIV_ZERO_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IDT_BASE:\r
# divide by zero (INT 0)\r
DIV_ZERO_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
DEBUG_EXCEPT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
DEBUG_EXCEPT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
NMI_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
NMI_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
BREAKPOINT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
BREAKPOINT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
OVERFLOW_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
OVERFLOW_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
BOUNDS_CHECK_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
BOUNDS_CHECK_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
INVALID_OPCODE_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
INVALID_OPCODE_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
DEV_NOT_AVAIL_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
DEV_NOT_AVAIL_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
DOUBLE_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
DOUBLE_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
RSVD_INTR_SEL1 = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
RSVD_INTR_SEL1 = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
INVALID_TSS_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
INVALID_TSS_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
SEG_NOT_PRESENT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
SEG_NOT_PRESENT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
STACK_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
STACK_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
GP_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
GP_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
PAGE_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
PAGE_FAULT_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
RSVD_INTR_SEL2 = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
RSVD_INTR_SEL2 = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
FLT_POINT_ERR_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
FLT_POINT_ERR_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
ALIGNMENT_CHECK_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
ALIGNMENT_CHECK_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
MACHINE_CHECK_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
MACHINE_CHECK_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
SIMD_EXCEPTION_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
SIMD_EXCEPTION_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.rept (32 - 20)\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.rept (32 - 20)\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
.endr\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
.endr\r
IRQ0_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ0_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ1_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ1_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ2_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ2_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ3_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ3_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ4_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ4_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ5_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ5_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ6_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ6_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ7_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ7_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ8_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ8_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ9_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ9_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ10_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ10_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ11_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ11_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ12_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ12_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ13_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ13_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ14_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ14_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
IRQ15_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
IRQ15_SEL = .-IDT_BASE\r
.short 0 # offset 15:0\r
.short SYS_CODE_SEL # selector 15:0\r
- .byte 0 # 0 for interrupt gate\r
+ .byte 0 # 0 for interrupt gate\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r
.byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present\r
.short 0 # offset 31:16\r
\r