-
- kdb_printf(
- " Channel number: %d%s\n"
- " Memory Operation: %s\n"
- " Machine-specific error: %s%s%s%s%s%s%s%s%s\n"
- " COR_ERR_CNT: %d\n",
- mc8.channel_number,
- IF(mc8.channel_number == 15, " (unknown)"),
- mc8_memory_operation[mmm],
- IF(mc8.read_ecc, "Read ECC "),
- IF(mc8.ecc_on_a_scrub, "ECC on scrub "),
- IF(mc8.write_parity, "Write parity "),
- IF(mc8.redundant_memory, "Redundant memory "),
- IF(mc8.sparing, "Sparing/Resilvering "),
- IF(mc8.access_out_of_range, "Access out of Range "),
- IF(mc8.rtid_out_of_range, "RTID out of Range "),
- IF(mc8.address_parity, "Address Parity "),
- IF(mc8.byte_enable_parity, "Byte Enable Parity "),
- mc8.cor_err_cnt);
- kdb_printf(
- " Status bits:\n%s%s%s%s%s%s",
- IF(status.bits.pcc, " Processor context corrupt\n"),
- IF(status.bits.addrv, " ADDR register valid\n"),
- IF(status.bits.miscv, " MISC register valid\n"),
- IF(status.bits.en, " Error enabled\n"),
- IF(status.bits.uc, " Uncorrected error\n"),
- IF(status.bits.over, " Error overflow\n"));
- if (status.bits.addrv)
- kdb_printf(
- " IA32_MC%d_ADDR(0x%x): 0x%016qx\n",
- i, IA32_MCi_ADDR(i), bank->mca_mci_addr);
- if (status.bits.miscv) {
- ia32_mc8_misc_t mc8_misc;
-
- mc8_misc.u64 = bank->mca_mci_misc;
- kdb_printf(
- " IA32_MC%d_MISC(0x%x): 0x%016qx\n"
- " RTID: %d\n"
- " DIMM: %d\n"
- " Channel: %d\n"
- " Syndrome: 0x%x\n",
- i, IA32_MCi_MISC(i), mc8_misc.u64,
- mc8_misc.bits.rtid,
- mc8_misc.bits.dimm,
- mc8_misc.bits.channel,
- (int) mc8_misc.bits.syndrome);