summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2018-04-19 09:50:05 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-19 17:49:48 -0400
commit47d4e4119f6a196dd61c1b93237d3ff4af7f0cd3 (patch)
tree81e83d7a532704dcb5bd3ddad7fb4df296909863
parenta217ebf059699c655c5dd30e4ba952b220e8fc57 (diff)
downloadtalos-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.C23
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
OpenPOWER on IntegriCloud