ladybird/Kernel/Arch/x86
Daniel Bertalan 779cf49f38 Kernel: Fix Clang not initializing s_bsp_processor correctly
Initializing the variable this way fixes a kernel panic in Clang where
the object was zero-initialized, so the `m_in_scheduler` contained the
wrong value. GCC got it right, but we're better off making this change,
as leaving uninitialized fields in constant-initialized objects can
cause other weird situations like this. Also, initializing only a single
field to a non-zero value isn't worth the cost of no longer fitting in
`.bss`.

Another two variables suffer from the same problem, even though their
values are supposed to be zero. Removing these causes the
`_GLOBAL_sub_I_` function to no longer be generated and the (not
handled) `.init_array` section to be omitted.
2021-08-30 13:20:34 +02:00
..
common Kernel: Fix Clang not initializing s_bsp_processor correctly 2021-08-30 13:20:34 +02:00
i386 Kernel: Make Processor::platform_string() return StringView 2021-08-23 00:02:09 +02:00
x86_64 Kernel: Make Processor::platform_string() return StringView 2021-08-23 00:02:09 +02:00
ASM_wrapper.h Kernel: Add read_gs_value() and write_gs_value() 2021-08-29 12:26:40 +02:00
CPU.h Kernel: Mark read only RegisterState function parameters as const 2021-07-20 03:21:14 +02:00
CPUID.h Kernel: Add support for hypervisor CPUID feature 2021-07-14 13:52:34 +02:00
DescriptorTable.h Kernel: Fix GDT and segment selectors to make userland work on x86_64 2021-06-28 22:29:28 +02:00
InterruptDisabler.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
Interrupts.h Kernel: Don't byteswap the ISR number on interrupt entry 2021-07-01 23:36:17 +02:00
ISRStubs.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MSR.h Kernel: Hide the implementation detail that MSRs use two registers 2021-07-04 01:07:28 +02:00
PageDirectory.h Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
PageFault.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
Processor.h Kernel: Fix Clang not initializing s_bsp_processor correctly 2021-08-30 13:20:34 +02:00
ProcessorInfo.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
RegisterState.h Kernel: Consolidate a bunch of i386/x86_64 code paths 2021-08-19 23:22:02 +02:00
SafeMem.h Kernel: Implement safe_* memory access functions for x86_64 2021-06-27 15:46:42 +02:00
ScopedCritical.h Kernel/SMP: Change critical sections to not disable interrupts 2021-08-10 02:49:37 +02:00
SmapDisabler.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
TrapFrame.h Kernel: Fix building the kernel with LTO 2021-07-02 17:51:26 +02:00
TSS.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00