Re: [boot crash] Re: [tip:x86/mce3] x86, mce: use 64bit machine checkcode on 32bit

From: Andi Kleen
Date: Mon Aug 17 2009 - 07:08:15 EST


Ingo Molnar wrote:
* Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> wrote:

One possibility is: if the BIOS doesn't clear status in banks, new mce codes will try to log such junks. If the junk is totally junk but can be decoded as a valid log with MISCV or ADDRV bit, and if the cpu try to access register which is not implemented (e.g. IA32_MCi_MISC/ADDR), then such access might cause a general protection exception. (ref. ASDM 3A 15.3.2.3)

btw., that reminds me: mce_rdmsrl() needs to be fixed to use rdmsrl_safe() and it should emit a WARN_ONCE() if it ever hits an error while trying to access registers.

In general systems (like VMs) who don't have MCA MSRs don't declare the
capability bits (there are own capability bits for all of this) and then
the MSRs are never touched. So far I've not had a
single report of this going wrong.

I suspect the problem on your system is something else too we just
need to debug properly.

-Andi


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/