1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-31 12:42:45 +00:00
serenity/Kernel/Arch/riscv64
Sönke Holz d0e3065ced Kernel/riscv64: Don't touch reserved fields of the sstatus CSR in boot.S
Multiple fields in sstatus are defined as WPRI "Reserved Writes Preserve
Values, Reads Ignore Values", which means we have to preserve their
values when writing to other fields in the same CSR.

We don't really need to touch any fields except SIE.
Interrupts are probably already disabled, but just to be safe,
disable them explicitly.
2024-02-08 08:13:47 -07:00
..
Firmware/ACPI Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
PCI Kernel/riscv64: Make the kernel compilable using GCC 2023-12-14 09:02:15 -07:00
boot.S Kernel/riscv64: Don't touch reserved fields of the sstatus CSR in boot.S 2024-02-08 08:13:47 -07:00
CPU.h Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
CPUID.h Kernel/riscv64: Add RISC-V Processor class 2023-10-28 10:36:06 -06:00
CSR.h Kernel/riscv64: Add AK::Formatter for scause CSR 2024-01-23 13:13:18 -07:00
CurrentTime.cpp Kernel/riscv64: Stub out optional_current_time 2024-01-02 06:50:59 -07:00
DebugOutput.cpp Kernel/riscv64: Implement debug_output and change cmdline to use it 2024-01-12 16:46:46 -07:00
Delay.cpp Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
FPUState.h Kernel/riscv64: Specify correct alignment for FPUState struct 2023-12-16 18:21:03 +01:00
InterruptManagement.cpp Kernel/riscv64: Stub out InterruptManagement::find_controllers 2024-01-23 13:13:18 -07:00
InterruptManagement.h Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
Interrupts.cpp Kernel/riscv64: Add C++ trap handler 2024-01-23 13:13:18 -07:00
IRQController.h Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
linker.ld Kernel/riscv64: Add .{ro,unmap}_after_init sections to linker script 2023-12-08 12:36:38 -07:00
mcontext.h Toolchain: Add (basic) support for riscv64 2023-08-11 09:20:08 +02:00
MMU.cpp Kernel/riscv64: Add assembly trap handler 2024-01-23 13:13:18 -07:00
MMU.h Kernel/riscv64: Add MMU initialization code 2024-01-12 16:46:46 -07:00
PageDirectory.cpp Kernel/riscv64: Implement everything in PageDirectory.cpp 2024-01-29 05:17:03 -07:00
PageDirectory.h Kernel/riscv64: Make the kernel compilable using GCC 2023-12-14 09:02:15 -07:00
Panic.cpp Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
PowerState.cpp Kernel/riscv64: Implement arch_specific_{reboot,shutdown} using the SBI 2024-01-12 16:25:46 -07:00
pre_init.cpp Kernel/riscv64: Add MMU initialization code 2024-01-12 16:46:46 -07:00
pre_init.h Kernel/riscv64: Add a basic trap handler to pre_init 2024-01-12 16:46:46 -07:00
Processor.cpp Kernel/riscv64: Implement Processor::exit_trap 2024-01-23 13:13:18 -07:00
Processor.h Kernel/riscv64: Add RISC-V Processor class 2023-10-28 10:36:06 -06:00
RegisterState.h Kernel/riscv64: Implement dump_registers() 2024-01-23 13:13:18 -07:00
SafeMem.cpp Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
SBI.cpp Kernel/riscv64: Add support for SRST "System Reset" SBI extension 2024-01-12 16:25:46 -07:00
SBI.h Kernel/riscv64: Add AK::Formatter for SBI errors 2024-01-12 16:25:46 -07:00
SmapDisabler.cpp Kernel/riscv64: Implement RISC-V SmapDisabler 2023-11-10 15:51:31 -07:00
ThreadRegisters.h Kernel/riscv64: Add register state related headers 2023-10-28 10:36:06 -06:00
Timer.cpp Kernel/riscv64: Clean up Timer class 2024-01-23 13:13:18 -07:00
Timer.h Kernel/riscv64: Clean up Timer class 2024-01-23 13:13:18 -07:00
trap_handler.S Kernel/riscv64: Add assembly trap handler 2024-01-23 13:13:18 -07:00
TrapFrame.h Kernel/riscv64: Add register state related headers 2023-10-28 10:36:06 -06:00