diff options
author | vinaybs6 <vinaybs6@in.ibm.com> | 2019-11-19 06:41:38 -0600 |
---|---|---|
committer | RAJA DAS <rajadas2@in.ibm.com> | 2020-01-10 04:23:44 -0600 |
commit | 54f3205f2ce678cf8d377f4d3d5c23b3bce33096 (patch) | |
tree | acbf3b23e386b5d1866ec89c39849232fb67b8af /src/hwpf/target.C | |
parent | 2615d39b099f344928c8ad03332e69ee6d5068ce (diff) | |
download | talos-sbe-54f3205f2ce678cf8d377f4d3d5c23b3bce33096.tar.gz talos-sbe-54f3205f2ce678cf8d377f4d3d5c23b3bce33096.zip |
Setting the HRMOR value for OPAL based systems.
Change-Id: I75f01f8996c6664641bca939855a7bcad6220a01
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/87387
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: MURULIDHAR NATARAJU <murulidhar@in.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Diffstat (limited to 'src/hwpf/target.C')
-rw-r--r-- | src/hwpf/target.C | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/hwpf/target.C b/src/hwpf/target.C index c2dca699..fb7d97f1 100644 --- a/src/hwpf/target.C +++ b/src/hwpf/target.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER sbe Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2019 */ +/* Contributors Listed Below - COPYRIGHT 2012,2020 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -131,6 +131,7 @@ extern fapi2::ReturnCode bool l_proc_chip_mem_to_use_set = false; fapi2::buffer<uint8_t> l_proc_chip_mem_to_use_attr = 0; uint8_t isSpMode = 0; + bool isHostOpal = true; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_RISK_LEVEL, FAPI_SYSTEM, l_riskLvl)); //Getting SCRATCH_REGISTER_8 register value @@ -239,20 +240,34 @@ extern fapi2::ReturnCode FAPI_TRY(PLAT_ATTR_INIT(fapi2::ATTR_IS_MPIPL, FAPI_SYSTEM, isMpIpl)); l_tempReg.extractToRight<3, 1>(isSpMode); - FAPI_DBG("Upating ATTR_IS_SP_MODE based on Scratch_reg3:%d",isSpMode); - FAPI_TRY(PLAT_ATTR_INIT(fapi2::ATTR_IS_SP_MODE, l_chipTarget, isSpMode)); + l_tempReg.extractToRight<15, 1>(isHostOpal); + FAPI_INF("isSpMode=%d and isHostOpal=%d ",isSpMode,isHostOpal); + FAPI_TRY(PLAT_ATTR_INIT(fapi2::ATTR_IS_SP_MODE,l_chipTarget, isSpMode)); l_tempReg.extractToRight<28, 4>(l_riskLvl); } - //Update the HRMOR value based on system is FSP/BMC based. - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_IS_SP_MODE, l_chipTarget, isSpMode)); - if(!isSpMode && !SBE::isSimicsRunning()) + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_IS_SP_MODE,l_chipTarget, isSpMode)); + //If its BMC based system force the HRMOR to be 0xF8000000ull for both + //OPAL and PHYP payload + if( (isSpMode == false) && !SBE::isSimicsRunning()) { - FAPI_DBG("Set up ATTR_HOSTBOOT_HRMOR_OFFSET in SPless mode"); + FAPI_INF("FSP Less system HRMOR set as=0x%.8x",HRMOR_FOR_SPLESS_MODE); uint64_t hrmor = HRMOR_FOR_SPLESS_MODE; FAPI_TRY(PLAT_ATTR_INIT(fapi2::ATTR_HOSTBOOT_HRMOR_OFFSET, FAPI_SYSTEM, hrmor)); } + //If FSP based system and payload is of the type OPAL then set the HRMOR + //as 0xF8000000ull + if(( isSpMode == true) && (!SBE::isSimicsRunning())) + { + if( isHostOpal == true) + { + FAPI_INF("OPAL based system HRMOR set as=0x%.8x",HRMOR_FOR_SPLESS_MODE); + uint64_t tempHRMOR = HRMOR_FOR_SPLESS_MODE; + FAPI_TRY(PLAT_ATTR_INIT(fapi2::ATTR_HOSTBOOT_HRMOR_OFFSET, + FAPI_SYSTEM,tempHRMOR )); + } + } if ( l_scratch8Reg.getBit<3>() ) { |