summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/pci/drm/include/asm/cpufeature.h12
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)