diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2017-04-13 10:03:54 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-04-14 12:03:30 -0400 |
commit | a51371c0acfb4b3bb04d3a6058d9664abb696dde (patch) | |
tree | a88ed43eeee688723ddfc7450a49fadbedf60b35 /src/usr/runtime | |
parent | a6100976bd9360ee8cec08c48004466f59eff235 (diff) | |
download | talos-hostboot-a51371c0acfb4b3bb04d3a6058d9664abb696dde.tar.gz talos-hostboot-a51371c0acfb4b3bb04d3a6058d9664abb696dde.zip |
Do not terminate IPL if HDAT doesn't have RHB sections
Add a check for the RHB sections in HDAT that will skip populating
the data for HBRT in OPAL mode. Note - this means HBRT is not
supported at all if this happens.
Change-Id: I4b15d31b00087d63022f3b3a91471642c8918f21
CQ: SW386123
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39219
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: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@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 | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C index 987c77647..b045a1cd7 100644 --- a/src/usr/runtime/populate_hbruntime.C +++ b/src/usr/runtime/populate_hbruntime.C @@ -484,6 +484,24 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId) else if(TARGETING::is_sapphire_load()) { + //@fixme-RTC:169478-Remove this workaround once HDAT is ready + // Check to see if HDAT has the space we need allocated + // by looking for a 3rd instance + uint64_t l_rsvMemDataAddr = 0; + uint64_t l_rsvMemDataSizeMax = 0; + l_elog = RUNTIME::get_host_data_section( RUNTIME::RESERVED_MEM, + 3, + l_rsvMemDataAddr, + l_rsvMemDataSizeMax ); + if(l_elog != nullptr) + { + TRACFCOMP( g_trac_runtime, "populate_HbRsvMem> HDAT doesn't have RHB allocated - HBRT is NOT supported here" ); + delete l_elog; + l_elog = nullptr; + break; + } + //end workaround + // Opal data goes at top_of_mem l_topMemAddr = TARGETING::get_top_mem_addr(); assert (l_topMemAddr != 0, @@ -1226,7 +1244,7 @@ errlHndl_t populate_hbRuntimeData( void ) } } - if(!TARGETING::is_no_load()) + if( !TARGETING::is_no_load() ) { l_elog = populate_HbRsvMem(nodeid); if(l_elog != nullptr) |