diff options
author | Timon Kruiper <timonkruiper@gmail.com> | 2023-01-30 15:42:39 +0100 |
---|---|---|
committer | Jelle Raaijmakers <jelle@gmta.nl> | 2023-02-15 22:53:19 +0100 |
commit | d5262a540cf7df1d1267afb81caad19f74d633f1 (patch) | |
tree | 8f74e690fe29864acfef9e37d754310d7a005117 /Kernel/Arch/aarch64/Registers.h | |
parent | 4b0f8e9a20e5193684e94f23494d2a510e5fcf47 (diff) | |
download | serenity-d5262a540cf7df1d1267afb81caad19f74d633f1.zip |
Kernel/aarch64: Handle SVC exception by calling syscall_handler
The SVC (supervisor call) instruction is used in userland to do
syscalls, and this commit adds the handling of syscalls to
Interrupts.cpp.
Diffstat (limited to 'Kernel/Arch/aarch64/Registers.h')
-rw-r--r-- | Kernel/Arch/aarch64/Registers.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Kernel/Arch/aarch64/Registers.h b/Kernel/Arch/aarch64/Registers.h index dd96a6f82a..096b4672f3 100644 --- a/Kernel/Arch/aarch64/Registers.h +++ b/Kernel/Arch/aarch64/Registers.h @@ -1172,6 +1172,11 @@ static inline bool exception_class_is_data_or_instruction_abort_from_lower_excep return exception_class == 0x20 || exception_class == 0x24; } +static inline bool exception_class_is_svc_instruction_execution(u8 exception_class) +{ + return exception_class == 0x11 || exception_class == 0x15; +} + // D17.2.37 ESR_EL1, Exception Syndrome Register (EL1) // ISS encoding for an exception from a Data Abort // DFSC, bits [5:0] |