Kernel Geniuses: Need Help With MCA Code
Adam Vande More
amvandemore at gmail.com
Thu Jan 30 02:06:38 UTC 2014
On Mon, Jan 27, 2014 at 10:50 PM, Tim Daneliuk <tundra at tundraware.com>wrote:
>
>
> I've swapped CPUs (i5). I've fiddled with an endless supply of
> mobo settings. I've switched power supplies. I've moved mem
> sticks around .... No joy.
>
Looks like the only thing left is rpl to start pulling out dimms.
So, I dug through the sources and found this:
>
>
>
> mca_log(const struct mca_record *rec)
> {
> uint16_t mca_error;
>
> printf("MCA: Bank %d, Status 0x%016llx\n", rec->mr_bank,
> (long long)rec->mr_status);
> printf("MCA: Global Cap 0x%016llx, Status 0x%016llx\n",
> (long long)rec->mr_mcg_cap, (long long)rec->mr_mcg_status);
> printf("MCA: Vendor \"%s\", ID 0x%x, APIC ID %d\n", cpu_vendor,
> rec->mr_cpu_id, rec->mr_apic_id);
> printf("MCA: CPU %d ", rec->mr_cpu);
> if (rec->mr_status & MC_STATUS_UC)
> printf("UNCOR ");
> else {
> printf("COR ");
> if (rec->mr_mcg_cap & MCG_CAP_CMCI_P)
> printf("(%lld) ", ((long long)rec->mr_status &
> MC_STATUS_COR_COUNT) >> 38);
> }
>
>
> It looks like the trailing else clause is kicking out the error but I am
> unclear what the error means, beyond the fact that it appears to be a
> parity
> error somewhere within the CPU's internal memory (cache?). Is this error
> getting corrected? Is this benign, Should I get a different mobo?
>
> Um .... Haaaaalp :)
A pity you didn't follow my earlier suggestion.
--
Adam
More information about the freebsd-questions
mailing list