diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2018-04-19 09:50:05 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-04-19 17:49:48 -0400 |
commit | 47d4e4119f6a196dd61c1b93237d3ff4af7f0cd3 (patch) | |
tree | 81e83d7a532704dcb5bd3ddad7fb4df296909863 | |
parent | a217ebf059699c655c5dd30e4ba952b220e8fc57 (diff) | |
download | talos-hostboot-47d4e4119f6a196dd61c1b93237d3ff4af7f0cd3.tar.gz talos-hostboot-47d4e4119f6a196dd61c1b93237d3ff4af7f0cd3.zip |
Move VPD cache invalidation in mfgmode after we save it for HBRT
Inside call_host_runtime_setup() there is a call to
VPD::goldenCacheInvalidate(). This function invalidates our VPD
cache in PNOR in mfg-mode in order to allow manufacturing to modify
serial numbers at runtime and have those settings take effect on
the next boot. This has been in place since early P8 OpenPOWER.
In that same function is a call to RUNTIME::populate_hbRuntimeData().
This is where we copy the Hostboot data out into mainstore for HBRT
to use later on. One of those pieces of data is the VPD cache.
In January a fix went in for a different issue that moved where
populate_hbRuntimeData() was run, putting it *after* we clear it in
mfgmode. Obviously that isn't going to work so well...
This commit moves the invalidation later in the function so that it
is after we save off the cache again.
Change-Id: Idb482b583ecdb7bb8abcb617bae4ae786c110fea
CQ: SW424124
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57469
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/usr/isteps/istep21/call_host_runtime_setup.C | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/usr/isteps/istep21/call_host_runtime_setup.C b/src/usr/isteps/istep21/call_host_runtime_setup.C index 77648b9fd..6b0327401 100644 --- a/src/usr/isteps/istep21/call_host_runtime_setup.C +++ b/src/usr/isteps/istep21/call_host_runtime_setup.C @@ -747,16 +747,6 @@ void* call_host_runtime_setup (void *io_pArgs) { break; } - - // Invalidate the VPD cache for golden side boot - // Also invalidate in manufacturing mode - // Must do this after building the devtree - l_err = VPD::goldenCacheInvalidate(); - if ( l_err ) - { - break; - } - } else if( TARGETING::is_phyp_load() ) { @@ -793,6 +783,19 @@ void* call_host_runtime_setup (void *io_pArgs) break; } + if( !INITSERVICE::spBaseServicesEnabled() ) + { + // Invalidate the VPD cache for golden side boot + // Also invalidate in manufacturing mode + // Must do this after saving away the VPD cache into mainstore, + // i.e. after RUNTIME::populate_hbRuntimeData() + l_err = VPD::goldenCacheInvalidate(); + if ( l_err ) + { + break; + } + } + if (TCE::utilUseTcesForDmas()) { // Disable all TCEs |