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/isteps/istep21 | |
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/isteps/istep21')
-rw-r--r-- | src/usr/isteps/istep21/call_host_runtime_setup.C | 27 | ||||
-rw-r--r-- | src/usr/isteps/istep21/call_host_start_payload.C | 26 |
2 files changed, 25 insertions, 28 deletions
diff --git a/src/usr/isteps/istep21/call_host_runtime_setup.C b/src/usr/isteps/istep21/call_host_runtime_setup.C index a9dc89305..8140d8f45 100644 --- a/src/usr/isteps/istep21/call_host_runtime_setup.C +++ b/src/usr/isteps/istep21/call_host_runtime_setup.C @@ -463,18 +463,6 @@ void* call_host_runtime_setup (void *io_pArgs) "Successfully sent all system configs to procs via SBE chip op !!"); } - // Tell SBE to Close All Unsecure Memory Regions - // @TODO RTC 168745 - Move to istep 21.3 (closer to shutdown) - l_err = SBEIO::closeAllUnsecureMemRegions(); - if ( l_err ) - { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "SBEIO::closeAllUnsecureMemRegions Failed" ); - // break from do loop if error occured - break; - } - - // Need to load up the runtime module if it isn't already loaded if ( !VFS::module_is_loaded( "libruntime.so" ) ) { @@ -687,7 +675,6 @@ void* call_host_runtime_setup (void *io_pArgs) } } - // Fill in Hostboot runtime data for all nodes // (adjunct partition) // Write the HB runtime data into mainstore @@ -699,20 +686,6 @@ void* call_host_runtime_setup (void *io_pArgs) // break from do loop if error occurred break; } - - // Open untrusted SP communication area if there is a PAYLOAD - // NOTE: Must be after all HDAT processing - if( !(TARGETING::is_no_load()) ) - { - l_err = RUNTIME::openUntrustedSpCommArea(); - if (l_err) - { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "Failed openUntrustedSpCommArea" ); - break; - } - } - } while(0); if( l_err ) diff --git a/src/usr/isteps/istep21/call_host_start_payload.C b/src/usr/isteps/istep21/call_host_start_payload.C index 772011864..039db3f6f 100644 --- a/src/usr/isteps/istep21/call_host_start_payload.C +++ b/src/usr/isteps/istep21/call_host_start_payload.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2017 */ +/* Contributors Listed Below - COPYRIGHT 2015,2018 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -55,6 +55,8 @@ #include <config.h> #include <errno.h> #include <p9_int_scom.H> +#include <sbeio/sbeioif.H> +#include <runtime/runtime.H> #ifdef CONFIG_DRTM_TRIGGERING #include <secureboot/drtm.H> @@ -320,6 +322,28 @@ void* call_host_start_payload (void *io_pArgs) break; } + // Tell SBE to Close All Unsecure Memory Regions + l_errl = SBEIO::closeAllUnsecureMemRegions(); + if (l_errl) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + ERR_MRK "call_host_start_payload: Failed SBEIO::closeAllUnsecureMemRegions" ); + break; + } + + // Open untrusted SP communication area if there is a PAYLOAD + // NOTE: Must be after all HDAT processing + if( !(TARGETING::is_no_load()) ) + { + l_errl = RUNTIME::openUntrustedSpCommArea(); + if (l_errl) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + ERR_MRK"call_host_start_payload: Failed openUntrustedSpCommArea" ); + break; + } + } + // - Call shutdown using payload base, and payload entry. // - base/entry will be from system attributes // - this will start the payload (Phyp) |