diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2018-09-20 23:08:25 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2018-09-24 01:30:21 -0500 |
commit | 0ee0a590013ec72b7eb5bc96e2c8d18d307cbca0 (patch) | |
tree | 0e70ddf9dc1f786fc25491622e62305658f532ef /src/sbefw | |
parent | c9b485103576156aba29c2d32e6fc9e1f0948304 (diff) | |
download | talos-sbe-0ee0a590013ec72b7eb5bc96e2c8d18d307cbca0.tar.gz talos-sbe-0ee0a590013ec72b7eb5bc96e2c8d18d307cbca0.zip |
Only call lpc init procedure on slave procs in mnfg mode
Change-Id: Ifb4ecc7e86721359fc4e3d513c8abf160da4fca8
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66449
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: MURULIDHAR NATARAJU <murulidhar@in.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
(cherry picked from commit c108818dacc005336883abd1bbe971607d84328d)
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66503
Diffstat (limited to 'src/sbefw')
-rw-r--r-- | src/sbefw/app/power/ipl_table.C | 18 | ||||
-rw-r--r-- | src/sbefw/core/sberegaccess.H | 14 |
2 files changed, 30 insertions, 2 deletions
diff --git a/src/sbefw/app/power/ipl_table.C b/src/sbefw/app/power/ipl_table.C index ca3298bf..21b70a58 100644 --- a/src/sbefw/app/power/ipl_table.C +++ b/src/sbefw/app/power/ipl_table.C @@ -189,6 +189,7 @@ ReturnCode istepWithCoreConditional( voidfuncptr_t i_hwp); ReturnCode istepWithEqConditional( voidfuncptr_t i_hwp); ReturnCode istepNestFreq( voidfuncptr_t i_hwp); ReturnCode istepCacheInitf( voidfuncptr_t i_hwp ); +ReturnCode istepLpcInit( voidfuncptr_t i_hwp ); //MPIPL Specific ReturnCode istepWithCoreSetBlock( voidfuncptr_t i_hwp ); @@ -301,7 +302,7 @@ static istepMap_t g_istep3PtrTbl[] = ISTEP_MAP( istepWithProc, p9_sbe_io_initf ), ISTEP_MAP( istepWithProc, p9_sbe_startclock_chiplets ), ISTEP_MAP( istepWithProc, p9_sbe_scominit ), - ISTEP_MAP( istepWithProc, p9_sbe_lpc_init ), + ISTEP_MAP( istepLpcInit, p9_sbe_lpc_init ), ISTEP_MAP( istepWithProc, p9_sbe_fabricinit ), ISTEP_MAP( istepCheckSbeMaster, NULL ), ISTEP_MAP( istepWithProc, p9_sbe_mcs_setup ), @@ -640,6 +641,21 @@ ReturnCode istepLoadBootLoader( voidfuncptr_t i_hwp) //---------------------------------------------------------------------------- +ReturnCode istepLpcInit( voidfuncptr_t i_hwp) +{ + ReturnCode rc = FAPI2_RC_SUCCESS; + // Only call lpc init if we are on master proc or + // are in mnfg mode. + if( !(SbeRegAccess::theSbeRegAccess().isSbeSlave()) || + (SbeRegAccess::theSbeRegAccess().isMnfgMode())) + { + rc = istepWithProc(i_hwp); + } + return rc; +} + +//---------------------------------------------------------------------------- + ReturnCode istepStartInstruction( voidfuncptr_t i_hwp) { ReturnCode rc = FAPI2_RC_SUCCESS; diff --git a/src/sbefw/core/sberegaccess.H b/src/sbefw/core/sberegaccess.H index b2d7e1d7..56f4775f 100644 --- a/src/sbefw/core/sberegaccess.H +++ b/src/sbefw/core/sberegaccess.H @@ -146,6 +146,17 @@ class SbeRegAccess } /** + * @brief Check if we are in mnfg mode + * + * @return true if in mnfg mode, false otherwise + * + */ + inline bool isMnfgMode() const + { + return iv_mnfgMode; + } + + /** * @brief Check if SBE should directly go to runtime state * * @return true if SBE should go directly to runtime state, @@ -296,7 +307,8 @@ class SbeRegAccess uint64_t iv_mbx3DontCare1 : 5; uint64_t iv_disableScomFiltering : 1; uint64_t iv_disableInvalidScomAddrCheck : 1; - uint64_t iv_mbx3DontCare2 : 19; + uint64_t iv_mnfgMode : 1; + uint64_t iv_mbx3DontCare2 : 18; uint64_t iv_mbx3Unused : 32; }; uint64_t iv_mbx3; |