:: commit 3e71596bdb805e77222a1138ad0e3744f9279341

mintsuki <mintsuki@protonmail.com> — 2024-10-12 15:15

parents: 0e5facea95

protos/limine: Check for PAT availability in SMP trampoline as well

diff --git a/common/sys/smp_trampoline.asm_x86 b/common/sys/smp_trampoline.asm_x86
index 8a811687..ecfc3bdb 100644
--- a/common/sys/smp_trampoline.asm_x86
+++ b/common/sys/smp_trampoline.asm_x86
@@ -39,10 +39,18 @@ smp_trampoline_start:
     xor eax, eax
     mov cr4, eax
 
+    mov esi, ebx
+    mov eax, 1
+    xor ecx, ecx
+    cpuid
+    test edx, 1 << 16
+    jz .no_pat
     mov ecx, 0x277
     mov eax, 0x00070406
     mov edx, 0x00000105
     wrmsr
+  .no_pat:
+    mov ebx, esi
 
     test dword [ebx + (passed_info.target_mode - smp_trampoline_start)], (1 << 2)
     jz .nox2apic
tab: 248 wrap: offon