diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2017-01-19 15:42:33 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-02-28 16:16:41 -0500 |
commit | e72a22be4474024d7c5810486835b55bd34b45d8 (patch) | |
tree | fdecc9a3725aea63cd7cdc11d9b53c6ca12c5415 /src | |
parent | 8a6f2a39aa4f3cf106ee8b78fdc17c59224d4da2 (diff) | |
download | talos-hostboot-e72a22be4474024d7c5810486835b55bd34b45d8.tar.gz talos-hostboot-e72a22be4474024d7c5810486835b55bd34b45d8.zip |
Updates to initcompiler to support DD2 and cumulus
-Branch based on scom address changes
-Update error cases for missing/unsupported spys
RTC:163767
Change-Id: Ifc2b5b05a4cd3397125962959c7113da965e988b
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35507
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Benjamin Gass <bgass@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/35511
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
20 files changed, 82 insertions, 40 deletions
diff --git a/src/import/chips/p9/initfiles/p9.mca.scom.initfile b/src/import/chips/p9/initfiles/p9.mca.scom.initfile index d203a7894..14434c2fb 100644 --- a/src/import/chips/p9/initfiles/p9.mca.scom.initfile +++ b/src/import/chips/p9/initfiles/p9.mca.scom.initfile @@ -73,6 +73,7 @@ target_type 0 TARGET_TYPE_MCA; target_type 1 TARGET_TYPE_MCBIST; target_type 2 TARGET_TYPE_MCS; target_type 3 TARGET_TYPE_SYSTEM; +target_type 4 TARGET_TYPE_PROC_CHIP; define MCBIST = TGT1; # If referencing Attr from mcbist, add "MCBIST." in front diff --git a/src/import/chips/p9/initfiles/p9.mcs.scom.initfile b/src/import/chips/p9/initfiles/p9.mcs.scom.initfile index 12cbe4a6f..0db3bf7a5 100644 --- a/src/import/chips/p9/initfiles/p9.mcs.scom.initfile +++ b/src/import/chips/p9/initfiles/p9.mcs.scom.initfile @@ -42,7 +42,7 @@ ## Syntax Notes # Compiler expects spys to be all caps - + #--****************************************************************************** #-- Required keywords/variables #--****************************************************************************** @@ -51,6 +51,7 @@ SyntaxVersion = 3 target_type 0 TARGET_TYPE_MCS; target_type 1 TARGET_TYPE_SYSTEM; +target_type 2 TARGET_TYPE_PROC_CHIP; #--****************************************************************************** diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C index 1c410884e..91da27a1d 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C @@ -38,9 +38,13 @@ constexpr uint64_t literal_0b0010 = 0b0010; constexpr uint64_t literal_0b0001 = 0b0001; fapi2::ReturnCode p9_cxa_scom(const fapi2::Target<fapi2::TARGET_TYPE_CAPP>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1) + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2) { { + fapi2::ATTR_EC_Type l_chip_ec; + fapi2::ATTR_NAME_Type l_chip_id; + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT2, l_chip_id)); + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT2, l_chip_ec)); 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; diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.H index ec2937952..ba0c93c7e 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -32,13 +32,13 @@ typedef fapi2::ReturnCode (*p9_cxa_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_CAPP>&, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { fapi2::ReturnCode p9_cxa_scom(const fapi2::Target<fapi2::TARGET_TYPE_CAPP>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2); } diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C index e6f0ca6ff..41dd8567d 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -46,9 +46,14 @@ constexpr uint64_t literal_0x4040 = 0x4040; constexpr uint64_t literal_0xE058 = 0xE058; constexpr uint64_t literal_0x0202 = 0x0202; -fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TGT0) +fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TGT0, + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT1) { { + fapi2::ATTR_EC_Type l_chip_ec; + fapi2::ATTR_NAME_Type l_chip_id; + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT1, l_chip_id)); + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT1, l_chip_ec)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x800000030701103full, l_scom_buffer )); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.H index aa8d515a7..aed666a38 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -31,12 +31,14 @@ #include <fapi2.H> -typedef fapi2::ReturnCode (*p9_ddrphy_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_MCA>&); +typedef fapi2::ReturnCode (*p9_ddrphy_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_MCA>&, + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { - fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TGT0); + fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TGT0, + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT1); } diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C index dafc824de..913891f86 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C @@ -34,9 +34,14 @@ constexpr uint64_t literal_0x0000 = 0x0000; constexpr uint64_t literal_0x0 = 0x0; constexpr uint64_t literal_0b11 = 0b11; -fapi2::ReturnCode p9_fbc_ioe_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>& TGT0) +fapi2::ReturnCode p9_fbc_ioe_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>& TGT0, + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT1) { { + fapi2::ATTR_EC_Type l_chip_ec; + fapi2::ATTR_NAME_Type l_chip_id; + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT1, l_chip_id)); + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT1, l_chip_ec)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x601180aull, l_scom_buffer )); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.H index 85bee5d6b..07031cd3f 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -31,12 +31,14 @@ #include <fapi2.H> -typedef fapi2::ReturnCode (*p9_fbc_ioe_dl_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&); +typedef fapi2::ReturnCode (*p9_fbc_ioe_dl_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&, + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { - fapi2::ReturnCode p9_fbc_ioe_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>& TGT0); + fapi2::ReturnCode p9_fbc_ioe_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>& TGT0, + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT1); } diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.C index 6036052b5..56d896609 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.C @@ -77,9 +77,13 @@ constexpr uint64_t literal_939 = 939; fapi2::ReturnCode p9_mca_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TGT0, const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT2, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT3) + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT3, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT4) { { + fapi2::ATTR_EC_Type l_chip_ec; + fapi2::ATTR_NAME_Type l_chip_id; + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT4, l_chip_id)); + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT4, l_chip_ec)); fapi2::ATTR_PROC_EPS_READ_CYCLES_T0_Type l_TGT3_ATTR_PROC_EPS_READ_CYCLES_T0; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_READ_CYCLES_T0, TGT3, l_TGT3_ATTR_PROC_EPS_READ_CYCLES_T0)); uint64_t l_def_MC_EPSILON_CFG_T0 = ((l_TGT3_ATTR_PROC_EPS_READ_CYCLES_T0 + literal_6) / literal_4); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.H index 50fab2b8b..974c54cd0 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mca_scom.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -33,14 +33,14 @@ typedef fapi2::ReturnCode (*p9_mca_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_MCA>&, const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>&, const fapi2::Target<fapi2::TARGET_TYPE_MCS>&, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { fapi2::ReturnCode p9_mca_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TGT0, const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT2, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT3); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT3, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT4); } diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C index 4483e7df9..32a12b5f2 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C @@ -34,9 +34,13 @@ constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_0b0001100000000 = 0b0001100000000; fapi2::ReturnCode p9_mcs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1) + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2) { { + fapi2::ATTR_EC_Type l_chip_ec; + fapi2::ATTR_NAME_Type l_chip_id; + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT2, l_chip_id)); + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT2, l_chip_ec)); fapi2::ATTR_RISK_LEVEL_Type l_TGT1_ATTR_RISK_LEVEL; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_RISK_LEVEL, TGT1, l_TGT1_ATTR_RISK_LEVEL)); fapi2::buffer<uint64_t> l_scom_buffer; diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.H index eed3b238e..6723a8051 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.H @@ -32,13 +32,13 @@ typedef fapi2::ReturnCode (*p9_mcs_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_MCS>&, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { fapi2::ReturnCode p9_mcs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2); } diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C index 45984ba1a..5635f77ca 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -50,9 +50,13 @@ constexpr uint64_t literal_0b0010110 = 0b0010110; constexpr uint64_t literal_0b1000110 = 0b1000110; fapi2::ReturnCode p9_obus_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1) + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2) { { + fapi2::ATTR_EC_Type l_chip_ec; + fapi2::ATTR_NAME_Type l_chip_id; + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT2, l_chip_id)); + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT2, l_chip_ec)); fapi2::ATTR_IS_SIMULATION_Type l_TGT1_ATTR_IS_SIMULATION; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_IS_SIMULATION, TGT1, l_TGT1_ATTR_IS_SIMULATION)); uint64_t l_def_IS_HW = (l_TGT1_ATTR_IS_SIMULATION == literal_0); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.H index 8fe457138..b9720117b 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -32,13 +32,13 @@ typedef fapi2::ReturnCode (*p9_obus_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_OBUS>&, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { fapi2::ReturnCode p9_obus_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2); } diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C index 45b5b8c75..d60c7142c 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C @@ -58,9 +58,13 @@ constexpr uint64_t literal_0b1100 = 0b1100; constexpr uint64_t literal_0b00 = 0b00; fapi2::ReturnCode p9_xbus_g1_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1) + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2) { { + fapi2::ATTR_EC_Type l_chip_ec; + fapi2::ATTR_NAME_Type l_chip_id; + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT2, l_chip_id)); + FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT2, l_chip_ec)); fapi2::ATTR_IS_SIMULATION_Type l_TGT1_ATTR_IS_SIMULATION; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_IS_SIMULATION, TGT1, l_TGT1_ATTR_IS_SIMULATION)); uint64_t l_def_IS_HW = (l_TGT1_ATTR_IS_SIMULATION == literal_0); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.H index 16edd0d56..f5fbb729a 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.H +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -32,13 +32,13 @@ typedef fapi2::ReturnCode (*p9_xbus_g1_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { fapi2::ReturnCode p9_xbus_g1_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>& TGT0, - const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1); + const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2); } diff --git a/src/import/chips/p9/procedures/hwp/io/p9_io_obus_scominit.C b/src/import/chips/p9/procedures/hwp/io/p9_io_obus_scominit.C index 3f28b7cc5..8c01b8ff7 100644 --- a/src/import/chips/p9/procedures/hwp/io/p9_io_obus_scominit.C +++ b/src/import/chips/p9/procedures/hwp/io/p9_io_obus_scominit.C @@ -78,6 +78,9 @@ fapi2::ReturnCode p9_io_obus_scominit( const fapi2::Target<fapi2::TARGET_TYPE_OB // get system target const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> l_system_target; + // get a proc target + fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> l_proc_target = i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>(); + // assert IO reset to power-up bus endpoint logic FAPI_TRY( io::rmw( OPT_IORESET_HARD_BUS0, i_target, GROUP_00, LANE_00, SET_RESET ) ); @@ -87,7 +90,7 @@ fapi2::ReturnCode p9_io_obus_scominit( const fapi2::Target<fapi2::TARGET_TYPE_OB FAPI_TRY( io::rmw( OPT_IORESET_HARD_BUS0, i_target, GROUP_00, LANE_00, CLEAR_RESET ) ); FAPI_INF("Invoke FAPI procedure core: input_target"); - FAPI_EXEC_HWP(rc, p9_obus_scom, i_target, l_system_target); + FAPI_EXEC_HWP(rc, p9_obus_scom, i_target, l_system_target, l_proc_target); // mark HWP exit FAPI_INF("p9_io_obus_scominit: ...Exiting"); diff --git a/src/import/chips/p9/procedures/hwp/io/p9_io_xbus_scominit.C b/src/import/chips/p9/procedures/hwp/io/p9_io_xbus_scominit.C index ba6637a6f..971f48fad 100644 --- a/src/import/chips/p9/procedures/hwp/io/p9_io_xbus_scominit.C +++ b/src/import/chips/p9/procedures/hwp/io/p9_io_xbus_scominit.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -130,6 +130,9 @@ fapi2::ReturnCode p9_io_xbus_scominit( // get system target const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> l_system_target; + // get proc chip to pass for EC level checks in procedure + fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> l_proc = + i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>(); // assert IO reset to power-up bus endpoint logic // read-modify-write, set single reset bit (HW auto-clears) @@ -194,7 +197,7 @@ fapi2::ReturnCode p9_io_xbus_scominit( case ENUM_ATTR_XBUS_GROUP_1: FAPI_INF("Group 1:Invoke FAPI procedure core: input_target"); - FAPI_EXEC_HWP(rc, p9_xbus_g1_scom, i_target, l_system_target); + FAPI_EXEC_HWP(rc, p9_xbus_g1_scom, i_target, l_system_target, l_proc); if( rc ) { @@ -204,7 +207,7 @@ fapi2::ReturnCode p9_io_xbus_scominit( } FAPI_INF("Group 1:Invoke FAPI procedure core: connected_target"); - FAPI_EXEC_HWP(rc, p9_xbus_g1_scom, i_connected_target, l_system_target); + FAPI_EXEC_HWP(rc, p9_xbus_g1_scom, i_connected_target, l_system_target, l_proc); if( rc ) { diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_scominit.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_scominit.C index 6a9eba234..2f79b701a 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_scominit.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_scominit.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -78,7 +78,7 @@ fapi2::ReturnCode p9_mss_scominit( const fapi2::Target<TARGET_TYPE_MCBIST>& i_ta { FAPI_INF("mca scominit for %s", mss::c_str(l_mca_target)); FAPI_EXEC_HWP(l_rc, p9_mca_scom, l_mca_target, i_target, l_mca_target.getParent<fapi2::TARGET_TYPE_MCS>(), - FAPI_SYSTEM ); + FAPI_SYSTEM, i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>()); if (l_rc) { @@ -94,7 +94,7 @@ fapi2::ReturnCode p9_mss_scominit( const fapi2::Target<TARGET_TYPE_MCBIST>& i_ta // ... but we do scominit PHY's with no DIMM. There are no attributes needed and we need // to make sure we init the magic port. FAPI_INF("phy scominit for %s", mss::c_str(l_mca_target)); - FAPI_EXEC_HWP(l_rc, p9_ddrphy_scom, l_mca_target); + FAPI_EXEC_HWP(l_rc, p9_ddrphy_scom, l_mca_target, i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>()); if (l_rc) { diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C b/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C index 235237add..55de1457f 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C @@ -112,7 +112,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO { fapi2::toString(l_mcs_target, l_chipletTargetStr, sizeof(l_chipletTargetStr)); FAPI_DBG("Invoking p9.mcs.scom.initfile on target %s...", l_chipletTargetStr); - FAPI_EXEC_HWP(l_rc, p9_mcs_scom, l_mcs_target, FAPI_SYSTEM); + FAPI_EXEC_HWP(l_rc, p9_mcs_scom, l_mcs_target, FAPI_SYSTEM, i_target); if (l_rc) { @@ -164,7 +164,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO { fapi2::toString(*l_iter, l_chipletTargetStr, sizeof(l_chipletTargetStr)); FAPI_DBG("Invoking p9.fbc.ioe_dl.scom.initfile on target %s...", l_chipletTargetStr); - FAPI_EXEC_HWP(l_rc, p9_fbc_ioe_dl_scom, *l_iter); + FAPI_EXEC_HWP(l_rc, p9_fbc_ioe_dl_scom, *l_iter, i_target); if (l_rc) { @@ -274,7 +274,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO { fapi2::toString(l_capp, l_chipletTargetStr, sizeof(l_chipletTargetStr)); FAPI_DBG("Invoking p9.cxa.scom.initfile on target %s...", l_chipletTargetStr); - FAPI_EXEC_HWP(l_rc, p9_cxa_scom, l_capp, FAPI_SYSTEM); + FAPI_EXEC_HWP(l_rc, p9_cxa_scom, l_capp, FAPI_SYSTEM, i_target); if (l_rc) { |