1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 06:15:08 +00:00
serenity/Kernel/Arch/x86
Idan Horowitz bc7b0a8986 Kernel: Replace inline assembly for turning on IA32_EFER.NXE with MSR
This fixes a triple fault that occurs when compiling serenity with
the i686 clang toolchain. (The underlying issue is that the old inline
assembly did not specify that it clobbered the eax/ecx/edx registers
and as such the compiler assumed they were not changed and used their
values across it)

Co-authored-by: Brian Gianforcaro <bgianf@serenityos.org>
2021-09-10 22:58:08 +03:00
..
common Kernel: Replace inline assembly for turning on IA32_EFER.NXE with MSR 2021-09-10 22:58:08 +03: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: Allow specifying ecx with CPUID 2021-09-04 22:22:58 +02:00
DescriptorTable.h Kernel: Switch static_asserts of a type size to AK::AssertSize 2021-09-05 20:08:57 +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: Switch static_asserts of a type size to AK::AssertSize 2021-09-05 20:08:57 +02:00
PageFault.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
Processor.h Kernel: Replace inline assembly for turning on IA32_EFER.NXE with MSR 2021-09-10 22:58:08 +03:00
ProcessorInfo.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
RegisterState.h Kernel: Switch static_asserts of a type size to AK::AssertSize 2021-09-05 20:08:57 +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: Switch static_asserts of a type size to AK::AssertSize 2021-09-05 20:08:57 +02:00
TSS.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00