Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/exception.S
Show First 20 Lines • Show All 230 Lines • ▼ Show 20 Lines | ENTRY(handle_el1h_irq) | ||||
KMSAN_ENTER | KMSAN_ENTER | ||||
mov x0, sp | mov x0, sp | ||||
bl intr_irq_handler | bl intr_irq_handler | ||||
KMSAN_LEAVE | KMSAN_LEAVE | ||||
restore_registers 1 | restore_registers 1 | ||||
ERET | ERET | ||||
END(handle_el1h_irq) | END(handle_el1h_irq) | ||||
ENTRY(handle_el1h_serror) | |||||
save_registers 1 | |||||
KMSAN_ENTER | |||||
mov x0, sp | |||||
1: bl do_serror | |||||
b 1b | |||||
KMSAN_LEAVE | |||||
END(handle_el1h_serror) | |||||
ENTRY(handle_el0_sync) | ENTRY(handle_el0_sync) | ||||
save_registers 0 | save_registers 0 | ||||
KMSAN_ENTER | KMSAN_ENTER | ||||
ldr x0, [x18, #PC_CURTHREAD] | ldr x0, [x18, #PC_CURTHREAD] | ||||
mov x1, sp | mov x1, sp | ||||
str x1, [x0, #TD_FRAME] | str x1, [x0, #TD_FRAME] | ||||
bl do_el0_sync | bl do_el0_sync | ||||
do_ast | do_ast | ||||
KMSAN_LEAVE | KMSAN_LEAVE | ||||
restore_registers 0 | restore_registers 0 | ||||
ERET | ERET | ||||
END(handle_el0_sync) | END(handle_el0_sync) | ||||
ENTRY(handle_el0_irq) | ENTRY(handle_el0_irq) | ||||
save_registers 0 | save_registers 0 | ||||
KMSAN_ENTER | KMSAN_ENTER | ||||
mov x0, sp | mov x0, sp | ||||
bl intr_irq_handler | bl intr_irq_handler | ||||
do_ast | do_ast | ||||
KMSAN_LEAVE | KMSAN_LEAVE | ||||
restore_registers 0 | restore_registers 0 | ||||
ERET | ERET | ||||
END(handle_el0_irq) | END(handle_el0_irq) | ||||
ENTRY(handle_serror) | ENTRY(handle_el0_serror) | ||||
save_registers 0 | save_registers 0 | ||||
KMSAN_ENTER | KMSAN_ENTER | ||||
mov x0, sp | mov x0, sp | ||||
1: bl do_serror | 1: bl do_serror | ||||
b 1b | b 1b | ||||
KMSAN_LEAVE | KMSAN_LEAVE | ||||
END(handle_serror) | END(handle_el0_serror) | ||||
ENTRY(handle_empty_exception) | ENTRY(handle_empty_exception) | ||||
save_registers 0 | save_registers 0 | ||||
KMSAN_ENTER | KMSAN_ENTER | ||||
mov x0, sp | mov x0, sp | ||||
1: bl unhandled_exception | 1: bl unhandled_exception | ||||
b 1b | b 1b | ||||
KMSAN_LEAVE | KMSAN_LEAVE | ||||
Show All 19 Lines | exception_vectors: | ||||
vempty 1 /* Synchronous EL1t */ | vempty 1 /* Synchronous EL1t */ | ||||
vempty 1 /* IRQ EL1t */ | vempty 1 /* IRQ EL1t */ | ||||
vempty 1 /* FIQ EL1t */ | vempty 1 /* FIQ EL1t */ | ||||
vempty 1 /* Error EL1t */ | vempty 1 /* Error EL1t */ | ||||
vector el1h_sync 1 /* Synchronous EL1h */ | vector el1h_sync 1 /* Synchronous EL1h */ | ||||
vector el1h_irq 1 /* IRQ EL1h */ | vector el1h_irq 1 /* IRQ EL1h */ | ||||
vempty 1 /* FIQ EL1h */ | vempty 1 /* FIQ EL1h */ | ||||
vector serror 1 /* Error EL1h */ | vector el1h_serror 1 /* Error EL1h */ | ||||
vector el0_sync 0 /* Synchronous 64-bit EL0 */ | vector el0_sync 0 /* Synchronous 64-bit EL0 */ | ||||
vector el0_irq 0 /* IRQ 64-bit EL0 */ | vector el0_irq 0 /* IRQ 64-bit EL0 */ | ||||
vempty 0 /* FIQ 64-bit EL0 */ | vempty 0 /* FIQ 64-bit EL0 */ | ||||
vector serror 0 /* Error 64-bit EL0 */ | vector el0_serror 0 /* Error 64-bit EL0 */ | ||||
vector el0_sync 0 /* Synchronous 32-bit EL0 */ | vector el0_sync 0 /* Synchronous 32-bit EL0 */ | ||||
vector el0_irq 0 /* IRQ 32-bit EL0 */ | vector el0_irq 0 /* IRQ 32-bit EL0 */ | ||||
vempty 0 /* FIQ 32-bit EL0 */ | vempty 0 /* FIQ 32-bit EL0 */ | ||||
vector serror 0 /* Error 32-bit EL0 */ | vector el0_serror 0 /* Error 32-bit EL0 */ | ||||