diff options
| author | Thi Tran <thi@us.ibm.com> | 2018-01-29 20:56:41 -0600 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-02-03 19:48:04 -0500 |
| commit | 53b3c1f1d859cb5a6b03060b46933d4ac049ca83 (patch) | |
| tree | b97feb581ebce9cd0b4156315c16bc4de8660517 /src/include | |
| parent | 07c9730e0a3ff5bf6ca59b09fc91da69ac4c9753 (diff) | |
| download | talos-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.H | 40 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep06list.H | 3 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep07list.H | 3 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep09list.H | 1 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep10list.H | 3 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep12list.H | 3 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep14list.H | 3 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep15list.H | 3 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep16list.H | 3 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep21list.H | 3 |
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), |

