diff options
author | Matt Derksen <mderkse1@us.ibm.com> | 2018-07-16 16:57:08 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-07-23 09:39:24 -0500 |
commit | 78c7928126a9ece9cd466be1e0598bf3f082b977 (patch) | |
tree | 3f24c2c76e59c66c86d7fe89ec875aab5ad6daf5 /src/usr/runtime | |
parent | 5ce2333d7d4ac137d389ed5c1ce58795d791ff01 (diff) | |
download | talos-hostboot-78c7928126a9ece9cd466be1e0598bf3f082b977.tar.gz talos-hostboot-78c7928126a9ece9cd466be1e0598bf3f082b977.zip |
Only store HRMOR value on primary node
There is a single field in HDAT where Hostboot fills in
an address where PHYP will then write the new HRMOR
value any time it changes. The problem is that the
independent Hostboot instance in each node is writing
the same field with their own node-relative address.
There is only 1 field so the last node in will win.
Then on the mpipl we won't be able to find it.
Change-Id: I18f64816f20b0a3fc2951dff457d9511ca27e1d2
CQ:SW438101
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62763
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Richard Ward <rward15@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>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@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 | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C index 5b887022c..28fab3e7d 100644 --- a/src/usr/runtime/populate_hbruntime.C +++ b/src/usr/runtime/populate_hbruntime.C @@ -556,14 +556,6 @@ errlHndl_t fill_RsvMem_hbData(uint64_t & io_start_address, ALIGN_PAGE(l_hbTOC.entry[l_hbTOC.total_entries].size); l_hbTOC.total_entries++; - // Fill in HYPCOMM size - l_hbTOC.entry[l_hbTOC.total_entries].label = Util::HBRT_MEM_LABEL_HYPCOMM; - l_hbTOC.entry[l_hbTOC.total_entries].offset = 0; - l_hbTOC.entry[l_hbTOC.total_entries].size = sizeof(hbHypCommArea_t); - l_totalSectionSize += - ALIGN_PAGE(l_hbTOC.entry[l_hbTOC.total_entries].size); - l_hbTOC.total_entries++; - // Fill in VPD_XXXX sizes (if there are any) VPD::OverrideRsvMemMap_t l_vpdOverrides; VPD::getListOfOverrideSections( l_vpdOverrides ); @@ -579,7 +571,7 @@ errlHndl_t fill_RsvMem_hbData(uint64_t & io_start_address, l_hbTOC.total_entries++; } - // Fill in the TRACEBUF only for Master Node + // Fill in the TRACEBUF & HYPCOMM only for Master Node if(i_master_node == true ) { // Fill in TRACEBUF size @@ -589,6 +581,14 @@ errlHndl_t fill_RsvMem_hbData(uint64_t & io_start_address, l_totalSectionSize += ALIGN_PAGE(l_hbTOC.entry[l_hbTOC.total_entries].size); l_hbTOC.total_entries++; + + // Fill in HYPCOMM size + l_hbTOC.entry[l_hbTOC.total_entries].label = Util::HBRT_MEM_LABEL_HYPCOMM; + l_hbTOC.entry[l_hbTOC.total_entries].offset = 0; + l_hbTOC.entry[l_hbTOC.total_entries].size = sizeof(hbHypCommArea_t); + l_totalSectionSize += + ALIGN_PAGE(l_hbTOC.entry[l_hbTOC.total_entries].size); + l_hbTOC.total_entries++; } l_totalSectionSize += sizeof(l_hbTOC); // Add 4KB Table of Contents |