summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorThi Tran <thi@us.ibm.com>2018-01-29 20:56:41 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-02-03 19:48:04 -0500
commit53b3c1f1d859cb5a6b03060b46933d4ac049ca83 (patch)
treeb97feb581ebce9cd0b4156315c16bc4de8660517 /src/include
parent07c9730e0a3ff5bf6ca59b09fc91da69ac4c9753 (diff)
downloadtalos-hostboot-53b3c1f1d859cb5a6b03060b46933d4ac049ca83.tar.gz
talos-hostboot-53b3c1f1d859cb5a6b03060b46933d4ac049ca83.zip
HB supports - Use ADU chipops to switch fabric configuration
Change-Id: I090cdac654d9c6efbe30748713687c6e36ff914d RTC:177597 CQ:SW413432 Backport: release-fips910 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52878 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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/fapi2/subroutine_executor.H40
-rw-r--r--src/include/usr/isteps/istep06list.H3
-rw-r--r--src/include/usr/isteps/istep07list.H3
-rw-r--r--src/include/usr/isteps/istep09list.H1
-rw-r--r--src/include/usr/isteps/istep10list.H3
-rw-r--r--src/include/usr/isteps/istep12list.H3
-rw-r--r--src/include/usr/isteps/istep14list.H3
-rw-r--r--src/include/usr/isteps/istep15list.H3
-rw-r--r--src/include/usr/isteps/istep16list.H3
-rw-r--r--src/include/usr/isteps/istep21list.H3
10 files changed, 46 insertions, 19 deletions
diff --git a/src/include/usr/fapi2/subroutine_executor.H b/src/include/usr/fapi2/subroutine_executor.H
index 82ca296a3..f0a223ab9 100644
--- a/src/include/usr/fapi2/subroutine_executor.H
+++ b/src/include/usr/fapi2/subroutine_executor.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -45,6 +45,9 @@
#include <secureboot/service.H>
#include <plat_hw_access.H>
+// Debug trace
+#define DEBUG_TRACE 0 // 0 = disable
+
/**
* @brief Given a hwp name, and its parameters, serialize the parmeters and pass the serialized
* data to the SBE via a FIFO chipop
@@ -59,26 +62,35 @@ errlHndl_t requestHwpViaSbe(const char * i_hwpName, TARGETING::Target * i_target
{
errlHndl_t l_errl = nullptr;
- //Determine argument byte size
+ // Retrieve argument byte size
size_t l_sizeOfArgInBytes =0;
using expander = int[];
(void) expander{ 0, (l_sizeOfArgInBytes+=sizeof(types), 0)... };
- //Set up the buffer which will be passed to chip op send function
+ // Retrieve the remaining arguments
uint8_t l_buffer[l_sizeOfArgInBytes];
- uint8_t* l_bufferPtr = &l_buffer[0];
+ uint8_t* l_bufferPtr = &(l_buffer[0]);
memset(l_bufferPtr, 0, l_sizeOfArgInBytes);
-
- // Serialize the arguments into the buffer
(void) expander{ 0, ((memcpy(l_bufferPtr,&types,sizeof(types)),l_bufferPtr+=sizeof(types)), 0)... };
+ FAPI_INF("requestHwpViaSbe - HWP name %s, Target 0x%.8X, Size of arguments %d bytes",
+ i_hwpName, TARGETING::get_huid(i_target), l_sizeOfArgInBytes);
+
+#if DEBUG_TRACE
+ for (uint32_t ii = 0; ii < l_sizeOfArgInBytes; ii++)
+ {
+ FAPI_INF("requestHwpViaSbe - l_buffer[%d] = 0x%.2X", ii, l_buffer[ii]);
+ }
+#endif
+
//Call the chip op send function to request the SBE to call the HWP
- l_errl = SBEIO::sendSecureHwpRequest(i_target, l_bufferPtr, l_sizeOfArgInBytes, i_hwpName);
+ l_bufferPtr = &(l_buffer[8]); // Advance past target argument value
+ l_errl = SBEIO::sendSecureHwpRequest(i_target, l_bufferPtr,
+ l_sizeOfArgInBytes - sizeof(i_target), i_hwpName);
return l_errl;
}
-
//Macros that return the 1st argument
#define _GET_1ST_ARG(N, ...) N
@@ -103,7 +115,7 @@ errlHndl_t requestHwpViaSbe(const char * i_hwpName, TARGETING::Target * i_target
/*Check if secureboot is enabled and if the target exists on the master proc*/ \
bool isSecure = SECUREBOOT::enabled(); \
bool isMaster = false; \
- l_errl = isOnMasterProc(l_target, isMaster); \
+ l_errl = fapi2::isOnMasterProc(l_target, isMaster); \
if(l_errl) \
{ \
FAPI_INF("subroutine_executor: Failed trying to determine is target was on master chip"); \
@@ -120,19 +132,25 @@ errlHndl_t requestHwpViaSbe(const char * i_hwpName, TARGETING::Target * i_target
/*Otherwise request the HWP via chipop to the SBE*/ \
else \
{ \
- FAPI_INF("subroutine_executor: isSecure = %d isMaster = %d .. executing hwp %s on host", \
+ FAPI_INF("subroutine_executor: isSecure = %d isMaster = %d .. executing hwp %s via SBE chip-op", \
isSecure, isMaster, l_function); \
l_errl = requestHwpViaSbe(l_function, l_target, _args); \
/*For now until SBE support comes fallback to running on host if chipop fails*/ \
if(l_errl) \
{ \
+ FAPI_INF("subroutine_executor: SBE HWP invoking returns error. " \
+ "Commit error and retry locally"); \
/*Commit the error as informational and attempt hwp */ \
l_errl->setSev(ERRORLOG::ERRL_SEV_INFORMATIONAL); \
errlCommit(l_errl, SBEIO_COMP_ID); \
RC = FUNC(_args);\
} \
+ else \
+ { \
+ FAPI_INF("subroutine_executor: SBE HWP invoking successful."); \
+ } \
} \
} while(0); \
}
-#endif \ No newline at end of file
+#endif
diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H
index fb14022b3..a5dce4781 100644
--- a/src/include/usr/isteps/istep06list.H
+++ b/src/include/usr/isteps/istep06list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -235,6 +235,7 @@ const DepModInfo g_istep06Dependancies = {
DEP_LIB(libistep06.so),
DEP_LIB(libsbe.so),
DEP_LIB(libpm.so),
+ DEP_LIB(libnestmemutils.so),
DEP_LIB(libp9_cpuWkup.so),
NULL
}
diff --git a/src/include/usr/isteps/istep07list.H b/src/include/usr/isteps/istep07list.H
index 54224db75..7334993ff 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,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -162,6 +162,7 @@ namespace INITSERVICE
const DepModInfo g_istep07Dependancies = {
{
DEP_LIB(libistep07.so),
+ DEP_LIB(libnestmemutils.so),
DEP_LIB(libisteps_mss.so),
DEP_LIB(libsbe.so),
DEP_LIB(libcen.so),
diff --git a/src/include/usr/isteps/istep09list.H b/src/include/usr/isteps/istep09list.H
index 30c1b4e6b..6cefef355 100644
--- a/src/include/usr/isteps/istep09list.H
+++ b/src/include/usr/isteps/istep09list.H
@@ -230,6 +230,7 @@ const DepModInfo g_istep09Dependancies = {
DEP_LIB(libistep09.so),
DEP_LIB(libpm.so),
DEP_LIB(libp9_fab_iovalid.so),
+ DEP_LIB(libnestmemutils.so),
NULL
}
};
diff --git a/src/include/usr/isteps/istep10list.H b/src/include/usr/isteps/istep10list.H
index 86df45b47..97f5648bd 100644
--- a/src/include/usr/isteps/istep10list.H
+++ b/src/include/usr/isteps/istep10list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -310,6 +310,7 @@ const DepModInfo g_istep10Dependancies = {
{
DEP_LIB(libistep10.so),
DEP_LIB(libsbe.so),
+ DEP_LIB(libnestmemutils.so),
NULL
}
};
diff --git a/src/include/usr/isteps/istep12list.H b/src/include/usr/isteps/istep12list.H
index 861401bc0..5dffa7a56 100644
--- a/src/include/usr/isteps/istep12list.H
+++ b/src/include/usr/isteps/istep12list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -287,6 +287,7 @@ const TaskInfo g_istep12[] = {
const DepModInfo g_istep12Dependancies = {
{
DEP_LIB(libistep12.so),
+ DEP_LIB(libnestmemutils.so),
NULL
}
};
diff --git a/src/include/usr/isteps/istep14list.H b/src/include/usr/isteps/istep14list.H
index 6a04488c9..5bb3e8c28 100644
--- a/src/include/usr/isteps/istep14list.H
+++ b/src/include/usr/isteps/istep14list.H
@@ -46,7 +46,7 @@
* 14.7 proc_exit_cache_contained
* : Execution from memory
* 14.8 host_mpipl_service
- * : Perform MPIPL tasks
+ * : Perform MPIPL tasks
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -200,6 +200,7 @@ const DepModInfo g_istep14Dependancies = {
DEP_LIB(libisteps_mss.so),
DEP_LIB(libpm.so),
DEP_LIB(libcen.so),
+ DEP_LIB(libnestmemutils.so),
NULL
}
};
diff --git a/src/include/usr/isteps/istep15list.H b/src/include/usr/isteps/istep15list.H
index 97ebc7e16..0a7583aeb 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,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -136,6 +136,7 @@ const DepModInfo g_istep15Dependancies = {
{
DEP_LIB(libistep15.so),
DEP_LIB(libp9_stop_util.so),
+ DEP_LIB(libnestmemutils.so),
DEP_LIB(libpm.so),
DEP_LIB(libsbe.so),
NULL
diff --git a/src/include/usr/isteps/istep16list.H b/src/include/usr/isteps/istep16list.H
index e11f02a5f..4950f0293 100644
--- a/src/include/usr/isteps/istep16list.H
+++ b/src/include/usr/isteps/istep16list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -158,6 +158,7 @@ namespace INITSERVICE
const DepModInfo g_istep16Dependancies = {
{
DEP_LIB(libistep16.so),
+ DEP_LIB(libnestmemutils.so),
DEP_LIB(libp9_cpuWkup.so),
DEP_LIB(libisteps_mss.so),
DEP_LIB(libpm.so),
diff --git a/src/include/usr/isteps/istep21list.H b/src/include/usr/isteps/istep21list.H
index c58ced1a0..e5b81497b 100644
--- a/src/include/usr/isteps/istep21list.H
+++ b/src/include/usr/isteps/istep21list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -123,6 +123,7 @@ const DepModInfo g_istep21Dependancies = {
DEP_LIB(libruntime.so),
DEP_LIB(libp9_cpuWkup.so),
DEP_LIB(libpm.so),
+ DEP_LIB(libnestmemutils.so),
#ifdef CONFIG_HTMGT
DEP_LIB(libhtmgt.so),
DEP_LIB(libisteps_mss.so),
OpenPOWER on IntegriCloud