Messages in this thread | | | Date | Mon, 19 May 2008 22:53:58 -0700 | From | "Yinghai Lu" <> | Subject | Re: [X86] Add a boot parameter to force-enable PAT |
| |
On Mon, May 19, 2008 at 9:09 PM, Dave Jones <davej@redhat.com> wrote: > * Add an enablepat boot parameter, useful for testing CPUs not yet > added to the whitelist. > * Don't try to enable PAT if it was never enabled in the first place. > > Signed-off-by: Dave Jones <davej@redhat.com> > > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt > index 72c07a0..e179c22 100644 > --- a/Documentation/kernel-parameters.txt > +++ b/Documentation/kernel-parameters.txt > @@ -236,6 +236,10 @@ and is between 256 and 4096 characters. It is defined in the file > try_unsupported: try to drive unsupported chipsets > (may crash computer or cause data corruption) > > + enablepat [i386,x86-64] > + Force the CPU's PAT feature to be used even if it > + isn't in the kernels whitelist. > + > enable_timer_pin_1 [i386,x86-64] > Enable PIN 1 of APIC timer > Can be useful to work around chipset bugs > diff --git a/arch/x86/kernel/cpu/addon_cpuid_features.c b/arch/x86/kernel/cpu/addon_cpuid_features.c > index c2e1ce3..6ce3202 100644 > --- a/arch/x86/kernel/cpu/addon_cpuid_features.c > +++ b/arch/x86/kernel/cpu/addon_cpuid_features.c > @@ -50,9 +50,28 @@ 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"); > + set_cpu_cap(c, X86_FEATURE_PAT);
you don't need to set that bit again...
prevoious !test_cpu_cap(..) already get out.
> + return; > + } > + > switch (c->x86_vendor) { > case X86_VENDOR_AMD: > if (c->x86 >= 0xf && c->x86 <= 0x11) >
YH
| |