summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2019-12-04 12:34:54 -0600
committerDaniel M Crowell <dcrowell@us.ibm.com>2020-01-08 09:40:37 -0600
commitd99b1eddcac8a7f43a0d087921fbb83be450f347 (patch)
tree93ba19eb008e10ba79ffd9e0641da81322dbc4a2 /src/usr/isteps
parent81abe97b78b39d20bb31e29535885a99ac4a8122 (diff)
downloadtalos-hostboot-d99b1eddcac8a7f43a0d087921fbb83be450f347.tar.gz
talos-hostboot-d99b1eddcac8a7f43a0d087921fbb83be450f347.zip
Add SBE Arch dump area for both OPAL & PHYP
Currently Hostboot only sets up the architected dump capture on the SBE for OPAL based systems. This commit adds the setup to PHYP based systems as well. Change-Id: I96271a57f7c15c571495ed56ea72dbeeebab8d94 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/88095 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: MURULIDHAR NATARAJU <murulidhar@in.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps')
-rw-r--r--src/usr/isteps/istep21/call_host_runtime_setup.C46
1 files changed, 28 insertions, 18 deletions
diff --git a/src/usr/isteps/istep21/call_host_runtime_setup.C b/src/usr/isteps/istep21/call_host_runtime_setup.C
index 5367d65bf..db0fc2d5f 100644
--- a/src/usr/isteps/istep21/call_host_runtime_setup.C
+++ b/src/usr/isteps/istep21/call_host_runtime_setup.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2019 */
+/* Contributors Listed Below - COPYRIGHT 2015,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -70,6 +70,9 @@
#include <isteps/nvdimm/nvdimm.H>
#endif
+#include <dump/dumpif.H>
+
+
using namespace ERRORLOG;
using namespace ISTEP;
using namespace ISTEP_ERROR;
@@ -864,6 +867,15 @@ void* call_host_runtime_setup (void *io_pArgs)
TargetService& l_targetService = targetService();
Target* l_sys = nullptr;
l_targetService.getTopLevelTarget(l_sys);
+
+ // Default captured data to 0s -- MPIPL if check fills in if
+ // valid
+ uint32_t threadRegSize = sizeof(DUMP::hostArchRegDataHdr)+
+ (95 * sizeof(DUMP::hostArchRegDataEntry));
+ uint8_t threadRegFormat = REG_DUMP_SBE_HB_STRUCT_VER;
+ uint64_t capThreadArrayAddr = 0;
+ uint64_t capThreadArraySize = 0;
+
if(l_sys->getAttr<ATTR_IS_MPIPL_HB>())
{
uint32_t l_mdrtCount =
@@ -875,25 +887,23 @@ void* call_host_runtime_setup (void *io_pArgs)
l_mdrtCount);
}
- // Update PDA Table entries
- if ( !INITSERVICE::spBaseServicesEnabled() )
- {
- uint32_t threadRegSize =
- l_sys->getAttr<TARGETING::ATTR_PDA_THREAD_REG_ENTRY_SIZE>();
- uint8_t threadRegFormat =
- l_sys->getAttr<TARGETING::ATTR_PDA_THREAD_REG_STATE_ENTRY_FORMAT>();
- uint64_t capThreadArrayAddr =
- l_sys->getAttr<TARGETING::ATTR_PDA_CAPTURED_THREAD_REG_ARRAY_ADDR>();
- uint64_t capThreadArraySize =
- l_sys->getAttr<TARGETING::ATTR_PDA_CAPTURED_THREAD_REG_ARRAY_SIZE>();
-
- // Ignore return value
- RUNTIME::updateHostProcDumpActual( RUNTIME::PROC_DUMP_AREA_TBL,
- threadRegSize, threadRegFormat,
- capThreadArrayAddr, capThreadArraySize);
- }
+
+ threadRegSize =
+ l_sys->getAttr<TARGETING::ATTR_PDA_THREAD_REG_ENTRY_SIZE>();
+ threadRegFormat =
+ l_sys->getAttr<TARGETING::ATTR_PDA_THREAD_REG_STATE_ENTRY_FORMAT>();
+ capThreadArrayAddr =
+ l_sys->getAttr<TARGETING::ATTR_PDA_CAPTURED_THREAD_REG_ARRAY_ADDR>();
+ capThreadArraySize =
+ l_sys->getAttr<TARGETING::ATTR_PDA_CAPTURED_THREAD_REG_ARRAY_SIZE>();
}
+ // Ignore return value
+ RUNTIME::updateHostProcDumpActual( RUNTIME::PROC_DUMP_AREA_TBL,
+ threadRegSize, threadRegFormat,
+ capThreadArrayAddr, capThreadArraySize);
+
+
//Update the MDRT value (for MS Dump)
l_err = RUNTIME::writeActualCount(RUNTIME::MS_DUMP_RESULTS_TBL);
if(l_err != NULL)
OpenPOWER on IntegriCloud