diff --git a/arch/x86/kernel/cpu/addon_cpuid_features.c b/arch/x86/kernel/cpu/addon_cpuid_features.c
index c2e1ce3..e22e809 100644
--- a/arch/x86/kernel/cpu/addon_cpuid_features.c
+++ b/arch/x86/kernel/cpu/addon_cpuid_features.c
@@ -50,9 +50,27 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c)
}
}
+static int forcepat;
+
+static int __init x86_forcepat_setup(char *s)
+{
+ forcepat = 1;
+ return 1;
+}
+__setup("enablepat", x86_forcepat_setup);
+
+
#ifdef CONFIG_X86_PAT
void __cpuinit validate_pat_support(struct cpuinfo_x86 *c)
{
+ if (!test_cpu_cap(c, X86_FEATURE_PAT))
+ return;
+
+ if (forcepat == 1) {
+ printk(KERN_INFO "Force enabling PAT\n");
+ return;
+ }
+
switch (c->x86_vendor) {
case X86_VENDOR_AMD:
if (c->x86 >= 0xf && c->x86 <= 0x11)