diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2018-02-04 08:31:59 -0600 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-02-06 12:04:48 -0500 |
commit | 7b2ee59900c674255f559034535923709b4ae070 (patch) | |
tree | fb8e798816e1f52d46ce3f2c5674b48720449ffe /src/usr/runtime | |
parent | 9225a7cd9cfa3d29d32d46f2fd9a76ff3e53df37 (diff) | |
download | talos-hostboot-7b2ee59900c674255f559034535923709b4ae070.tar.gz talos-hostboot-7b2ee59900c674255f559034535923709b4ae070.zip |
Fixes for multinode istep 21.1
-Reordered start_payload to ensure that common things like
disabling special wakeup, closing down SBE windows, core xstop,
and clearing PM bars are executed as part of our shutdown path
-Due to above, needed to correct shared libs loaded on non master
HB instance
-Added back in the P8 code to pass the payload base to slave HB
Instances on populate attr IPC message
Change-Id: I5371b9daf7a4e1aadd1743badcd4219604a38ce7
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53343
Tested-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/runtime')
-rw-r--r-- | src/usr/runtime/populate_hbruntime.C | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C index 745be97b9..d8faf94dd 100644 --- a/src/usr/runtime/populate_hbruntime.C +++ b/src/usr/runtime/populate_hbruntime.C @@ -2408,6 +2408,7 @@ errlHndl_t populate_hbRuntimeData( void ) else { // multi-node system + uint64_t payloadBase = sys->getAttr<TARGETING::ATTR_PAYLOAD_BASE>(); // populate our own node specific data + the common stuff l_elog = populate_HbRsvMem(nodeid,true); @@ -2455,6 +2456,7 @@ errlHndl_t populate_hbRuntimeData( void ) msg->type = IPC::IPC_POPULATE_ATTRIBUTES; msg->data[0] = l_node; // destination node msg->data[1] = nodeid; // respond to this node + msg->extra_data = reinterpret_cast<uint64_t*>(payloadBase); // send the message to the slave hb instance l_elog = MBOX::send(MBOX::HB_IPC_MSGQ, msg, l_node); @@ -2708,5 +2710,12 @@ errlHndl_t openUntrustedSpCommArea() return l_err; } +void setPayloadBaseAddress(uint64_t i_payloadAddress) +{ + TARGETING::Target * sys = NULL; + TARGETING::targetService().getTopLevelTarget( sys ); + sys->setAttr<TARGETING::ATTR_PAYLOAD_BASE>(i_payloadAddress); +} + } //namespace RUNTIME |