diff options
| author | Stephen Cprek <smcprek@us.ibm.com> | 2018-01-16 14:15:36 -0600 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-01-22 23:39:14 -0500 |
| commit | 038392cae8c5a50b0098000566167fef68d047f5 (patch) | |
| tree | 9bacc708ef80aaf79d4dd0eed40aa0ebf5cf1898 /src/usr/runtime | |
| parent | 07f9a377153875d5d00763b96b33e40a49ec274b (diff) | |
| download | talos-hostboot-038392cae8c5a50b0098000566167fef68d047f5.tar.gz talos-hostboot-038392cae8c5a50b0098000566167fef68d047f5.zip | |
Move closing all unsecure memory regions to 21.3
Current windows that are left open at end of IPL
- SBE FFDC
- CPU Controls SP ATTN area
- 0-64MB for SP ATTN
Change-Id: I887fc63bcc70f2351530741bd251db12732a5948
RTC:168745
Backport:release-fips910
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52045
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@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 | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C index afd0a6b10..9994f24cc 100644 --- a/src/usr/runtime/populate_hbruntime.C +++ b/src/usr/runtime/populate_hbruntime.C @@ -1064,6 +1064,9 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId) l_prevDataAddr = l_sbeffdcAddr; l_prevDataSize = l_sbeffdcSizeAligned; + // Save SBE FFDC address to attribute + l_procChip->setAttr<TARGETING::ATTR_SBE_FFDC_ADDR>(l_sbeffdcAddr); + // Open Unsecure Memory Region for SBE FFDC Section l_elog = SBEIO::openUnsecureMemRegion(l_sbeffdcAddr, l_sbeffdcSize, @@ -2383,8 +2386,8 @@ errlHndl_t openUntrustedSpCommArea() getAllChips(l_procChips, TARGETING::TYPE_PROC); for (const auto & l_procChip : l_procChips) { - // Get Instance ID of proc for trace - uint32_t l_id = l_procChip->getAttr<TARGETING::ATTR_HBRT_HYP_ID>(); + // Get HUID of proc for trace + auto l_id = TARGETING::get_huid(l_procChip); // Open SP ATTN region l_err = SBEIO::openUnsecureMemRegion(l_spAttnStartAddr, @@ -2417,6 +2420,27 @@ errlHndl_t openUntrustedSpCommArea() break; } } + + // Open Unsecure Memory Region for SBE FFDC Section + uint64_t l_sbeffdcAddr = + l_procChip->getAttr<TARGETING::ATTR_SBE_FFDC_ADDR>(); + uint64_t l_sbeffdcSize = + SBEIO::SbePsu::getTheInstance().getSbeFFDCBufferSize(); + + // Open Unsecure Memory Region for SBE FFDC Section + l_err = SBEIO::openUnsecureMemRegion(l_sbeffdcAddr, + l_sbeffdcSize, + false, //Read-Only + l_procChip); + if(l_err) + { + TRACFCOMP( g_trac_runtime, ERR_MRK "openUntrustedSpCommArea(): openUnsecureMemRegion() failed proc = 0x%X addr = 0x%016llx size = 0x%X", + l_id, + l_sbeffdcAddr, + l_sbeffdcSize); + + break; + } } if(l_err) { |

