1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 01:57:44 +00:00
serenity/Kernel/Arch/aarch64
Liav A 633006926f Kernel: Make the Jails' internal design a lot more sane
This is done with 2 major steps:
1. Remove JailManagement singleton and use a structure that resembles
    what we have with the Process object. This is required later for the
    second step in this commit, but on its own, is a major change that
    removes this clunky singleton that had no real usage by itself.
2. Use IntrusiveLists to keep references to Process objects in the same
    Jail so it will be much more straightforward to iterate on this kind
    of objects when needed. Previously we locked the entire Process list
    and we did a simple pointer comparison to check if the checked
    Process we iterate on is in the same Jail or not, which required
    taking multiple Spinlocks in a very clumsy and heavyweight way.
2023-03-12 10:21:59 -06:00
..
RPi Revert "Kernel: Migrate ‘main id registerʼ access in Aarch64 MMIO" 2023-02-17 11:29:33 -07:00
ASM_wrapper.h Kernel/aarch64: Implement Thread Local Storage 2023-02-15 22:53:19 +01:00
boot.S Kernel/aarch64: Execute kernel with SP_EL1 instead of SP_EL0 2023-01-27 11:41:43 +01:00
BootPPMParser.cpp Kernel: Remove Prekernel namespace in the aarch64 Kernel 2022-05-12 23:14:05 +02:00
BootPPMParser.h Kernel: Remove Prekernel namespace in the aarch64 Kernel 2022-05-12 23:14:05 +02:00
CPU.h Kernel: Move Memory/PageDirectory.{cpp,h} to arch-specific directory 2023-01-27 11:41:43 +01:00
CPUID.cpp Everywhere: Change all XXX into FIXME or remove as appropriate 2023-02-15 23:33:25 +01:00
CPUID.h Revert "Kernel: Migrate ‘main id registerʼ access in Aarch64 MMIO" 2023-02-17 11:29:33 -07:00
CurrentTime.cpp Kernel: Fix build error on AARCH64 2022-10-15 06:01:45 +00:00
Dummy.cpp Kernel/aarch64: Execute first userspace process 2023-02-08 18:19:48 +00:00
Exceptions.cpp Kernel/aarch64: Disable memory access alignment check 2023-02-18 19:17:21 +01:00
init.cpp Kernel: Make the Jails' internal design a lot more sane 2023-03-12 10:21:59 -06:00
InterruptManagement.cpp Kernel: Stub more functions to progress aarch64 build 2022-10-26 20:01:45 +02:00
InterruptManagement.h Kernel: Stub more functions to progress aarch64 build 2022-10-26 20:01:45 +02:00
Interrupts.cpp Kernel/aarch64: Call handle_crash on unknown exceptions 2023-02-18 19:17:21 +01:00
IRQController.h AK+Kernel: Add AK::AtomicRefCounted and use everywhere in the kernel 2022-08-20 17:15:52 +02:00
kprintf.cpp Kernel/aarch64: Implement dbgput{str,char} in kprintf.cpp 2022-12-29 19:32:20 -07:00
linker.ld Kernel/aarch64: Embed disk image into kernel binary 2023-02-08 18:19:48 +00:00
MainIdRegister.cpp Revert "Kernel: Remove old ‘main id register accessorʼ for Aarch64" 2023-02-17 11:29:33 -07:00
MainIdRegister.h Revert "Kernel: Remove old ‘main id register accessorʼ for Aarch64" 2023-02-17 11:29:33 -07:00
mcontext.h Kernel+LibC: Add registers for AARCH64 in __mcontext 2022-10-14 13:01:13 +02:00
MMU.cpp Kernel/aarch64: Set kernel_load_base and correctly calculate symbol addr 2023-02-08 18:19:48 +00:00
PageDirectory.cpp Kernel/aarch64: Implement switching page directories 2023-01-27 11:41:43 +01:00
PageDirectory.h Kernel/aarch64: Set Access Permission EL0 bit for userspace mappings 2023-02-08 18:19:48 +00:00
Panic.cpp Kernel: Move __assertion_failed to aarch64/Panic.cpp 2022-05-12 23:14:05 +02:00
pre_init.cpp Kernel: Move Memory/PageDirectory.{cpp,h} to arch-specific directory 2023-01-27 11:41:43 +01:00
Processor.cpp Kernel/aarch64: Implement Thread Local Storage 2023-02-15 22:53:19 +01:00
Processor.h Kernel/aarch64: Implement Thread Local Storage 2023-02-15 22:53:19 +01:00
Registers.h Kernel/aarch64: Do not trap floating-point instructions 2023-02-15 22:53:19 +01:00
RegisterState.h Kernel/aarch64: Remove tpidr_el0 from RegisterState 2023-02-15 22:53:19 +01:00
SafeMem.cpp Kernel/aarch64: Add implementations for safe_memset and safe_strnlen 2023-02-15 22:53:19 +01:00
SerenityLogoRGB.ppm Kernel: Move aarch64 Prekernel into Kernel 2022-03-12 14:54:12 -08:00
SmapDisabler.cpp Kernel: Use default constructors/destructors 2022-03-17 00:51:36 -07:00
ThreadRegisters.h Kernel/aarch64: Implement set_exec_state in ThreadRegisters 2023-02-08 18:19:48 +00:00
TrapFrame.h Kernel: Add even more AARCH64 stubs 2022-10-18 13:08:25 +02:00
vector_table.S Kernel/aarch64: Remove tpidr_el0 from RegisterState 2023-02-15 22:53:19 +01:00