lkml.org 
[lkml]   [2008]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2008-05-20 07:57    [W:0.054 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site