diff options
| author | Dan Crowell <dcrowell@us.ibm.com> | 2017-04-03 13:30:00 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-04-11 12:18:55 -0400 |
| commit | e9f4e404c176db85b2d4a445cdfe3ddaccad7cfa (patch) | |
| tree | fa31713b1ba1188a1595d664cb4acbdb50d1e88c /src/usr/runtime | |
| parent | edb74f80cc2a8a0e51de869c2a77517e0184b50e (diff) | |
| download | blackbird-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.C | 9 |
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, |

