diff options
author | Chris Cain <cjcain@us.ibm.com> | 2019-04-22 15:22:44 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-04-30 13:27:01 -0500 |
commit | cbf60d385958cca0ad6c35926284cf35e62da65b (patch) | |
tree | 53c629e9aeaadbed16bc74ca5b2f1358fe8ac1a6 | |
parent | 6c39a01069eceea95e0637d5d943aa80f8b3e0a0 (diff) | |
download | talos-hostboot-cbf60d385958cca0ad6c35926284cf35e62da65b.tar.gz talos-hostboot-cbf60d385958cca0ad6c35926284cf35e62da65b.zip |
Add SMF mode flag to HOMER for use by OCC
Change-Id: I03daab724811f09aa83c4e0d7929f0a013a2b731
RTC: 164116
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76398
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Reviewed-by: Sheldon Bailey <baileysh@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rwxr-xr-x | src/build/tools/listdeps.pl | 1 | ||||
-rw-r--r-- | src/include/usr/isteps/istep07list.H | 3 | ||||
-rw-r--r-- | src/include/usr/isteps/istep15list.H | 3 | ||||
-rw-r--r-- | src/include/usr/isteps/istep21list.H | 1 | ||||
-rw-r--r-- | src/include/usr/isteps/pm/occCheckstop.H | 6 | ||||
-rw-r--r-- | src/include/usr/isteps/pm/pm_common_ext.H | 5 | ||||
-rw-r--r-- | src/usr/initservice/extinitsvc/extinitsvctasks.H | 12 | ||||
-rw-r--r-- | src/usr/isteps/pm/occCheckstop.C | 13 | ||||
-rw-r--r-- | src/usr/isteps/pm/pm_common.C | 10 | ||||
-rw-r--r-- | src/usr/isteps/pm/pm_common.H | 6 |
10 files changed, 52 insertions, 8 deletions
diff --git a/src/build/tools/listdeps.pl b/src/build/tools/listdeps.pl index 9bad71ef9..2eaf7a6ad 100755 --- a/src/build/tools/listdeps.pl +++ b/src/build/tools/listdeps.pl @@ -229,6 +229,7 @@ my $resident_modules = { "libexpaccess.so" => '1', "libnvdimm.so" => '1', "libmmio.so" => '1', + "libsmf.so" => '1', }; # A list of the dependent libraries in each istep. diff --git a/src/include/usr/isteps/istep07list.H b/src/include/usr/isteps/istep07list.H index 4b1feb1b6..2fb8eb49f 100644 --- a/src/include/usr/isteps/istep07list.H +++ b/src/include/usr/isteps/istep07list.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2018 */ +/* Contributors Listed Below - COPYRIGHT 2012,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -170,7 +170,6 @@ const DepModInfo g_istep07Dependancies = { #ifndef CONFIG_FSP_BUILD DEP_LIB(libnvram.so), #endif - DEP_LIB(libsmf.so), NULL } }; diff --git a/src/include/usr/isteps/istep15list.H b/src/include/usr/isteps/istep15list.H index d32145d0c..8041d279b 100644 --- a/src/include/usr/isteps/istep15list.H +++ b/src/include/usr/isteps/istep15list.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2018 */ +/* Contributors Listed Below - COPYRIGHT 2012,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -141,7 +141,6 @@ const DepModInfo g_istep15Dependancies = { DEP_LIB(libpm.so), DEP_LIB(libimageprocs.so), DEP_LIB(libisteps_mss.so), - DEP_LIB(libsmf.so), NULL } }; diff --git a/src/include/usr/isteps/istep21list.H b/src/include/usr/isteps/istep21list.H index 18f029fad..65f62fab4 100644 --- a/src/include/usr/isteps/istep21list.H +++ b/src/include/usr/isteps/istep21list.H @@ -135,7 +135,6 @@ const DepModInfo g_istep21Dependancies = { #ifdef CONFIG_UCD_FLASH_UPDATES DEP_LIB(libucd.so), #endif - DEP_LIB(libsmf.so), NULL } }; diff --git a/src/include/usr/isteps/pm/occCheckstop.H b/src/include/usr/isteps/pm/occCheckstop.H index 026c8db55..edb4b4ab3 100644 --- a/src/include/usr/isteps/pm/occCheckstop.H +++ b/src/include/usr/isteps/pm/occCheckstop.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2017 */ +/* Contributors Listed Below - COPYRIGHT 2014,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -47,6 +47,10 @@ namespace HBOCC NOT_FIR_MASTER = 0x00000000, IS_FIR_MASTER = 0x00000001, + // SMF Mode + SMF_MODE_DISABLED = 0x00000000, + SMF_MODE_ENABLED = 0x00000001, + // SRAM Addresses for OCC Main App and GPE0 app OCC_405_SRAM_ADDRESS = 0xFFF40000, OCC_GPE0_SRAM_ADDRESS = 0xFFF01000, diff --git a/src/include/usr/isteps/pm/pm_common_ext.H b/src/include/usr/isteps/pm/pm_common_ext.H index 307dfbc7f..5c6e3985d 100644 --- a/src/include/usr/isteps/pm/pm_common_ext.H +++ b/src/include/usr/isteps/pm/pm_common_ext.H @@ -52,6 +52,11 @@ namespace HBPM // FIR collection configuration data needed by FIR Master // OCC in the event of a checkstop uint8_t firdataConfig[3072]; + + // For informing OCC if SMF mode is enabled: + // 0x00000000 = Default (SMF disabled) + // 0x00000001 = SMF mode is enabled + uint32_t smfMode; }; /** diff --git a/src/usr/initservice/extinitsvc/extinitsvctasks.H b/src/usr/initservice/extinitsvc/extinitsvctasks.H index ef8fb76f0..b57469430 100644 --- a/src/usr/initservice/extinitsvc/extinitsvctasks.H +++ b/src/usr/initservice/extinitsvc/extinitsvctasks.H @@ -430,6 +430,18 @@ const TaskInfo g_exttaskinfolist[] = { }, #endif + /** + * @brief SMF module + */ + { + "libsmf.so", // taskname + NULL, // no pointer to fn + { + INIT_TASK, // task type + EXT_IMAGE, // Extended Module + } + }, + // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // NOTE: libistepdisp.so needs to always be last in this list!! // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/src/usr/isteps/pm/occCheckstop.C b/src/usr/isteps/pm/occCheckstop.C index 44b7296f0..a9154e2c6 100644 --- a/src/usr/isteps/pm/occCheckstop.C +++ b/src/usr/isteps/pm/occCheckstop.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2013,2018 */ +/* Contributors Listed Below - COPYRIGHT 2013,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -59,6 +59,7 @@ #include <pnorif.H> #include <pnor_const.H> #include <utillidmgr.H> +#include <secureboot/smf_utils.H> #ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS #include <diag/prdf/prdfWriteHomerFirData.H> @@ -476,6 +477,16 @@ namespace HBOCC l_errl = PRDF::writeHomerFirData( config_data->firdataConfig, sizeof(config_data->firdataConfig), i_curHw); + + if (SECUREBOOT::SMF::isSmfEnabled()) + { + config_data->smfMode = SMF_MODE_ENABLED; + } + else + { + config_data->smfMode = SMF_MODE_DISABLED; + } + if (l_errl) { TRACFCOMP( g_fapiImpTd, diff --git a/src/usr/isteps/pm/pm_common.C b/src/usr/isteps/pm/pm_common.C index 376ec0278..ea8f16118 100644 --- a/src/usr/isteps/pm/pm_common.C +++ b/src/usr/isteps/pm/pm_common.C @@ -82,6 +82,7 @@ #include <p9_stop_api.H> #include <scom/scomif.H> #include <p9_quad_scom_addresses.H> +#include <secureboot/smf_utils.H> #ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS @@ -242,6 +243,15 @@ namespace HBPM l_config_data->firMaster = 0; #endif + if (SECUREBOOT::SMF::isSmfEnabled()) + { + l_config_data->smfMode = SMF_MODE_ENABLED; + } + else + { + l_config_data->smfMode = SMF_MODE_DISABLED; + } + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, EXIT_MRK"loadHostDataToHomer: RC=0x%X, PLID=0x%lX", ERRL_GETRC_SAFE(l_errl), ERRL_GETPLID_SAFE(l_errl) ); diff --git a/src/usr/isteps/pm/pm_common.H b/src/usr/isteps/pm/pm_common.H index 6d167dbda..c8354e5d0 100644 --- a/src/usr/isteps/pm/pm_common.H +++ b/src/usr/isteps/pm/pm_common.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -48,6 +48,10 @@ namespace HBPM NOT_FIR_MASTER = 0x00000000, IS_FIR_MASTER = 0x00000001, + // SMF Mode + SMF_MODE_DISABLED = 0x00000000, + SMF_MODE_ENABLED = 0x00000001, + // Mask off bit zero PHYSICAL_ADDR_MASK = 0x7FFFFFFFFFFFFFFF, VER_EYECATCH = 0x56455253494F4E00, //'VERSION\0' |