diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2014-01-07 09:30:51 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-01-10 16:19:14 -0600 |
commit | aa83ebd12d6cf6d6ead06e45ab61d46a53a15be3 (patch) | |
tree | d6a587a8582ac9d085b08e028c757a0ea94bb825 /src/usr/secureboot | |
parent | ea2a49ff0cd3827458025f75d5b6bd7054d18779 (diff) | |
download | talos-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.C | 23 | ||||
-rw-r--r-- | src/usr/secureboot/base/securerom.C | 26 | ||||
-rw-r--r-- | src/usr/secureboot/base/settings.C | 4 |
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 |