diff --git a/Kernel/Memory/MemoryManager.cpp b/Kernel/Memory/MemoryManager.cpp index 996baa8242..5e80e9cbc1 100644 --- a/Kernel/Memory/MemoryManager.cpp +++ b/Kernel/Memory/MemoryManager.cpp @@ -291,7 +291,7 @@ UNMAP_AFTER_INIT void MemoryManager::parse_memory_map() global_data.physical_memory_ranges.append(PhysicalMemoryRange { PhysicalMemoryRangeType::Usable, start_address, length }); break; case (MULTIBOOT_MEMORY_RESERVED): -#if ARCH(I386) || ARCH(X86_64) +#if ARCH(X86_64) // Workaround for https://gitlab.com/qemu-project/qemu/-/commit/8504f129450b909c88e199ca44facd35d38ba4de // That commit added a reserved 12GiB entry for the benefit of virtual firmware. // We can safely ignore this block as it isn't actually reserved on any real hardware. diff --git a/Kernel/Thread.cpp b/Kernel/Thread.cpp index d117bb6a56..f7ffda10d3 100644 --- a/Kernel/Thread.cpp +++ b/Kernel/Thread.cpp @@ -1205,12 +1205,10 @@ DispatchSignalResult Thread::dispatch_signal(u8 signal) auto signal_trampoline_addr = process.signal_trampoline().get(); regs.set_ip(signal_trampoline_addr); +#if ARCH(X86_64) // Userspace flags might be invalid for function entry, according to SYSV ABI (section 3.2.1). // Set them to a known-good value to avoid weird handler misbehavior. // Only IF (and the reserved bit 1) are set. -#if ARCH(I386) - regs.set_flags(2 | (regs.eflags & ~safe_eflags_mask)); -#elif ARCH(X86_64) regs.set_flags(2 | (regs.rflags & ~safe_eflags_mask)); #endif