diff options
author | Stephen Cprek <smcprek@us.ibm.com> | 2017-12-07 10:01:48 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-12-12 17:50:35 -0500 |
commit | 92466e69168a996395f214001a90c7c7cb70b0bf (patch) | |
tree | 998cf1dd892a5715cf6af288508faa1d30601d64 /src/usr/runtime | |
parent | a1f431ee3a68d366851b276c5a022a769527a26c (diff) | |
download | talos-hostboot-92466e69168a996395f214001a90c7c7cb70b0bf.tar.gz talos-hostboot-92466e69168a996395f214001a90c7c7cb70b0bf.zip |
Modify how POWERVM is processed in the MCL manager
POWERVM is verified and loaded to its final location before the MCL
processing occurs. Therefore we only need to get the lid sizes and
create HDAT entries
Additionally it was found that sorting the CompInfoMap resulted to
direct key lookup to not work for the POWERVM component, so removed it.
Change-Id: I5008a1eaa01e0910743fdb11fa73b73a26eccd63
RTC: 181900
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50644
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-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>
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/runtime')
-rw-r--r-- | src/usr/runtime/preverifiedlidmgr.C | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/usr/runtime/preverifiedlidmgr.C b/src/usr/runtime/preverifiedlidmgr.C index b63d565f5..e4ec082ac 100644 --- a/src/usr/runtime/preverifiedlidmgr.C +++ b/src/usr/runtime/preverifiedlidmgr.C @@ -310,7 +310,6 @@ errlHndl_t PreVerifiedLidMgr::_loadFromMCL(const uint32_t i_lidId, if (i_isPhypComp) { cv_pResvMemInfo = &cv_phypResvMemInfo; - TRACFCOMP( g_trac_runtime, "PreVerifiedLidMgr::_loadFromMCL - Loading Special Component PHYP"); } do { @@ -345,12 +344,23 @@ errlHndl_t PreVerifiedLidMgr::_loadFromMCL(const uint32_t i_lidId, break; } - // Load image into HB reserved memory - l_errl = loadImage(i_addr, i_size); - if(l_errl) + // Phyp component has already been loaded and verified before MCL mgr + // Simply update HB reserved prev size in Phyp component case + if (i_isPhypComp) { - TRACFCOMP( g_trac_runtime, ERR_MRK"PreVerifiedLidMgr::_loadFromMCL - Load Image failed"); - break; + // align previous size to page size to ensure starting addresses are + // page aligned. + cv_pResvMemInfo->prevSize = ALIGN_PAGE(i_size); + } + else + { + // Load image into HB reserved memory + l_errl = loadImage(i_addr, i_size); + if(l_errl) + { + TRACFCOMP( g_trac_runtime, ERR_MRK"PreVerifiedLidMgr::_loadFromMCL - Load Image failed"); + break; + } } // Indicate the lid has been loaded |