[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4EBBCC17.8000209@linux.vnet.ibm.com>
Date: Thu, 10 Nov 2011 18:35:27 +0530
From: "Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To: Borislav Petkov <bp@...64.org>
CC: Daniel Drake <dsd@...top.org>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: Geode LX boot fails after x86 microcode revision change
On 11/09/2011 11:04 PM, Borislav Petkov wrote:
> On Tue, Nov 08, 2011 at 04:59:05PM -0600, Daniel Drake wrote:
>> On Tue, Nov 8, 2011 at 4:37 PM, Borislav Petkov <bp@...en8.de> wrote:
>>> Yep, just send me /proc/cpuinfo from a working kernel.
>
> Daniel, would you please test? It should work though :-)
>
> Thanks.
>
> --
> From daa04c94628d5686404bd6985d4545f12c2fa4fd Mon Sep 17 00:00:00 2001
> From: Borislav Petkov <borislav.petkov@....com>
> Date: Wed, 9 Nov 2011 18:08:40 +0100
> Subject: [PATCH] x86, microcode, AMD: Restrict microcode reporting
>
> bcb80e53877c ("x86, microcode, AMD: Add microcode revision to
> /proc/cpuinfo") added support for dumping microcode patch level in
> /proc/cpuinfo on AMD. Although we were very cautious and did rdmsr_safe
> on the microcode patch level MSR, this broke booting on Geode LX because
> this CPU doesn't have that MSR and at the time we do the read, exception
> tables which are used by rdmsr_safe are not yet initialized, leading to
> a boot hang.
>
> This is the simple fix which enables the microcode line in /proc/cpuinfo
> for K8 and newer (it is not that interesting for older boxes anyway
> :-)).
>
> Reported-and-bisected-by: Daniel Drake <dsd@...top.org>
> Link: http://lkml.kernel.org/r/CAMLZHHTSuHZoPbm_YfB8G05JA+xKCE4+Jmj4NW8mnZUHogQSBA@mail.gmail.com
^^^^^
I couldn't open this web-page!
Thanks,
Srivatsa S. Bhat
> Signed-off-by: Borislav Petkov <borislav.petkov@....com>
> ---
> arch/x86/kernel/cpu/amd.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index c7e46cb..a72d183 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -474,7 +474,8 @@ static void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
> }
> #endif
>
> - rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy);
> + if (c->x86 >= 0xf)
> + rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy);
> }
>
> static void __cpuinit init_amd(struct cpuinfo_x86 *c)
--
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