summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep08/call_host_slave_sbe_config.C
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2016-10-06 06:14:09 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-10-12 11:52:32 -0400
commit3ab150991f977e81505114f0a20a9d5e5e29f230 (patch)
treea0ce06da2a5ae9a884fba5ed15e3a132ede72ef5 /src/usr/isteps/istep08/call_host_slave_sbe_config.C
parent84ed4ae0bc19d64b6e9ac3a33420a3ff4d93fb4c (diff)
downloadblackbird-hostboot-3ab150991f977e81505114f0a20a9d5e5e29f230.tar.gz
blackbird-hostboot-3ab150991f977e81505114f0a20a9d5e5e29f230.zip
Save away mbox scratch regs before using
The debug tools use the scratch regs for communication purposes with the debug tools, however the initial values of the scratch regs are used for boot. Save the initial values away so the mbox scratch regs can be used for debug tools Change-Id: I372f7d23bc03cf0c88c845a18ebb1c9657c364c5 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30880 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep08/call_host_slave_sbe_config.C')
-rw-r--r--src/usr/isteps/istep08/call_host_slave_sbe_config.C37
1 files changed, 7 insertions, 30 deletions
diff --git a/src/usr/isteps/istep08/call_host_slave_sbe_config.C b/src/usr/isteps/istep08/call_host_slave_sbe_config.C
index 868f3e742..536d5200e 100644
--- a/src/usr/isteps/istep08/call_host_slave_sbe_config.C
+++ b/src/usr/isteps/istep08/call_host_slave_sbe_config.C
@@ -90,38 +90,15 @@ void* call_host_slave_sbe_config(void *io_pArgs)
// Setup the boot flags attribute for the slaves based on the data
// from the master proc
INITSERVICE::SPLESS::MboxScratch3_t l_scratch3;
- uint64_t l_scratch3scom = 0;
- size_t scomsize = sizeof(l_scratch3scom);
- l_errl = deviceRead( l_pMasterProcTarget,
- &l_scratch3scom,
- scomsize,
- DEVICE_SCOM_ADDRESS(
- INITSERVICE::SPLESS::MBOX_SCRATCH_REG3 ) );
- if( l_errl )
- {
- // Create IStep error log and cross reference error that occurred
- l_stepError.addErrorDetails( l_errl );
-
- // Commit Error
- errlCommit( l_errl, ISTEP_COMP_ID );
+ TARGETING::ATTR_MASTER_MBOX_SCRATCH_type l_scratchRegs;
+ assert(l_sys->tryGetAttr
+ <TARGETING::ATTR_MASTER_MBOX_SCRATCH>(l_scratchRegs),
+ "call_host_slave_sbe_config() failed to get MASTER_MBOX_SCRATCH");
+ l_scratch3.data32 = l_scratchRegs[INITSERVICE::SPLESS::SCRATCH_3];
- // Just make some reasonable guesses...
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Failed to read MBOX Scratch3" );
+ // turn off the istep bit
+ l_scratch3.istepMode = 0;
- l_scratch3.data32 = 0;
- l_scratch3.fspAttached = INITSERVICE::spBaseServicesEnabled();
- l_scratch3.sbeFFDC = 0;
- l_scratch3.sbeInternalFFDC = 1;
- }
- else
- {
- // data is in bits 0:31
- l_scratch3.data32 = static_cast<uint32_t>(l_scratch3scom >> 32);
-
- // turn off the istep bit
- l_scratch3.istepMode = 0;
- }
// write the attribute
l_sys->setAttr<ATTR_BOOT_FLAGS>(l_scratch3.data32);
OpenPOWER on IntegriCloud