CPER support for 32GiB 64GiB DIMMs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

Description of problem: The existing Common Platform Error Record
(CPER) memory error format can't fully support 32GiB and 64GiB DIMMs.

The UEFI spec has changed to use previously reserved bits in the
record provide that support. Kernel processing of CPER memory error
records will need to change to reflect the new spec.

N.2.5 Memory Error Section
Bits <18:21> was set as 'reserved', and now is used as 'extended'.
http://www.uefi.org/sites/default/files/resources/2_4_Errata_A.pdf

Matt Fleming mentioned to me that Tony Luck recently fixed a 
compatibility issue with Memory Error Record structure.
I ask, how do we want to handle the processing of a CPER
memory error record with support for larger DIMMs?

-Nigel


From: Nigel Croxon <nigel.croxon@xxxxxxx>
Date: Tue, 13 Oct 2015 15:21:19 -0400
Subject: [PATCH] CPER: support 32GiB 64GiB DIMMs

Description of problem: The existing Common Platform Error Record
(CPER) memory error format can't fully support 32GiB and 64GiB DIMMs.
The UEFI spec has changed to use previously reserved bits in the
record provide that support. Kernel processing of CPER memory error
records will need to change to reflect the new spec.

UEFI 2.4 Errata A - December, 2013
N.2.5 Memory Error Section
Bits <18:21> was set as 'reserved'. Now used as 'extended'.

Signed-off-by: Nigel Croxon <nigel.croxon@xxxxxxx>
---
 include/linux/cper.h |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/include/linux/cper.h b/include/linux/cper.h
index dcacb1a..4ece589 100644
--- a/include/linux/cper.h
+++ b/include/linux/cper.h
@@ -243,6 +243,10 @@ enum {
 #define CPER_MEM_VALID_RANK_NUMBER		0x8000
 #define CPER_MEM_VALID_CARD_HANDLE		0x10000
 #define CPER_MEM_VALID_MODULE_HANDLE		0x20000
+#define CPER_MEM_VALID_EXT_ROW_B16_17		0x40000
+#define CPER_MEM_VALID_BANK_GROUP		0x80000
+#define CPER_MEM_VALID_BANK_ADDRESS		0x100000
+#define CPER_MEM_VALID_CHIP_ID			0x200000
 
 #define CPER_PCIE_VALID_PORT_TYPE		0x0001
 #define CPER_PCIE_VALID_VERSION			0x0002
@@ -378,7 +382,7 @@ struct cper_sec_mem_err {
 	__u64	responder_id;
 	__u64	target_id;
 	__u8	error_type;
-	__u8	reserved;
+	__u8	extended;
 	__u16	rank;
 	__u16	mem_array_handle;	/* card handle in UEFI 2.4 */
 	__u16	mem_dev_handle;		/* module handle in UEFI 2.4 */
-- 
1.7.1


--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux