diff options
Diffstat (limited to 'src')
4 files changed, 49 insertions, 11 deletions
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/freq_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/freq_attributes.xml index 6b4811b03..0494e5e6e 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/freq_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/freq_attributes.xml @@ -77,4 +77,18 @@ <platInit/> </attribute> <!-- ********************************************************************* --> + <attribute> + <id>ATTR_MEMVPD_POS</id> + <targetType>TARGET_TYPE_MCA</targetType> + <description> + The position of the MCA target's VPD selector data, relative to the EEPROM + that contains its data. For systems with a single EEPROM for all chips, + this should be equivalent to ATTR_FAPI_POS (the logical MCA position). + For systems with an EEPROM per chip, this value should be equivalent to + ATTR_CHIP_UNIT_POS. + </description> + <valueType>uint8</valueType> + <platInit/> + </attribute> + <!-- ********************************************************************* --> </attributes> diff --git a/src/import/hwpf/fapi2/include/fapi2_vpd_access.H b/src/import/hwpf/fapi2/include/fapi2_vpd_access.H index b1d889b6a..daf8b006f 100644 --- a/src/import/hwpf/fapi2/include/fapi2_vpd_access.H +++ b/src/import/hwpf/fapi2/include/fapi2_vpd_access.H @@ -33,28 +33,32 @@ namespace fapi2 { +/// constants for VPD Info +constexpr uint64_t VPD_INFO_INVALID = 0xffffffffffffffff; + /// @brief Specialized class representing required VPDInfo to be used -/// in collecting VPD for the MCS target type. -/// @tparam T fapi2::TARGET_TYPE_MCS +/// in collecting VPD for the MCA target type. +/// @tparam T fapi2::TARGET_TYPE_MCA template<> -class VPDInfo<TARGET_TYPE_MCS> +class VPDInfo<TARGET_TYPE_MCA> { public: // @brief VPDInfo constructor VPDInfo( const fapi2::MemVpdData& i_vpd_type) : iv_vpd_type(i_vpd_type), - iv_size(0), iv_freq(0), iv_rank_count_dimm_0(0), - iv_rank_count_dimm_1(0), iv_dimm_drop_per_port(0) + iv_size(VPD_INFO_INVALID), + iv_freq_mhz(VPD_INFO_INVALID), + iv_rank_count_dimm_0(VPD_INFO_INVALID), + iv_rank_count_dimm_1(VPD_INFO_INVALID) {}; // type of vpd field to return fapi2::MemVpdData_t iv_vpd_type; // size of the vpd data size_t iv_size; - uint64_t iv_freq; + uint64_t iv_freq_mhz; uint64_t iv_rank_count_dimm_0; uint64_t iv_rank_count_dimm_1; - uint64_t iv_dimm_drop_per_port; }; @@ -67,15 +71,15 @@ class VPDInfo<TARGET_TYPE_MCS> /// @note passing nullptr for o_blob will return the size of the keyword /// /// Example: -/// fapi2::VPDInfo<fapi2::TARGET_TYPE_MCS> vpdInfo(MR_keyword); -/// vpdInfo.iv_speed_bin = 2400_SPEED_BIN; +/// fapi2::VPDInfo<fapi2::TARGET_TYPE_MCA> vpdInfo(MR_keyword); +/// vpdInfo.iv_freq = 2667; /// /// uint8_t * blob = NULL; /// /// FAPI_TRY(getVPD( mcs, vpdInfo, blob )); /// blob = static_cast<uint8_t *>(malloc(vpdInfo.iv_size)); /// FAPI_TRY(getVPD( mcs, vpdInfo, blob )); -/// blob now contains the VPD data for the MCS. +/// blob now contains the VPD data for the MCA. /// template<TargetType T> ReturnCode getVPD(const Target<T>& i_target, diff --git a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml index adeadd9e0..88cd2e9c2 100644 --- a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml +++ b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml @@ -102,6 +102,15 @@ </attribute> <attribute> <id>ATTR_SDISN_SETUP</id> + <default>0</default> + </attribute> + <attribute> + <id>ATTR_MEMVPD_POS</id> + <default>0</default> + </attribute> + <attribute> + <id>ATTR_MEMVPD_FREQS_MHZ</id> + <default>0,0,0,0</default> </attribute> <attribute> <id>ATTR_VPD_OVERRIDE_MT</id> diff --git a/src/import/hwpf/fapi2/xml/attribute_info/system_attributes.xml b/src/import/hwpf/fapi2/xml/attribute_info/system_attributes.xml index 3fa2ac231..4e3d9be64 100644 --- a/src/import/hwpf/fapi2/xml/attribute_info/system_attributes.xml +++ b/src/import/hwpf/fapi2/xml/attribute_info/system_attributes.xml @@ -7,7 +7,7 @@ <!-- --> <!-- EKB Project --> <!-- --> -<!-- COPYRIGHT 2015 --> +<!-- COPYRIGHT 2015,2016 --> <!-- [+] International Business Machines Corp. --> <!-- --> <!-- --> @@ -40,4 +40,15 @@ <platInit/> </attribute> <!-- ********************************************************************* --> + <attribute> + <id>ATTR_MEMVPD_FREQS_MHZ</id> + <targetType>TARGET_TYPE_SYSTEM</targetType> + <description> + List of memory frequencies supported by the current system. + </description> + <valueType>uint32</valueType> + <array>4</array> + <platInit/> + </attribute> + <!-- ********************************************************************* --> </attributes> |