108 lines
2.1 KiB
ArmAsm
108 lines
2.1 KiB
ArmAsm
|
.section .text
|
||
|
|
||
|
isr:
|
||
|
pushal
|
||
|
pushl %esp
|
||
|
add $32, (%esp)
|
||
|
call interrupt_handler
|
||
|
add $4, %esp
|
||
|
popal
|
||
|
iret
|
||
|
|
||
|
.global isr_divide:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $0 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_debug:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $1 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_nmi:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $2 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_breakpoint:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $3 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_overflow:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $4 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_bound_range_exceeded:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $5 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_invalid_opcode:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $6 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_device_not_available:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $7 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_double_fault:
|
||
|
pushl $8 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_coprocessor_segment_overrun:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $9 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_invalid_tss:
|
||
|
pushl $10 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_segment_not_present:
|
||
|
pushl $11 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_stack_segment_fault:
|
||
|
pushl $12 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_general_protection:
|
||
|
pushl $13 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_page_fault:
|
||
|
pushl $14 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_fpu_floating_point_error:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $16 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_alignment_check:
|
||
|
pushl $17 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_machine_check:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $18 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_simd_floating_point_exception:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $19 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_virtualization_exception:
|
||
|
pushl $0 ; error code padding
|
||
|
pushl $20 ; int vector
|
||
|
jmp isr
|
||
|
|
||
|
.global isr_control_protection_exception:
|
||
|
pushl $21 ; int vector
|
||
|
jmp isr
|