diff options
| -rw-r--r-- | src/usr/hwpf/hwp/dimm_attributes.xml | 44 | ||||
| -rw-r--r-- | src/usr/hwpf/hwp/system_attributes.xml | 13 | ||||
| -rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 17 | ||||
| -rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 2 | ||||
| -rwxr-xr-x | src/usr/targeting/common/xmltohb/xmltohb.pl | 25 |
5 files changed, 75 insertions, 26 deletions
diff --git a/src/usr/hwpf/hwp/dimm_attributes.xml b/src/usr/hwpf/hwp/dimm_attributes.xml index c7573cbd6..459d1637b 100644 --- a/src/usr/hwpf/hwp/dimm_attributes.xml +++ b/src/usr/hwpf/hwp/dimm_attributes.xml @@ -1,25 +1,25 @@ -<!-- IBM_PROLOG_BEGIN_TAG - This is an automatically generated prolog. - - $Source: src/usr/hwpf/hwp/dimm_attributes.xml $ - - IBM CONFIDENTIAL - - COPYRIGHT International Business Machines Corp. 2012 - - p1 - - Object Code Only (OCO) source materials - Licensed Internal Code Source Materials - IBM HostBoot Licensed Internal Code - - The source code for this program is not published or other- - wise divested of its trade secrets, irrespective of what has - been deposited with the U.S. Copyright Office. - - Origin: 30 - - IBM_PROLOG_END --> +<!-- IBM_PROLOG_BEGIN_TAG --> +<!-- This is an automatically generated prolog. --> +<!-- --> +<!-- $Source: src/usr/hwpf/hwp/dimm_attributes.xml $ --> +<!-- --> +<!-- IBM CONFIDENTIAL --> +<!-- --> +<!-- COPYRIGHT International Business Machines Corp. 2012,2013 --> +<!-- --> +<!-- p1 --> +<!-- --> +<!-- Object Code Only (OCO) source materials --> +<!-- Licensed Internal Code Source Materials --> +<!-- IBM HostBoot Licensed Internal Code --> +<!-- --> +<!-- The source code for this program is not published or otherwise --> +<!-- divested of its trade secrets, irrespective of what has been --> +<!-- deposited with the U.S. Copyright Office. --> +<!-- --> +<!-- Origin: 30 --> +<!-- --> +<!-- IBM_PROLOG_END_TAG --> <!-- XML file specifying DIMM attributes used by HW Procedures. --> <attributes> diff --git a/src/usr/hwpf/hwp/system_attributes.xml b/src/usr/hwpf/hwp/system_attributes.xml index aea9c2a27..81b71c613 100644 --- a/src/usr/hwpf/hwp/system_attributes.xml +++ b/src/usr/hwpf/hwp/system_attributes.xml @@ -241,4 +241,17 @@ <platInit/> <writeable/> </attribute> + <!-- ********************************************************************* --> + <attribute> + <id>ATTR_DUMMY_PERSISTENCY</id> + <targetType>TARGET_TYPE_SYSTEM</targetType> + <description> + Cached value to test persistency + </description> + <valueType>uint8</valueType> + <persistent/> + <readable/> + <writeable/> + </attribute> + </attributes> diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index 0feaa2c87..896cbeb24 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -11852,4 +11852,21 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript <writeable/> </attribute> +<attribute> + <id>DUMMY_PERSISTENCY</id> + <description>Cached value to test persistency</description> + <simpleType> + <uint8_t> + <default>0</default> + </uint8_t> + </simpleType> + <persistency>non-volatile</persistency> + <readable/> + <writeable/> + <hwpfToHbAttrMap> + <id>ATTR_DUMMY_PERSISTENCY</id> + <macro>DIRECT</macro> + </hwpfToHbAttrMap> +</attribute> + </attributes> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 88f9fe91f..d5c175106 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -179,6 +179,7 @@ <attribute><id>MRW_SAFEMODE_MEM_THROTTLE_NUMERATOR_PER_CHIP</id></attribute> <attribute><id>MRW_THERMAL_MEMORY_POWER_LIMIT</id></attribute> <attribute><id>PLCK_IPL_ATTR_OVERRIDES_EXIST</id></attribute> + <attribute><id>DUMMY_PERSISTENCY</id></attribute> </targetType> <targetType> @@ -1172,6 +1173,7 @@ <attribute><id>EEPROM_ADDR_INFO0</id></attribute> <attribute><id>VPD_REC_NUM</id></attribute> + </targetType> <targetType> diff --git a/src/usr/targeting/common/xmltohb/xmltohb.pl b/src/usr/targeting/common/xmltohb/xmltohb.pl index 64cb4ee74..2924e0437 100755 --- a/src/usr/targeting/common/xmltohb/xmltohb.pl +++ b/src/usr/targeting/common/xmltohb/xmltohb.pl @@ -670,12 +670,28 @@ sub writeFapiPlatAttrMacrosHeaderFileContent { "it must be DIRECT"); } - if ($attribute->{persistency} ne "volatile-zeroed") + if ( (exists $fapiAttr->{persistent})) { - fatal("FAPI non-platInit attr " . + if ($attribute->{persistency} ne "non-volatile") + { + fatal("FAPI non-platInit attr " . + "'$hwpfToHbAttrMap->{id}' is " . + "'$attribute->{persistency}', " . + "it must be non-volatile"); + } + } + else + { + # Check that platInit attributes + # have a non-volatile persistency + if($attribute->{persistency} ne + "volatile-zeroed") + { + fatal("FAPI non-platInit attr " . "'$hwpfToHbAttrMap->{id}' is " . "'$attribute->{persistency}', " . "it must be volatile-zeroed"); + } } } @@ -1311,8 +1327,8 @@ VERBATIM my $attributeIdEnumeration = getAttributeIdEnumeration($attributes); foreach my $enumerator (@{$attributeIdEnumeration->{enumerator}}) { - $attrId = $enumerator->{name}; $hexVal = $enumerator->{value}; + $attrId = $enumerator->{name}; write; } @@ -2546,7 +2562,8 @@ sub getAttributeIdEnumeration { my $attributeHexVal28bit =substr($attributeHexVal,0,7); if(exists($attrValHash{$attributeHexVal28bit})) { - fatal("Error:Duplicate AttributeId hashvalue for $attribute->{id}" ); + fatal( + "Error:Duplicate AttributeId hashvalue for $attribute->{id}"); } $attrValHash{$attributeHexVal28bit}=1; $enumeration->{enumerator}->[$attributeValue]->{name} |

