diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2015-02-24 10:41:02 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-03-10 22:42:32 -0500 |
commit | d75a32eaa8312aa7f057a73479f74747b73e54f2 (patch) | |
tree | 8fb6bfda20a2bfc13a49472870d6439df65ac2e3 /src/usr/hwas | |
parent | a4e3995bbd258ec44d3b9b1b7f3e8d22538e4e71 (diff) | |
download | blackbird-hostboot-d75a32eaa8312aa7f057a73479f74747b73e54f2.tar.gz blackbird-hostboot-d75a32eaa8312aa7f057a73479f74747b73e54f2.zip |
Clear out VPD caches when booting with a golden image
Change-Id: Ie371e855dc53655ac0d9d3f10119a2253cfab77d
RTC: 124570
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15964
Tested-by: Jenkins Server
Reviewed-by: PRACHI GUPTA <pragupta@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwas')
-rw-r--r-- | src/usr/hwas/hwasPlat.C | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/usr/hwas/hwasPlat.C b/src/usr/hwas/hwasPlat.C index 71ed3bbad..80c36f95d 100644 --- a/src/usr/hwas/hwasPlat.C +++ b/src/usr/hwas/hwasPlat.C @@ -381,6 +381,30 @@ errlHndl_t platPresenceDetect(TargetHandleList &io_targets) { errlHndl_t errl = NULL; +#ifdef CONFIG_PNOR_TWO_SIDE_SUPPORT + // If we're booting from the golden side of PNOR we need + // to wipe out our VPD caches to force a re-read of + // the data from hardware + PNOR::SideInfo_t l_pnorInfo; + errl = PNOR::getSideInfo( PNOR::WORKING, l_pnorInfo ); + if( errl ) + { + // commit the error but keep going + errlCommit(errl, HWAS_COMP_ID); + // force the caches to get wiped out just in case + l_pnorInfo.isGolden = true; + } + if( l_pnorInfo.isGolden ) + { + errl = VPD::invalidateAllPnorCaches(false); + if( errl ) + { + // commit the error but keep going + errlCommit(errl, HWAS_COMP_ID); + } + } +#endif + // we got a list of targets - determine if they are present // if not, delete them from the list for (TargetHandleList::iterator pTarget_it = io_targets.begin(); |