diff options
author | Luke C. Murray <murrayl@us.ibm.com> | 2017-07-07 17:18:28 -0500 |
---|---|---|
committer | Dean Sanner <dsanner@us.ibm.com> | 2017-07-14 08:31:20 -0400 |
commit | 03d69356357390a3a352ece0209c422ccd3a4e3c (patch) | |
tree | 809cd6dbd8222f2a5c76b1cb27948d762d9dcc95 /src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C | |
parent | d6ef298a9e49c1a7344df3df903db56877465e3f (diff) | |
download | talos-hostboot-03d69356357390a3a352ece0209c422ccd3a4e3c.tar.gz talos-hostboot-03d69356357390a3a352ece0209c422ccd3a4e3c.zip |
HW414700 checkstop on UEs and disable core ECC counter
Core
ECP.PC.FIR.THRESHOLD_RESET = 0b00 to disable
CXA, L2, L3, NMMU, NX, VAS, FBC, MC FIR changes to checkstop on UE at source
Change-Id: I4400acb7d3ec68cced49adb5a77fec7bd8356d40
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42887
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42943
Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Tested-by: Dean Sanner <dsanner@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C | 515 |
1 files changed, 435 insertions, 80 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C index cfae24efb..810493f2d 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C @@ -34,6 +34,7 @@ constexpr uint64_t literal_0b0 = 0b0; constexpr uint64_t literal_0b1 = 0b1; constexpr uint64_t literal_0b11 = 0b11; constexpr uint64_t literal_0b00 = 0b00; +constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_0xFC = 0xFC; constexpr uint64_t literal_8 = 8; constexpr uint64_t literal_2 = 2; @@ -52,6 +53,8 @@ fapi2::ReturnCode p9_nx_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_HW403701_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW403701; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW403701, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW403701)); + 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::buffer<uint64_t> l_scom_buffer; @@ -410,49 +413,233 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x2011087ull, l_scom_buffer )); - l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<10, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<11, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<12, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<13, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<14, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<15, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<16, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<19, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<20, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<22, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<24, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<25, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<26, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<27, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<28, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<29, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<2, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<30, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<32, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<33, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<34, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<35, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<36, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<37, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<39, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<3, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<40, 2, 62, uint64_t>(literal_0b00 ); - l_scom_buffer.insert<42, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<43, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<8, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<9, 1, 63, uint64_t>(literal_0b0 ); + if (literal_1) + { + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<10, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<11, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<12, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<13, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<14, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<15, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<16, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<19, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<20, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<22, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<24, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<25, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<26, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<27, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<28, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<29, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<2, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<2, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<30, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<32, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<33, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<34, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<35, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<36, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<37, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<39, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<3, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<40, 2, 62, uint64_t>(literal_0b00 ); + } + + if (literal_1) + { + l_scom_buffer.insert<42, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<43, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b1 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<8, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<9, 1, 63, uint64_t>(literal_0b0 ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x2011087ull, l_scom_buffer)); } { @@ -607,43 +794,211 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x2011107ull, l_scom_buffer )); - l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<10, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<11, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<12, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<13, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<14, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<15, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<16, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<19, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<20, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<22, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<24, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<25, 6, 58, uint64_t>(literal_0b000000 ); - l_scom_buffer.insert<2, 2, 62, uint64_t>(literal_0b00 ); - l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<32, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<33, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<34, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<35, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<36, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<37, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<39, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<40, 8, 56, uint64_t>(literal_0b00000000 ); - l_scom_buffer.insert<48, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<49, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<8, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<9, 1, 63, uint64_t>(literal_0b1 ); + if (literal_1) + { + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<10, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<11, 1, 63, uint64_t>(literal_0b1 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<12, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<12, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<13, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<14, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<15, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<16, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b1 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<19, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<20, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<22, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<24, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<25, 6, 58, uint64_t>(literal_0b000000 ); + } + + if (literal_1) + { + l_scom_buffer.insert<2, 2, 62, uint64_t>(literal_0b00 ); + } + + if (literal_1) + { + l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<32, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<33, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<34, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<35, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<36, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<37, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<39, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<40, 8, 56, uint64_t>(literal_0b00000000 ); + } + + if (literal_1) + { + l_scom_buffer.insert<48, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<49, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b1 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0b1 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 != literal_0)) + { + l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b0 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW414700 == literal_0)) + { + l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b1 ); + } + + if (literal_1) + { + l_scom_buffer.insert<8, 1, 63, uint64_t>(literal_0b0 ); + } + + if (literal_1) + { + l_scom_buffer.insert<9, 1, 63, uint64_t>(literal_0b1 ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x2011107ull, l_scom_buffer)); } |