diff options
3 files changed, 36 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C index 464897ef..d3594d47 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C @@ -33,6 +33,7 @@ constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_0x04047C0000000000 = 0x04047C0000000000; constexpr uint64_t literal_0x04247C0000000000 = 0x04247C0000000000; constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; +constexpr uint64_t literal_0x40B2000000000000 = 0x40B2000000000000; constexpr uint64_t literal_0x409B000000000000 = 0x409B000000000000; constexpr uint64_t literal_0x40FB000000000000 = 0x40FB000000000000; constexpr uint64_t literal_0x3 = 0x3; @@ -40,6 +41,7 @@ constexpr uint64_t literal_0x1 = 0x1; constexpr uint64_t literal_0x0000FAF800FF = 0x0000FAF800FF; constexpr uint64_t literal_0x0000FAFC00FB = 0x0000FAFC00FB; constexpr uint64_t literal_0x000000000000 = 0x000000000000; +constexpr uint64_t literal_0x951100000F04 = 0x951100000F04; constexpr uint64_t literal_0x910000040F00 = 0x910000040F00; constexpr uint64_t literal_0x9D1100000F04 = 0x9D1100000F04; constexpr uint64_t literal_0b11111 = 0b11111; @@ -57,6 +59,8 @@ fapi2::ReturnCode p9_mmu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT0, l_chip_ec)); fapi2::ATTR_CHIP_EC_FEATURE_NMMU_NDD1_Type l_TGT0_ATTR_CHIP_EC_FEATURE_NMMU_NDD1; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_NMMU_NDD1, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_NMMU_NDD1)); + fapi2::ATTR_CHIP_EC_FEATURE_HW414700_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW414700, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700)); fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE)); fapi2::ATTR_PROC_EPS_WRITE_CYCLES_T1_Type l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1; @@ -87,7 +91,11 @@ fapi2::ReturnCode p9_mmu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5012c07ull, l_scom_buffer )); - if ((l_TGT0_ATTR_CHIP_EC_FEATURE_NMMU_NDD1 != literal_0)) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<0, 22, 0, uint64_t>(literal_0x40B2000000000000 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_NMMU_NDD1 != literal_0)) { l_scom_buffer.insert<0, 22, 0, uint64_t>(literal_0x409B000000000000 ); } @@ -154,7 +162,11 @@ fapi2::ReturnCode p9_mmu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5012c47ull, l_scom_buffer )); - if ((l_TGT0_ATTR_CHIP_EC_FEATURE_NMMU_NDD1 != literal_0)) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<0, 48, 16, uint64_t>(literal_0x951100000F04 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_NMMU_NDD1 != literal_0)) { l_scom_buffer.insert<0, 48, 16, uint64_t>(literal_0x910000040F00 ); } diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml index babbfeb5..2dace308 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml @@ -3226,6 +3226,24 @@ </chipEcFeature> </attribute> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_HW414700</id> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <description> + Nimbus DD2.0 only -- set all UE FIRs to checkstop + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x20</value> + <test>EQUAL</test> + </ec> + </chip> + </chipEcFeature> + </attribute> + + <!-- ******************************************************************** --> <!-- Memory Section --> <!-- ******************************************************************** --> diff --git a/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml index 00f50388..4599bfd5 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml @@ -492,6 +492,10 @@ attribute tank <virtual/> </entry> <entry> + <name>ATTR_CHIP_EC_FEATURE_HW414700</name> + <virtual/> + </entry> + <entry> <name>ATTR_SYSTEM_CORECACHE_SKEWADJ_DISABLE</name> <value>0x0</value> </entry> |