Messages in this thread | | | Subject | mce_64.c: mce_cpu_quirks being ignored | From | Max Asbock <> | Date | Thu, 19 Jun 2008 13:44:36 -0700 |
| |
A recent change to mce_init in -mm does the following:
@@ -462,7 +463,7 @@ static void mce_init(void *dummy) wrmsr(MSR_IA32_MCG_CTL, 0xffffffff, 0xffffffff); for (i = 0; i < banks; i++) { - wrmsrl(MSR_IA32_MC0_CTL+4*i, bank[i]); + wrmsrl(MSR_IA32_MC0_CTL+4*i, ~0UL); wrmsrl(MSR_IA32_MC0_STATUS+4*i, 0); } .... This change appears to ignore the fact that mce_cpu_quirks() clears a bit in bank[4] for certain CPUs, as in:
static void __cpuinit mce_cpu_quirks(struct cpuinfo_x86 *c) { /* This should be disabled by the BIOS, but isn't always */ if (c->x86_vendor == X86_VENDOR_AMD) { if(c->x86 == 15) /* disable GART TBL walk error reporting, which trips off incorrectly with the IOMMU & 3ware & Cerberus. */ clear_bit(10, &bank[4]); ....
Is turning off that bit still needed?
Max
| |