lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 19 May 2008 22:53:58 -0700
From:	"Yinghai Lu" <yhlu.kernel@...il.com>
To:	"Dave Jones" <davej@...hat.com>
Cc:	"Linux Kernel" <linux-kernel@...r.kernel.org>,
	"Ingo Molnar" <mingo@...e.hu>,
	"Thomas Gleixner" <tglx@...utronix.de>, hpa@...or.com
Subject: Re: [X86] Add a boot parameter to force-enable PAT

On Mon, May 19, 2008 at 9:09 PM, Dave Jones <davej@...hat.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@...hat.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ