diff options
Diffstat (limited to 'src/usr/hwpf/hwp/dimm_attributes.xml')
-rw-r--r-- | src/usr/hwpf/hwp/dimm_attributes.xml | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/usr/hwpf/hwp/dimm_attributes.xml b/src/usr/hwpf/hwp/dimm_attributes.xml index 459d1637b..e066c0e20 100644 --- a/src/usr/hwpf/hwp/dimm_attributes.xml +++ b/src/usr/hwpf/hwp/dimm_attributes.xml @@ -21,6 +21,7 @@ <!-- --> <!-- IBM_PROLOG_END_TAG --> <!-- XML file specifying DIMM attributes used by HW Procedures. --> +<!-- $Id: dimm_attributes.xml,v 1.3 2013/08/13 20:26:21 mjjones Exp $ --> <attributes> <attribute> @@ -56,4 +57,58 @@ <platInit/> </attribute> +<attribute> + <id>ATTR_BAD_DQ_BITMAP</id> + <targetType>TARGET_TYPE_DIMM</targetType> + <description> + Bad DQ bitmap from a Centaur:MBA point of view. + The data is a 10 byte bitmap for each of 4 possible ranks. + The bad DQ data is stored in DIMM SPD, it is stored in a special format + and is translated to a DIMM Connector point of view for IS-DIMMs. + All of these details are hidden from the user of this attribute. + </description> + <valueType>uint8</valueType> + <array>4 10</array> + <platInit/> + <writeable/> +</attribute> + +<attribute> + <id>ATTR_VPD_DIMM_SPARE</id> + <targetType>TARGET_TYPE_DIMM</targetType> + <description> + Spare DRAM availability for each rank on the DIMM. + There are 8 DQ lines to spare DRAMs. + - NO_SPARE: No spare DRAMs + - LOW_NIBBLE: x4 DRAMs in use, one spare DRAM connected to SP_DQ0-3 + - HIGH_NIBBLE: x4 DRAMs in use, one spare DRAM connected to SP_DQ4-7 + - FULL_BYTE: Either + 1/ x4 DRAMs in use, two spare DRAMs connected to SP_DQ0-7 + 2/ x8 DRAMs in use, one spare DRAM connected to SP_DQ0-7 + For C-DIMMs, this is in a VPD field : Record:VSPD, Keyword:AM + For IS-DIMMs, the platform should return 0 indicating + no spares for any rank. + The top 2 bits are for rank 0 e.g: + if (((val AND 0xc0) >> 6) == + ENUM_ATTR_VPD_DIMM_SPARE_LOW_NIBBLE) {...} + The next 2 bits are for rank 1 e.g: + if (((val AND 0x30) >> 4) == + ENUM_ATTR_VPD_DIMM_SPARE_NO_SPARE) {...} + The next 2 bits are for rank 2 e.g: + if (((val AND 0x0c) >> 2) == + ENUM_ATTR_VPD_DIMM_SPARE_HIGH_NIBBLE) {...} + The bottom 2 bits are for rank 3 e.g: + if ((val AND 0x03) == + ENUM_ATTR_VPD_DIMM_SPARE_FULL_BYTE) {...} + </description> + <valueType>uint8</valueType> + <enum> + NO_SPARE = 0x00, + LOW_NIBBLE = 0x01, + HIGH_NIBBLE = 0x02, + FULL_BYTE = 0x03 + </enum> + <platInit/> +</attribute> + </attributes> |