serenity/Kernel
Timon Kruiper c7802cef25 Kernel/aarch64: Handle exceptions from lower exception level (EL)
When we execute in userspace, the exception level is EL0, so to handle
exceptions, such as interrupts, and syscalls, we need to add handlers to
vector_table.S. For now we only support running userspace applications
in AArch64 mode, so this commit only adds the handlers for that mode.
2023-02-08 18:19:48 +00:00
..
API Kernel: Protect Thread::m_name with a spinlock 2023-02-06 20:36:53 +01:00
Arch Kernel/aarch64: Handle exceptions from lower exception level (EL) 2023-02-08 18:19:48 +00:00
Bus AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
Devices Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
FileSystem Kernel: Protect Thread::m_name with a spinlock 2023-02-06 20:36:53 +01:00
Firmware Kernel/PCI: Hold a reference to DeviceIdentifier in the Device class 2023-01-26 23:04:26 +01:00
Graphics Kernel/Graphics: Export DDC I2C address definition to global header file 2023-02-02 02:10:33 -07:00
Heap Kernel+LibC: Move name length constants to Kernel/API from limits.h 2023-01-21 10:43:59 -07:00
Interrupts Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
Library Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
Locking Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Memory Kernel: Protect Process::m_name with a spinlock 2023-02-06 20:36:53 +01:00
Net Kernel: Pass ipv4_packet_size to ipv4.set_length() 2023-02-05 22:14:14 +00:00
Prekernel Kernel: Unify x86-64 assembly snippets naming for RDSEED & RDRAND 2023-01-25 23:17:36 +01:00
Storage Revert "Kernel/Storage: Remove the ramdisk implementation" 2023-02-08 18:19:48 +00:00
Syscalls Kernel: Return ENAMETOOLONG when trying to set a too-long thread name 2023-02-06 20:36:53 +01:00
Tasks
Time Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
TTY Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
AddressSanitizer.cpp
AddressSanitizer.h
Assertions.h Kernel: Replace VERIFY_NOT_REACHED with TODO_AARCH64 2022-10-16 17:35:37 +02:00
AtomicEdgeAction.h
BootInfo.h Kernel: Move Memory/PageDirectory.{cpp,h} to arch-specific directory 2023-01-27 11:41:43 +01:00
CMakeLists.txt Revert "Kernel/Storage: Remove the ramdisk implementation" 2023-02-08 18:19:48 +00:00
CommandLine.cpp Kernel: Make i8042 controller initialization sequence more robust 2023-01-06 11:09:56 +01:00
CommandLine.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Coredump.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Coredump.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Credentials.cpp AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
Credentials.h Kernel: Add sid and pgid to Credentials 2023-01-03 18:13:11 +01:00
Debug.h.in Kernel: Remove the NE2000 PCI network adapter driver 2023-01-08 21:51:59 +01:00
DoubleBuffer.cpp Kernel: Move InterruptDisabler out of Arch directory 2022-10-17 20:11:31 +02:00
DoubleBuffer.h
embedmap.sh
ExecutionMode.h Kernel: Factor our PreviousMode into RegisterState::previous_mode 2023-01-27 11:41:43 +01:00
Forward.h Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
FutexQueue.cpp
FutexQueue.h
generate-version-file.sh Kernel: Bake version information into the Kernel 2022-10-14 13:45:33 +02:00
InterruptDisabler.h Kernel: Move InterruptDisabler out of Arch directory 2022-10-17 20:11:31 +02:00
IOWindow.cpp Kernel/PCI: Hold a reference to DeviceIdentifier in the Device class 2023-01-26 23:04:26 +01:00
IOWindow.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Jail.cpp Kernel: Add support for jails 2022-11-05 18:00:58 -06:00
Jail.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
JailManagement.cpp Kernel: Mark Process::jail() method as const 2023-01-07 03:44:59 +03:30
JailManagement.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
KBuffer.h Everywhere: Remove string.h include from AK/Traits.h and resolve fallout 2023-01-21 10:43:59 -07:00
KBufferBuilder.cpp
KBufferBuilder.h AK: Add support for "debug only" formatters 2023-01-13 21:09:26 +00:00
KLexicalPath.cpp
KLexicalPath.h
kprintf.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
kstdio.h
KString.cpp
KString.h AK: Add support for "debug only" formatters 2023-01-13 21:09:26 +00:00
KSyms.cpp
KSyms.h
MiniStdLib.cpp Kernel: Remove i686 support 2022-12-28 11:53:41 +01:00
mkmap.sh
Multiboot.h
Panic.cpp Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
Panic.h
PerformanceEventBuffer.cpp Kernel: Protect Process::m_name with a spinlock 2023-02-06 20:36:53 +01:00
PerformanceEventBuffer.h
PerformanceManager.h Everywhere: Remove some redundant inline keywords 2023-01-04 20:04:57 +01:00
PhysicalAddress.h
Process.cpp Kernel: Protect Process::m_name with a spinlock 2023-02-06 20:36:53 +01:00
Process.h Kernel: Protect Process::m_name with a spinlock 2023-02-06 20:36:53 +01:00
ProcessExposed.cpp Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
ProcessExposed.h Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
ProcessGroup.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ProcessGroup.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ProcessProcFSTraits.cpp Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
ProcessSpecificExposed.cpp Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
Random.cpp Kernel: Use RDSEED assembly snippet to seed RNG on Aarch64 2023-01-25 23:17:36 +01:00
Random.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
SanCov.cpp
Scheduler.cpp Kernel: Factor our PreviousMode into RegisterState::previous_mode 2023-01-27 11:41:43 +01:00
Scheduler.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ScopedCritical.cpp Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
ScopedCritical.h Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
Sections.h Kernel/aarch64: Change base address of the kernel to 0x2000000000 2023-01-24 14:54:44 +00:00
StdLib.cpp Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
StdLib.h Everywhere: Remove string.h include from AK/Traits.h and resolve fallout 2023-01-21 10:43:59 -07:00
Syscall.cpp Kernel: Remove trap based syscall handling 2023-02-02 01:52:52 -07:00
Thread.cpp Kernel: Protect Thread::m_name with a spinlock 2023-02-06 20:36:53 +01:00
Thread.h Kernel: Protect Thread::m_name with a spinlock 2023-02-06 20:36:53 +01:00
ThreadBlockers.cpp
ThreadTracer.cpp
ThreadTracer.h Kernel+Userland: Remove dependency on i386-specific registers 2022-12-28 11:53:41 +01:00
TimerQueue.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
TimerQueue.h
UBSanitizer.cpp
UnixTypes.h
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h
VirtualAddress.h
WaitQueue.cpp
WaitQueue.h
WorkQueue.cpp
WorkQueue.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00