summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Cain <cjcain@us.ibm.com>2019-04-22 15:22:44 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-04-30 13:27:01 -0500
commitcbf60d385958cca0ad6c35926284cf35e62da65b (patch)
tree53c629e9aeaadbed16bc74ca5b2f1358fe8ac1a6
parent6c39a01069eceea95e0637d5d943aa80f8b3e0a0 (diff)
downloadtalos-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-xsrc/build/tools/listdeps.pl1
-rw-r--r--src/include/usr/isteps/istep07list.H3
-rw-r--r--src/include/usr/isteps/istep15list.H3
-rw-r--r--src/include/usr/isteps/istep21list.H1
-rw-r--r--src/include/usr/isteps/pm/occCheckstop.H6
-rw-r--r--src/include/usr/isteps/pm/pm_common_ext.H5
-rw-r--r--src/usr/initservice/extinitsvc/extinitsvctasks.H12
-rw-r--r--src/usr/isteps/pm/occCheckstop.C13
-rw-r--r--src/usr/isteps/pm/pm_common.C10
-rw-r--r--src/usr/isteps/pm/pm_common.H6
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'
OpenPOWER on IntegriCloud