diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2016-11-02 08:08:52 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-11-30 20:40:24 -0500 |
commit | 3d935f6f77c62b2f78fdd36995082eeeaae06c82 (patch) | |
tree | 1c05487f4eacea966498ff59754342f6c55b6f1a /src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C | |
parent | d44c34769fbed39d6311c95acfa3802bf4a74482 (diff) | |
download | talos-sbe-3d935f6f77c62b2f78fdd36995082eeeaae06c82.tar.gz talos-sbe-3d935f6f77c62b2f78fdd36995082eeeaae06c82.zip |
Add support for iterating over EC_LEVELS
-Add support for looping over various EC levels for
SCOM and Scan init files
Change-Id: I7463b71698856922829cddc0e4d8d179803a1db8
RTC:159043
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31688
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamin Gass <bgass@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31874
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C | 454 |
1 files changed, 338 insertions, 116 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C index ded26be9..c93687c8 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C @@ -29,11 +29,11 @@ using namespace fapi2; -constexpr auto literal_0b0001 = 0b0001; -constexpr auto literal_0b0100 = 0b0100; constexpr auto literal_0 = 0; constexpr auto literal_0x001 = 0x001; constexpr auto literal_0b0000 = 0b0000; +constexpr auto literal_0b0001 = 0b0001; +constexpr auto literal_0b0100 = 0b0100; fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1) @@ -42,7 +42,6 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, do { - fapi2::buffer<uint64_t> l_scom_buffer; fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE_Type l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE; l_rc = FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE); @@ -52,6 +51,40 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, break; } + { + fapi2::buffer<uint64_t> l_scom_buffer; + { + l_rc = fapi2::getScom( TGT0, 0x1001080aull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x1001080aull)"); + break; + } + + { + if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) + { + constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_ON = 0x1; + l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_ON, 23, 1, 63 ); + } + else if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM)) + { + constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_OFF = 0x0; + l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_OFF, 23, 1, 63 ); + } + } + + l_rc = fapi2::putScom(TGT0, 0x1001080aull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x1001080aull)"); + break; + } + } + } + fapi2::ATTR_SYSTEM_IPL_PHASE_Type l_TGT1_ATTR_SYSTEM_IPL_PHASE; l_rc = FAPI_ATTR_GET(fapi2::ATTR_SYSTEM_IPL_PHASE, TGT1, l_TGT1_ATTR_SYSTEM_IPL_PHASE); @@ -62,75 +95,60 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, } { - l_rc = fapi2::getScom( TGT0, 0x1001080aull, l_scom_buffer ); - - if (l_rc) + fapi2::buffer<uint64_t> l_scom_buffer; { - FAPI_ERR("ERROR executing: getScom (0x1001080aull)"); - break; - } + l_rc = fapi2::getScom( TGT0, 0x1001080aull, l_scom_buffer ); - { - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_ON = 0x1; - l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_ON, 23, 1, 63 ); - } - else if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM)) + if (l_rc) { - constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_OFF = 0x0; - l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_SYSMAP_SM_NOT_LG_SEL_OFF, 23, 1, 63 ); + FAPI_ERR("ERROR executing: getScom (0x1001080aull)"); + break; } - } - { - if ((l_TGT1_ATTR_SYSTEM_IPL_PHASE == fapi2::ENUM_ATTR_SYSTEM_IPL_PHASE_HB_RUNTIME)) { - constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_HASH_L3_ADDR_EN_ON = 0x1; - l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_HASH_L3_ADDR_EN_ON, 21, 1, 63 ); + if ((l_TGT1_ATTR_SYSTEM_IPL_PHASE == fapi2::ENUM_ATTR_SYSTEM_IPL_PHASE_HB_RUNTIME)) + { + constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_HASH_L3_ADDR_EN_ON = 0x1; + l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_HASH_L3_ADDR_EN_ON, 21, 1, 63 ); + } } - } - { - if ((l_TGT1_ATTR_SYSTEM_IPL_PHASE == ENUM_ATTR_SYSTEM_IPL_PHASE_HB_RUNTIME)) + l_rc = fapi2::putScom(TGT0, 0x1001080aull, l_scom_buffer); + + if (l_rc) { - constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_CAC_ERR_REPAIR_EN_ON = 0x1; - l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_CAC_ERR_REPAIR_EN_ON, 15, 1, 63 ); + FAPI_ERR("ERROR executing: putScom (0x1001080aull)"); + break; } } - - l_rc = fapi2::putScom(TGT0, 0x1001080aull, l_scom_buffer); - - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x1001080aull)"); - break; - } } { - l_rc = fapi2::getScom( TGT0, 0x1001080bull, l_scom_buffer ); - - if (l_rc) + fapi2::buffer<uint64_t> l_scom_buffer; { - FAPI_ERR("ERROR executing: getScom (0x1001080bull)"); - break; - } + l_rc = fapi2::getScom( TGT0, 0x1001080aull, l_scom_buffer ); - { - l_scom_buffer.insert<uint64_t> (literal_0b0001, 4, 4, 60 ); - } + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x1001080aull)"); + break; + } - { - l_scom_buffer.insert<uint64_t> (literal_0b0100, 8, 4, 60 ); - } + { + if ((l_TGT1_ATTR_SYSTEM_IPL_PHASE == ENUM_ATTR_SYSTEM_IPL_PHASE_HB_RUNTIME)) + { + constexpr auto l_EXP_L2_L2MISC_L2CERRS_CFG_CAC_ERR_REPAIR_EN_ON = 0x1; + l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_CFG_CAC_ERR_REPAIR_EN_ON, 15, 1, 63 ); + } + } - l_rc = fapi2::putScom(TGT0, 0x1001080bull, l_scom_buffer); + l_rc = fapi2::putScom(TGT0, 0x1001080aull, l_scom_buffer); - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x1001080bull)"); - break; + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x1001080aull)"); + break; + } } } @@ -143,6 +161,38 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, break; } + { + fapi2::buffer<uint64_t> l_scom_buffer; + { + l_rc = fapi2::getScom( TGT0, 0x10010810ull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x10010810ull)"); + break; + } + + { + if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 != literal_0)) + { + l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0, 0, 12, 52 ); + } + else if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 == literal_0)) + { + l_scom_buffer.insert<uint64_t> (literal_0x001, 0, 12, 52 ); + } + } + + l_rc = fapi2::putScom(TGT0, 0x10010810ull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x10010810ull)"); + break; + } + } + } + fapi2::ATTR_PROC_EPS_READ_CYCLES_T1_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1; l_rc = FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_READ_CYCLES_T1, TGT1, l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1); @@ -152,6 +202,38 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, break; } + { + fapi2::buffer<uint64_t> l_scom_buffer; + { + l_rc = fapi2::getScom( TGT0, 0x10010810ull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x10010810ull)"); + break; + } + + { + if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 != literal_0)) + { + l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1, 12, 12, 52 ); + } + else if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 == literal_0)) + { + l_scom_buffer.insert<uint64_t> (literal_0x001, 12, 12, 52 ); + } + } + + l_rc = fapi2::putScom(TGT0, 0x10010810ull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x10010810ull)"); + break; + } + } + } + fapi2::ATTR_PROC_EPS_READ_CYCLES_T2_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2; l_rc = FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_READ_CYCLES_T2, TGT1, l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2); @@ -162,54 +244,35 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, } { - l_rc = fapi2::getScom( TGT0, 0x10010810ull, l_scom_buffer ); - - if (l_rc) + fapi2::buffer<uint64_t> l_scom_buffer; { - FAPI_ERR("ERROR executing: getScom (0x10010810ull)"); - break; - } + l_rc = fapi2::getScom( TGT0, 0x10010810ull, l_scom_buffer ); - { - if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 != literal_0)) + if (l_rc) { - l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0, 0, 12, 52 ); + FAPI_ERR("ERROR executing: getScom (0x10010810ull)"); + break; } - else if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 == literal_0)) - { - l_scom_buffer.insert<uint64_t> (literal_0x001, 0, 12, 52 ); - } - } - { - if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 != literal_0)) - { - l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1, 12, 12, 52 ); - } - else if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 == literal_0)) { - l_scom_buffer.insert<uint64_t> (literal_0x001, 12, 12, 52 ); + if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 != literal_0)) + { + l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2, 24, 12, 52 ); + } + else if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 == literal_0)) + { + l_scom_buffer.insert<uint64_t> (literal_0x001, 24, 12, 52 ); + } } - } - { - if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 != literal_0)) - { - l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2, 24, 12, 52 ); - } - else if ((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 == literal_0)) + l_rc = fapi2::putScom(TGT0, 0x10010810ull, l_scom_buffer); + + if (l_rc) { - l_scom_buffer.insert<uint64_t> (literal_0x001, 24, 12, 52 ); + FAPI_ERR("ERROR executing: putScom (0x10010810ull)"); + break; } } - - l_rc = fapi2::putScom(TGT0, 0x10010810ull, l_scom_buffer); - - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x10010810ull)"); - break; - } } fapi2::ATTR_PROC_EPS_WRITE_CYCLES_T1_Type l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1; @@ -221,6 +284,38 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, break; } + { + fapi2::buffer<uint64_t> l_scom_buffer; + { + l_rc = fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x10010811ull)"); + break; + } + + { + if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 != literal_0)) + { + l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1, 0, 12, 52 ); + } + else if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 == literal_0)) + { + l_scom_buffer.insert<uint64_t> (literal_0x001, 0, 12, 52 ); + } + } + + l_rc = fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x10010811ull)"); + break; + } + } + } + fapi2::ATTR_PROC_EPS_WRITE_CYCLES_T2_Type l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2; l_rc = FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_WRITE_CYCLES_T2, TGT1, l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2); @@ -231,64 +326,191 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0, } { - l_rc = fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ); - - if (l_rc) + fapi2::buffer<uint64_t> l_scom_buffer; { - FAPI_ERR("ERROR executing: getScom (0x10010811ull)"); - break; + l_rc = fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x10010811ull)"); + break; + } + + { + if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 != literal_0)) + { + l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2, 12, 12, 52 ); + } + else if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 == literal_0)) + { + l_scom_buffer.insert<uint64_t> (literal_0x001, 12, 12, 52 ); + } + } + + l_rc = fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x10010811ull)"); + break; + } } + } + { + fapi2::buffer<uint64_t> l_scom_buffer; { - if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 != literal_0)) + l_rc = fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x10010811ull)"); + break; + } + { - l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1, 0, 12, 52 ); + constexpr auto l_EXP_L2_L2MISC_L2CERRS_EPS_CNT_USE_L2_DIVIDER_EN_OFF = 0x0; + l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_EPS_CNT_USE_L2_DIVIDER_EN_OFF, 29, 1, 63 ); } - else if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 == literal_0)) + + l_rc = fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer); + + if (l_rc) { - l_scom_buffer.insert<uint64_t> (literal_0x001, 0, 12, 52 ); + FAPI_ERR("ERROR executing: putScom (0x10010811ull)"); + break; } } + } + { + fapi2::buffer<uint64_t> l_scom_buffer; { - if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 != literal_0)) + l_rc = fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ); + + if (l_rc) { - l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2, 12, 12, 52 ); + FAPI_ERR("ERROR executing: getScom (0x10010811ull)"); + break; } - else if ((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 == literal_0)) + { - l_scom_buffer.insert<uint64_t> (literal_0x001, 12, 12, 52 ); + l_scom_buffer.insert<uint64_t> (literal_0b0000, 30, 4, 60 ); + } + + l_rc = fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x10010811ull)"); + break; } } + } + { + fapi2::buffer<uint64_t> l_scom_buffer; { - constexpr auto l_EXP_L2_L2MISC_L2CERRS_EPS_CNT_USE_L2_DIVIDER_EN_OFF = 0x0; - l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_EPS_CNT_USE_L2_DIVIDER_EN_OFF, 29, 1, 63 ); + l_rc = fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x10010811ull)"); + break; + } + + { + l_scom_buffer.insert<uint64_t> (literal_0b0001, 24, 4, 60 ); + } + + l_rc = fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x10010811ull)"); + break; + } } + } + { + fapi2::buffer<uint64_t> l_scom_buffer; { - l_scom_buffer.insert<uint64_t> (literal_0b0000, 30, 4, 60 ); + l_rc = fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x10010811ull)"); + break; + } + + { + constexpr auto l_EXP_L2_L2MISC_L2CERRS_EPS_MODE_SEL_MODE1 = 0x0; + l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_EPS_MODE_SEL_MODE1, 28, 1, 63 ); + } + + l_rc = fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x10010811ull)"); + break; + } } + } + { + fapi2::buffer<uint64_t> l_scom_buffer; { - l_scom_buffer.insert<uint64_t> (literal_0b0001, 24, 4, 60 ); + l_rc = fapi2::getScom( TGT0, 0x1001080bull, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x1001080bull)"); + break; + } + + { + l_scom_buffer.insert<uint64_t> (literal_0b0001, 4, 4, 60 ); + } + + l_rc = fapi2::putScom(TGT0, 0x1001080bull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x1001080bull)"); + break; + } } + } + { + fapi2::buffer<uint64_t> l_scom_buffer; { - constexpr auto l_EXP_L2_L2MISC_L2CERRS_EPS_MODE_SEL_MODE1 = 0x0; - l_scom_buffer.insert<uint64_t> (l_EXP_L2_L2MISC_L2CERRS_EPS_MODE_SEL_MODE1, 28, 1, 63 ); - } + l_rc = fapi2::getScom( TGT0, 0x1001080bull, l_scom_buffer ); - l_rc = fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer); + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x1001080bull)"); + break; + } - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x10010811ull)"); - break; + { + l_scom_buffer.insert<uint64_t> (literal_0b0100, 8, 4, 60 ); + } + + l_rc = fapi2::putScom(TGT0, 0x1001080bull, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x1001080bull)"); + break; + } } } + } - while (0); + while(0); return l_rc; } |