diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2019-08-30 14:10:49 -0500 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-09-09 15:24:13 -0500 |
commit | cd820b6626a1af1e272e5d6457e233c1841db47f (patch) | |
tree | 7d9ba8df84bda9a267c651a920ff586b11aae8bd | |
parent | 8d0f324f7e6724cd239851a681d32f8b8cf7298b (diff) | |
download | talos-hostboot-cd820b6626a1af1e272e5d6457e233c1841db47f.tar.gz talos-hostboot-cd820b6626a1af1e272e5d6457e233c1841db47f.zip |
Final solution for Axone HCODE lid id
Axone can just reuse the lid number that is assigned to Nimbus
since it is only used to map to a common PNOR partition. There
is never a real lid load done with this value.
Change-Id: I7e1c2cc5f3f76e28b35dfd11e02a0af62c239c1b
RTC: 214257
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83138
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com>
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/usr/isteps/pm/pm_common.C | 26 | ||||
-rw-r--r-- | src/usr/util/utillidpnor.C | 4 |
2 files changed, 17 insertions, 13 deletions
diff --git a/src/usr/isteps/pm/pm_common.C b/src/usr/isteps/pm/pm_common.C index 3d31d6dd0..a4c197621 100644 --- a/src/usr/isteps/pm/pm_common.C +++ b/src/usr/isteps/pm/pm_common.C @@ -285,15 +285,23 @@ namespace HBPM do { - // TODO RTC: 214257 - // Remove workaround forcing use of NIMBUS lid for Axone's hcode lid - #ifdef CONFIG_AXONE_BRING_UP - bool l_isNimbus = true; - #else - bool l_isNimbus = (i_target->getAttr<ATTR_MODEL>() == MODEL_NIMBUS); - #endif - uint32_t l_lidId = (l_isNimbus) ? Util::NIMBUS_HCODE_LIDID - : Util::CUMULUS_HCODE_LIDID; + uint32_t l_lidId = 0; + auto l_model = i_target->getAttr<ATTR_MODEL>(); + switch( l_model ) + { + case(MODEL_AXONE): + // Axone just reuses the Nimbus LIDID since it is only + // used to lookup a common partition in PNOR + case(MODEL_NIMBUS): + l_lidId = Util::NIMBUS_HCODE_LIDID; + break; + case(MODEL_CUMULUS): + l_lidId = Util::CUMULUS_HCODE_LIDID; + break; + default: + assert(false,"Unsupported proc type"); + } + if(g_pHcodeLidMgr.get() == nullptr) { g_pHcodeLidMgr = std::shared_ptr<UtilLidMgr> diff --git a/src/usr/util/utillidpnor.C b/src/usr/util/utillidpnor.C index 8d81ad0c1..96cee123b 100644 --- a/src/usr/util/utillidpnor.C +++ b/src/usr/util/utillidpnor.C @@ -53,10 +53,6 @@ static const PnorLidsMap PnorToLidsMap = { PNOR::OCC, LidAndContainerLid(OCC_LIDID, OCC_CONTAINER_LIDID)}, { PNOR::WOFDATA, LidAndContainerLid(WOF_LIDID, WOF_CONTAINER_LIDID)}, { PNOR::HCODE, LidAndContainerLid(NIMBUS_HCODE_LIDID, HCODE_CONTAINER_LIDID)}, - /* @TODO RTC:177927 - Figure out how to handle different Lids for the - same PNOR section based on chip. - { PNOR::HCODE, LidAndContainerLid(CUMULUS_HCODE_LIDID, HCODE_CONTAINER_LIDID)}, - */ { PNOR::RINGOVD, LidAndContainerLid(HWREFIMG_RINGOVD_LIDID,INVALID_LIDID)}, }; |