* [PATCH] parisc: Show DIMM slot number which holds broken memory module
@ 2017-07-25 18:12 Helge Deller
0 siblings, 0 replies; only message in thread
From: Helge Deller @ 2017-07-25 18:12 UTC (permalink / raw)
To: linux-parisc, James Bottomley, John David Anglin
The Page Deallocation Table (PDT) holds the physical addresses of all broken
memory addresses. With the physical address we now are able to show which DIMM
slot (e.g. 1a, 3c) actually holds the broken memory module so that users are
able to replace it.
Signed-off-by: Helge Deller <deller@gmx.de>
diff --git a/arch/parisc/kernel/pdt.c b/arch/parisc/kernel/pdt.c
index 040d49b..fab374c 100644
--- a/arch/parisc/kernel/pdt.c
+++ b/arch/parisc/kernel/pdt.c
@@ -133,11 +133,18 @@ void __init pdc_pdt_init(void)
}
for (i = 0; i < pdt_status.pdt_entries; i++) {
- if (i < 20)
- pr_warn("PDT: BAD PAGE #%d at 0x%08lx (error_type = %lu)\n",
- i,
- pdt_entry[i] & PAGE_MASK,
- pdt_entry[i] & 1);
+ struct pdc_pat_mem_phys_mem_location loc;
+
+ /* get DIMM slot number */
+ loc.dimm_slot = 0xff;
+ pdc_pat_mem_get_dimm_phys_location(&loc, pdt_entry[i]);
+
+ pr_warn("PDT: BAD PAGE #%d at 0x%08lx, "
+ "DIMM slot %02x (error_type = %lu)\n",
+ i,
+ pdt_entry[i] & PAGE_MASK,
+ loc.dimm_slot,
+ pdt_entry[i] & 1);
/* mark memory page bad */
memblock_reserve(pdt_entry[i] & PAGE_MASK, PAGE_SIZE);
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2017-07-25 18:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-25 18:12 [PATCH] parisc: Show DIMM slot number which holds broken memory module Helge Deller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox