From e43fdcc77e1e7c6789bc726a452097b16e5050bd Mon Sep 17 00:00:00 2001 From: Timon Kruiper Date: Tue, 10 May 2022 22:43:53 +0200 Subject: [PATCH] Kernel: Add more exception handlers for aarch64 Kernel The aarch64 Kernel runs with SP_EL0, thus exceptions that happen can now be handled. --- Kernel/Arch/aarch64/vector_table.S | 32 ++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/Kernel/Arch/aarch64/vector_table.S b/Kernel/Arch/aarch64/vector_table.S index 826b38ba56..dde2f602c0 100644 --- a/Kernel/Arch/aarch64/vector_table.S +++ b/Kernel/Arch/aarch64/vector_table.S @@ -106,10 +106,10 @@ .align 11 vector_table_el1: // Exceptions taken from Current EL, with SP_EL0 - unimplemented_entry - unimplemented_entry - unimplemented_entry - unimplemented_entry + table_entry synchronous_current_elsp_el0 + table_entry irq_current_elsp_el0 + table_entry fiq_current_elsp_el0 + table_entry system_error_current_elsp_el0 // Exceptions taken from Current EL, with SP_ELx, x>0 table_entry synchronous_current_elsp_elx @@ -152,3 +152,27 @@ system_error_current_elsp_elx: bl exception_common restore_previous_context eret + +synchronous_current_elsp_el0: + save_current_context + bl exception_common + restore_previous_context + eret + +irq_current_elsp_el0: + save_current_context + bl exception_common + restore_previous_context + eret + +fiq_current_elsp_el0: + save_current_context + bl exception_common + restore_previous_context + eret + +system_error_current_elsp_el0: + save_current_context + bl exception_common + restore_previous_context + eret