diff options
-rw-r--r-- | sys/dev/pci/drm/include/asm/cpufeature.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/dev/pci/drm/include/asm/cpufeature.h b/sys/dev/pci/drm/include/asm/cpufeature.h index 621ea054fc3..66c43dfabce 100644 --- a/sys/dev/pci/drm/include/asm/cpufeature.h +++ b/sys/dev/pci/drm/include/asm/cpufeature.h @@ -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) |