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