serenity/Kernel
Brian Gianforcaro 8e93815846 Kernel: Fix panic loop when encountering an unknown boot_mode
The kernel panic handler now parses the kernels boot_mode to decide how
to handle the panic. So the previous logic could end up in an panic loop
until we blew out the kernel stack.

Instead only validate the kernel's boot mode once per boot, after
initializing the kernel command line.
2021-08-08 23:11:50 +02:00
..
ACPI Kernel: Move Mutex into Locking/ 2021-08-07 11:48:00 +02:00
API Kernel: Disable big process lock for sys$sync 2021-08-07 15:30:26 +02:00
Arch Kernel: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
Bus Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
Devices Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
FileSystem Kernel: Port BlockBasedFileSystem to ProtectedValue :^) 2021-08-08 00:28:10 +02:00
Graphics Kernel: Remove unused "VGA font" memory region in GraphicsManagement 2021-08-08 14:24:54 +02:00
Heap Kernel: Bump eternal kmalloc range to 4 MiB 2021-08-08 10:55:36 +02:00
Interrupts Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
Locking Kernel: Introduce ProtectedValue 2021-08-07 11:48:00 +02:00
Memory Kernel: Fix UB caused by taking a reference to a packed struct's member 2021-08-08 10:55:36 +02:00
Modules
Net Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
Prekernel Meta: Add Clang support to the CMake build scripts 2021-08-08 10:55:36 +02:00
Storage Kernel: Remove unused mutex PATADiskDevice::m_lock 2021-08-08 00:08:24 +02:00
Syscalls Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
Tasks
Time Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
TTY Kernel: Remove unnecessary churn in ConsoleManagement 2021-08-08 00:44:25 +02:00
VirtIO Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
AddressSanitizer.cpp
AddressSanitizer.h
Assertions.h AK+Kernel: Print TODO when a TODO() is executed 2021-08-04 11:01:16 +02:00
AtomicEdgeAction.h
BootInfo.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
CMakeLists.txt DynamicLoader: Make sure we don't link against libgcc_s 2021-08-08 16:41:51 +02:00
CMOS.cpp
CMOS.h
CommandLine.cpp Kernel: Fix panic loop when encountering an unknown boot_mode 2021-08-08 23:11:50 +02:00
CommandLine.h Kernel: Fix panic loop when encountering an unknown boot_mode 2021-08-08 23:11:50 +02:00
ConsoleDevice.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
ConsoleDevice.h
CoreDump.cpp Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
CoreDump.h
Debug.h.in Kernel: Implement a ISO 9660 filesystem reader :^) 2021-08-07 15:21:58 +02:00
DoubleBuffer.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
DoubleBuffer.h Kernel: Move Mutex into Locking/ 2021-08-07 11:48:00 +02:00
embedmap.sh
Forward.h Kernel: Simplify the per-CPU SchedulerData struct 2021-08-08 14:24:54 +02:00
FutexQueue.cpp
FutexQueue.h Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
GlobalProcessExposed.cpp Kernel: Migrate ARP table locking to ProtectedValue 2021-08-07 11:48:00 +02:00
init.cpp Kernel: Fix deprecated array comparison 2021-08-08 10:55:36 +02:00
IO.h
KBuffer.h Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
KBufferBuilder.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
KBufferBuilder.h Kernel: Remove KBufferBuilder's can_expand restriction 2021-07-20 18:05:05 +02:00
KLexicalPath.cpp
KLexicalPath.h
kprintf.cpp Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
KResult.h
kstdio.h
KString.cpp
KString.h
KSyms.cpp Kernel: Print panic backtrace to both the screen and serial 2021-08-04 20:14:54 +02:00
KSyms.h Kernel: Print panic backtrace to both the screen and serial 2021-08-04 20:14:54 +02:00
linker.ld Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
MiniStdLib.cpp Kernel: Introduce basic pre-kernel environment 2021-07-18 17:31:13 +02:00
mkmap.sh Kernel: Use our toolchain's c++filt tool for the kernel map 2021-07-29 10:38:31 +02:00
Module.h
Multiboot.h Prekernel: Export some multiboot parameters in our own BootInfo struct 2021-07-27 13:15:16 +02:00
Panic.cpp Kernel: Print panic backtrace to both the screen and serial 2021-08-04 20:14:54 +02:00
Panic.h
PerformanceEventBuffer.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
PerformanceEventBuffer.h Kernel: Rename PerformanceEvent methods to be more ARCH independent 2021-07-19 08:46:55 +02:00
PerformanceManager.h Kernel: Rename Range => VirtualRange 2021-08-06 14:05:58 +02:00
PhysicalAddress.h
Process.cpp Kernel: Remove unused Process::FileDescriptions::fd_flags() 2021-08-08 14:24:55 +02:00
Process.h Kernel: Remove unused Process::FileDescriptions::fd_flags() 2021-08-08 14:24:55 +02:00
ProcessExposed.cpp Kernel: Simplify ProcFS generated buffer caching 2021-07-20 18:05:05 +02:00
ProcessExposed.h Kernel/ProcFS: Make various things superuser-only once again 2021-07-28 18:59:53 +02:00
ProcessGroup.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
ProcessGroup.h Kernel: Port process groups to SpinLockProtectedValue 2021-08-07 13:30:59 +02:00
ProcessSpecificExposed.cpp Kernel: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
Random.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
Random.h Kernel: Move Lockable into its own header 2021-08-07 11:48:00 +02:00
RTC.cpp Kernel: Ensure we read valid values from the RTC CMOS registers 2021-08-04 19:53:04 +02:00
RTC.h Kernel: Ensure we read valid values from the RTC CMOS registers 2021-08-04 19:53:04 +02:00
SanCov.cpp Kernel: Remove unused header includes 2021-08-01 08:10:16 +02:00
Scheduler.cpp Kernel: Rename queue_runnable_thread() => enqueue_runnable_thread() 2021-08-08 14:24:55 +02:00
Scheduler.h Kernel: Rename queue_runnable_thread() => enqueue_runnable_thread() 2021-08-08 14:24:55 +02:00
Sections.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
StdLib.cpp Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
StdLib.h
Syscall.cpp Kernel: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
Thread.cpp Kernel: Rename queue_runnable_thread() => enqueue_runnable_thread() 2021-08-08 14:24:55 +02:00
Thread.h Kernel: Port process thread lists to SpinLockProtectedValue 2021-08-07 13:46:16 +02:00
ThreadBlockers.cpp Kernel: Make AsyncDeviceRequest::name() return StringView 2021-08-06 00:37:47 +02:00
ThreadTracer.cpp
ThreadTracer.h
TimerQueue.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
TimerQueue.h Kernel: Do not cancel stale timers when servicing sys$alarm 2021-08-03 18:44:01 +02:00
UBSanitizer.cpp
UnixTypes.h Kernel+LibC: Add linger to sys/sockets.h 2021-07-29 19:35:03 +01:00
UserOrKernelBuffer.cpp Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
UserOrKernelBuffer.h Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
VirtualAddress.h Kernel: Make VirtualAddress::page_base() work with 64-bit addresses 2021-07-18 17:31:13 +02:00
WaitQueue.cpp
WaitQueue.h Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
WorkQueue.cpp Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
WorkQueue.h