:: commit a0210310612471ec007daec53d68d14d584b3e8a

Mintsuki <mintsuki@protonmail.com> — 2026-05-06 03:06

parents: d4a67bf80a

sys/lapic: Widen IA32_APIC_BASE address mask to cover full physical range

diff --git a/common/sys/lapic.c b/common/sys/lapic.c
index c5d91c9e..b70c0e0d 100644
--- a/common/sys/lapic.c
+++ b/common/sys/lapic.c
@@ -287,12 +287,12 @@ bool lapic_check(void) {
 }
 
 uint32_t lapic_read(uint32_t reg) {
-    size_t lapic_mmio_base = (size_t)(rdmsr(0x1b) & 0xfffff000);
+    size_t lapic_mmio_base = (size_t)(rdmsr(0x1b) & 0xfffffffffffff000);
     return mmind(lapic_mmio_base + reg);
 }
 
 void lapic_write(uint32_t reg, uint32_t data) {
-    size_t lapic_mmio_base = (size_t)(rdmsr(0x1b) & 0xfffff000);
+    size_t lapic_mmio_base = (size_t)(rdmsr(0x1b) & 0xfffffffffffff000);
     mmoutd(lapic_mmio_base + reg, data);
 }
 
tab: 248 wrap: offon