summaryrefslogtreecommitdiffstats
path: root/src/usr/secureboot
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2014-01-07 09:30:51 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-01-10 16:19:14 -0600
commitaa83ebd12d6cf6d6ead06e45ab61d46a53a15be3 (patch)
treed6a587a8582ac9d085b08e028c757a0ea94bb825 /src/usr/secureboot
parentea2a49ff0cd3827458025f75d5b6bd7054d18779 (diff)
downloadtalos-hostboot-aa83ebd12d6cf6d6ead06e45ab61d46a53a15be3.tar.gz
talos-hostboot-aa83ebd12d6cf6d6ead06e45ab61d46a53a15be3.zip
Remove leftover fixme/todo and update error callouts
Remove all untagged fixme/todo comments Adde new parm to error log constructor to avoid extra code in common software error case Update error callouts Add strncpy Change-Id: I8bd8f48193a96b79db91ed35c4fd485e6da38dba RTC: 67921 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7921 Tested-by: Jenkins Server Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/secureboot')
-rw-r--r--src/usr/secureboot/base/purge.C23
-rw-r--r--src/usr/secureboot/base/securerom.C26
-rw-r--r--src/usr/secureboot/base/settings.C4
3 files changed, 39 insertions, 14 deletions
diff --git a/src/usr/secureboot/base/purge.C b/src/usr/secureboot/base/purge.C
index af21a7b02..e164d6154 100644
--- a/src/usr/secureboot/base/purge.C
+++ b/src/usr/secureboot/base/purge.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013 */
+/* COPYRIGHT International Business Machines Corp. 2013,2014 */
/* */
/* p1 */
/* */
@@ -82,6 +82,16 @@ namespace SECUREBOOT
MOD_SECURE_BLINDPURGE,
RC_PURGEOP_PENDING,
data, task_getcpuid());
+ // Probably a code bug
+ l_errl->addProcedureCallout( HWAS::EPUB_PRC_HB_CODE,
+ HWAS::SRCI_PRIORITY_HIGH );
+ // But there might be something wrong with the chip
+ // or the SBE image
+ l_errl->addHwCallout(
+ TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL,
+ HWAS::SRCI_PRIORITY_LOW,
+ HWAS::NO_DECONFIG,
+ HWAS::GARD_NULL );
break;
}
@@ -121,7 +131,7 @@ namespace SECUREBOOT
* @errortype
* @moduleid SECUREBOOT::MOD_SECURE_BLINDPURGE
* @reasoncode SECUREBOOT::RC_PURGEOP_FAIL_COMPLETE
- * @userdata1 SCOM value.
+ * @userdata1 SCOM value of Reg 0x1001080E
* @devdesc Purge operation never completed.
*/
l_errl =
@@ -129,6 +139,15 @@ namespace SECUREBOOT
MOD_SECURE_BLINDPURGE,
RC_PURGEOP_FAIL_COMPLETE,
data);
+ // Most likely a hardware issue of some sort
+ l_errl->addHwCallout(
+ TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL,
+ HWAS::SRCI_PRIORITY_HIGH,
+ HWAS::NO_DECONFIG,
+ HWAS::GARD_NULL );
+ // Could also be a code bug
+ l_errl->addProcedureCallout( HWAS::EPUB_PRC_HB_CODE,
+ HWAS::SRCI_PRIORITY_MED );
break;
}
diff --git a/src/usr/secureboot/base/securerom.C b/src/usr/secureboot/base/securerom.C
index d656c650d..1b3bf4f1f 100644
--- a/src/usr/secureboot/base/securerom.C
+++ b/src/usr/secureboot/base/securerom.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013 */
+/* COPYRIGHT International Business Machines Corp. 2013,2014 */
/* */
/* p1 */
/* */
@@ -169,9 +169,10 @@ errlHndl_t SecureROM::initialize()
SECUREBOOT::MOD_SECURE_ROM_INIT,
SECUREBOOT::RC_DEV_MAP_FAIL,
TO_UINT64(tbrom_reg_addr),
- tbrom_reg_data);
+ tbrom_reg_data,
+ true /*Add HB Software Callout*/ );
- l_errl->collectTrace("SECURE",256);
+ l_errl->collectTrace(SECURE_COMP_NAME,256);
break;
}
@@ -227,9 +228,10 @@ errlHndl_t SecureROM::initialize()
SECUREBOOT::MOD_SECURE_ROM_INIT,
SECUREBOOT::RC_SET_PERMISSION_FAIL_EXE,
TO_UINT64(l_rc),
- reinterpret_cast<uint64_t>(iv_device_ptr));
+ reinterpret_cast<uint64_t>(iv_device_ptr),
+ true /*Add HB Software Callout*/ );
- l_errl->collectTrace("SECURE",256);
+ l_errl->collectTrace(SECURE_COMP_NAME,256);
break;
}
@@ -247,7 +249,7 @@ errlHndl_t SecureROM::initialize()
TRACFCOMP(g_trac_secure,ERR_MRK"SecureROM::initialize():"
" SecureROM::getHwHashKeys() returned an error");
- l_errl->collectTrace("SECURE",256);
+ l_errl->collectTrace(SECURE_COMP_NAME,256);
break;
}
@@ -360,9 +362,12 @@ errlHndl_t SecureROM::verifyContainer(void * i_container, size_t i_size)
SECUREBOOT::MOD_SECURE_ROM_VERIFY,
SECUREBOOT::RC_ROM_VERIFY,
l_rc,
- l_hw_parms.log);
+ l_hw_parms.log,
+ true /*Add HB Software Callout*/ );
+ // Callout code to force a rewrite of the contents
+ //@todo RTC:93870 - Define new callout for verification fail
- l_errl->collectTrace("SECURE",256);
+ l_errl->collectTrace(SECURE_COMP_NAME,256);
break;
}
@@ -454,9 +459,10 @@ void SecureROM::_cleanup()
SECUREBOOT::MOD_SECURE_ROM_CLEANUP,
SECUREBOOT::RC_SET_PERMISSION_FAIL_WRITE,
TO_UINT64(l_rc),
- reinterpret_cast<uint64_t>(iv_device_ptr));
+ reinterpret_cast<uint64_t>(iv_device_ptr),
+ true /*Add HB Software Callout*/ );
- l_errl->collectTrace("SECURE",256);
+ l_errl->collectTrace(SECURE_COMP_NAME,256);
// Commit here because funtion doesn't return error handle
errlCommit(l_errl, SECURE_COMP_ID);
diff --git a/src/usr/secureboot/base/settings.C b/src/usr/secureboot/base/settings.C
index 1974fd158..f8036f1f2 100644
--- a/src/usr/secureboot/base/settings.C
+++ b/src/usr/secureboot/base/settings.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013 */
+/* COPYRIGHT International Business Machines Corp. 2013,2014 */
/* */
/* p1 */
/* */
@@ -27,7 +27,7 @@
// SECUREBOOT : General driver traces
trace_desc_t* g_trac_secure = NULL;
-TRAC_INIT(&g_trac_secure, "SECURE", KILOBYTE); //1K
+TRAC_INIT(&g_trac_secure, SECURE_COMP_NAME, KILOBYTE); //1K
namespace SECUREBOOT
OpenPOWER on IntegriCloud