summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/runtime')
-rw-r--r--src/usr/runtime/preverifiedlidmgr.C22
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
OpenPOWER on IntegriCloud