summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2017-04-03 13:30:00 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-04-11 12:18:55 -0400
commite9f4e404c176db85b2d4a445cdfe3ddaccad7cfa (patch)
treefa31713b1ba1188a1595d664cb4acbdb50d1e88c /src/usr/runtime
parentedb74f80cc2a8a0e51de869c2a77517e0184b50e (diff)
downloadblackbird-hostboot-e9f4e404c176db85b2d4a445cdfe3ddaccad7cfa.tar.gz
blackbird-hostboot-e9f4e404c176db85b2d4a445cdfe3ddaccad7cfa.zip
Ensure 64K alignment and size for Reserved Hostboot Memory sections
Force Reserved Hostboot Memory sections to be at least 64KB in size. Change-Id: I981451ab7998ebda8005f3b25efc0df93ecdf118 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38748 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/runtime')
-rw-r--r--src/usr/runtime/populate_hbruntime.C9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C
index 04cfb8465..987c77647 100644
--- a/src/usr/runtime/populate_hbruntime.C
+++ b/src/usr/runtime/populate_hbruntime.C
@@ -615,6 +615,7 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId)
l_rngPtr->hdatRhbRngId = i_nodeId;
l_rngPtr->hdatRhbAddrRngStrAddr =
l_vpdAddr | VmmManager::FORCE_PHYS_ADDR;
+ // Note: VMM_RT_VPD_SIZE is already 64KB aligned
l_rngPtr->hdatRhbAddrRngEndAddr =
(l_vpdAddr | VmmManager::FORCE_PHYS_ADDR)
+ VMM_RT_VPD_SIZE - 1 ;
@@ -678,9 +679,11 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId)
l_rngPtr->hdatRhbRngId = i_nodeId;
l_rngPtr->hdatRhbAddrRngStrAddr =
l_attrDataAddr | VmmManager::FORCE_PHYS_ADDR;
+ // Minimum 64K size for Opal
+ size_t l_attrSizeAligned = ALIGN_X( l_attrSize, 64*KILOBYTE );
l_rngPtr->hdatRhbAddrRngEndAddr =
(l_attrDataAddr | VmmManager::FORCE_PHYS_ADDR)
- + l_attrSize - 1 ;
+ + l_attrSizeAligned - 1 ;
l_rngPtr->hdatRhbLabelSize = l_labelSize;
memcpy( l_rngPtr->hdatRhbLabelString,
l_label,
@@ -755,9 +758,11 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId)
l_rngPtr->hdatRhbRngId = i_nodeId;
l_rngPtr->hdatRhbAddrRngStrAddr =
l_hbrtImageAddr | VmmManager::FORCE_PHYS_ADDR;
+ // Minimum 64K size for Opal
+ size_t l_attrSizeAligned = ALIGN_X( l_imageSize, 64*KILOBYTE );
l_rngPtr->hdatRhbAddrRngEndAddr =
(l_hbrtImageAddr | VmmManager::FORCE_PHYS_ADDR)
- + l_imageSize - 1 ;
+ + l_attrSizeAligned - 1 ;
l_rngPtr->hdatRhbLabelSize = l_labelSize;
memcpy( l_rngPtr->hdatRhbLabelString,
l_label,
OpenPOWER on IntegriCloud