amd64 is guaranteed to have PAT and CLFLUSH; stop testing cpu flags
authorguenther <guenther@openbsd.org>
Sat, 4 May 2024 00:27:42 +0000 (00:27 +0000)
committerguenther <guenther@openbsd.org>
Sat, 4 May 2024 00:27:42 +0000 (00:27 +0000)
for them on that arch.

ok jsg@

sys/dev/pci/drm/include/asm/cpufeature.h

index 621ea05..66c43df 100644 (file)
@@ -16,12 +16,18 @@ static inline bool
 static_cpu_has(uint16_t f)
 {
        switch (f) {
-       case X86_FEATURE_CLFLUSH:
-               return curcpu()->ci_cflushsz != 0;
        case X86_FEATURE_XMM4_1:
                return (cpu_ecxfeature & CPUIDECX_SSE41) != 0;
+#ifdef __amd64__
+       case X86_FEATURE_CLFLUSH:
+       case X86_FEATURE_PAT:
+               return true;
+#else
+       case X86_FEATURE_CLFLUSH:
+               return curcpu()->ci_cflushsz != 0;
        case X86_FEATURE_PAT:
                return (curcpu()->ci_feature_flags & CPUID_PAT) != 0;
+#endif
        case X86_FEATURE_HYPERVISOR:
                return (cpu_ecxfeature & CPUIDECX_HV) != 0;
        default:
@@ -32,7 +38,7 @@ static_cpu_has(uint16_t f)
 static inline bool
 pat_enabled(void)
 {
-       return ((curcpu()->ci_feature_flags & CPUID_PAT) != 0);
+       return static_cpu_has(X86_FEATURE_PAT);
 }
 
 #define boot_cpu_has(x) static_cpu_has(x)