1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:47:44 +00:00
serenity/Kernel/Arch/aarch64
Timon Kruiper 0f3e1668bb Kernel/aarch64: Execute first userspace process
This adds the necessary code to init.cpp to be able to execute the first
userspace process. To do this, first the filesystem code is initialized,
which will use the ramdisk embedded into the kernel image. Then the
first userspace process, /bin/SystemServer is executed. :^)

The ramdisk code is used as it is useful for the bring-up of the aarch64
port, however once the kernel has support for better ram-based
filesystems, the ramdisk code will be removed again.
2023-02-08 18:19:48 +00:00
..
RPi Kernel/aarch64: Access MMIO using mapping in high virtual memory 2023-01-24 14:54:44 +00:00
ASM_wrapper.h Kernel/aarch64: Add helper to get the current TTBR0_EL1 2023-01-27 11:41:43 +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 Kernel: Detect Aarch64 virtual address bit width with CPU ID registers 2023-01-18 22:58:42 +01:00
CPUID.h Kernel: Detect Aarch64 virtual address bit width with CPU ID registers 2023-01-18 22:58:42 +01: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: Execute kernel with SP_EL1 instead of SP_EL0 2023-01-27 11:41:43 +01:00
init.cpp Kernel/aarch64: Execute first userspace process 2023-02-08 18:19:48 +00: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: Do not dump register state on every page fault 2023-02-08 18:19:48 +00: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 Kernel: Remove Prekernel namespace in the aarch64 Kernel 2022-05-12 23:14:05 +02:00
MainIdRegister.h Kernel: Remove Prekernel namespace in the aarch64 Kernel 2022-05-12 23:14:05 +02: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 set_exec_state in ThreadRegisters 2023-02-08 18:19:48 +00:00
Processor.h Kernel/aarch64: Implement Processor::platform_string() 2023-01-27 20:47:08 +00:00
Registers.h Kernel/aarch64: Set correct ExecutionMode of PageFault 2023-02-08 18:19:48 +00:00
RegisterState.h Kernel/aarch64: Return correct values from RegisterState accessors 2023-02-08 18:19:48 +00:00
SafeMem.cpp Kernel/aarch64: Add stub for handle_safe_access_fault 2023-01-27 11:41:43 +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: Handle exceptions from lower exception level (EL) 2023-02-08 18:19:48 +00:00