summaryrefslogtreecommitdiffstats
path: root/src/usr/pnor
diff options
context:
space:
mode:
authorIlya Smirnov <ismirno@us.ibm.com>2019-07-29 09:54:40 -0500
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-08-29 16:34:42 -0500
commit3db6c1479f40d745525e3414bdce95d5f280a660 (patch)
tree5fe237ba93c74fc36e502dd25ec373717058cb05 /src/usr/pnor
parentc4df5e9188e2e6faed08eb10de3386673b64adfa (diff)
downloadtalos-hostboot-3db6c1479f40d745525e3414bdce95d5f280a660.tar.gz
talos-hostboot-3db6c1479f40d745525e3414bdce95d5f280a660.zip
Cache VERSION Partition
This commit adds logic to cache the VERSION partition so that errl commit function is able to use the cached data instead of sending messages to SPnorRP queue. Said messages also cause deadlocks if secureboot verifications fail, since the code attempts to send a synch message to the SPnorRP queue while it's handling another synch message. These changes only impact OP systems and code paths. Change-Id: I9eeb05878d98fb2891fe76adc06ad376edc77fbe CQ: SW465038 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82304 Reviewed-by: Nicholas E Bofferding <bofferdn@us.ibm.com> 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: Glenn Miles <milesg@ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/pnor')
-rw-r--r--src/usr/pnor/pnorrp.C7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/usr/pnor/pnorrp.C b/src/usr/pnor/pnorrp.C
index cb70eb94c..2c531e63e 100644
--- a/src/usr/pnor/pnorrp.C
+++ b/src/usr/pnor/pnorrp.C
@@ -214,6 +214,13 @@ void PnorRP::init( errlHndl_t &io_rtaskRetErrl )
#ifdef CONFIG_SECUREBOOT
// Extend the base image to the TPM, regardless of how it was obtained
l_errl = TRUSTEDBOOT::extendBaseImage();
+
+ // Cache the VERSION partition data for future use by the errl commit
+ // code.
+ if(!l_errl)
+ {
+ l_errl = ERRORLOG::cacheVersionPartition();
+ }
#endif
#endif
}
OpenPOWER on IntegriCloud