diff options
-rw-r--r-- | src/build/configs/op_sim.config | 2 | ||||
-rw-r--r-- | src/usr/initservice/bootconfig/bootconfig_ast2400.C | 20 | ||||
-rw-r--r-- | src/usr/initservice/istepdispatcher/HBconfig | 7 | ||||
-rw-r--r-- | src/usr/initservice/istepdispatcher/splesscommon.C | 4 | ||||
-rw-r--r-- | src/usr/initservice/istepdispatcher/sptask.C | 2 | ||||
-rw-r--r-- | src/usr/isteps/istep06/host_discover_targets.C | 1 |
6 files changed, 28 insertions, 8 deletions
diff --git a/src/build/configs/op_sim.config b/src/build/configs/op_sim.config new file mode 100644 index 000000000..3c9cf0f50 --- /dev/null +++ b/src/build/configs/op_sim.config @@ -0,0 +1,2 @@ +set CONSOLE +set BMC_AST2400 diff --git a/src/usr/initservice/bootconfig/bootconfig_ast2400.C b/src/usr/initservice/bootconfig/bootconfig_ast2400.C index 438b32e84..d0d1a3e74 100644 --- a/src/usr/initservice/bootconfig/bootconfig_ast2400.C +++ b/src/usr/initservice/bootconfig/bootconfig_ast2400.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015 */ +/* Contributors Listed Below - COPYRIGHT 2015,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -298,6 +298,7 @@ errlHndl_t AST2400BootConfig::readIstepControl( istepControl_t &o_stepInfo ) errlHndl_t AST2400BootConfig::writeIstepControl( istepControl_t i_istepCtl ) { errlHndl_t l_err = NULL; + size_t l_len = sizeof(uint8_t); // read istep control from 0x2a TRACFCOMP( g_bc_trace, "AST2400BootConfig:: Write istep control %x", i_istepCtl.istepControl); @@ -305,12 +306,21 @@ errlHndl_t AST2400BootConfig::writeIstepControl( istepControl_t i_istepCtl ) do { //write status - l_err = writeSIORegister( ISTEP_STATUS_REG, i_istepCtl.istepStatus); - if(l_err) break; + l_err = deviceOp( DeviceFW::WRITE, + TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL, + &(i_istepCtl.istepStatus), + l_len, + DEVICE_SIO_ADDRESS(SIO::DONT_CARE, ISTEP_STATUS_REG)); + if(l_err) { break; } //write command/control - l_err = writeSIORegister( ISTEP_HOST_CTL_REG, i_istepCtl.istepControl); - if(l_err) break; + l_err = deviceOp( DeviceFW::WRITE, + TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL, + &(i_istepCtl.istepControl), + l_len, + DEVICE_SIO_ADDRESS(SIO::DONT_CARE, + ISTEP_HOST_CTL_REG)); + if(l_err) { break; } } while(0); diff --git a/src/usr/initservice/istepdispatcher/HBconfig b/src/usr/initservice/istepdispatcher/HBconfig index c012bd17e..531d919dc 100644 --- a/src/usr/initservice/istepdispatcher/HBconfig +++ b/src/usr/initservice/istepdispatcher/HBconfig @@ -7,3 +7,10 @@ config RECONFIG_LOOP_TESTS_ENABLE default y help Include functions for enabling reconfig loop testing. +config SIO_ISTEP_CONTROL + default n + depends on BMC_AST2400 + help + Allows istep control via SIO scratch registers. + Typical usage is via mailbox (scom) scratch registers. + diff --git a/src/usr/initservice/istepdispatcher/splesscommon.C b/src/usr/initservice/istepdispatcher/splesscommon.C index c9c71eefd..653d1a262 100644 --- a/src/usr/initservice/istepdispatcher/splesscommon.C +++ b/src/usr/initservice/istepdispatcher/splesscommon.C @@ -95,7 +95,7 @@ void readCmdSts( SPLessCmd &io_rcmd ) g_SPLess_pMasterProcChip ); } -#ifdef CONFIG_BMC_AST2400 +#ifdef CONFIG_SIO_ISTEP_CONTROL errlHndl_t err = NULL; INITSERVICE::BOOTCONFIG::istepControl_t istepCtl; memset (&istepCtl, 0x0, sizeof(istepCtl)); @@ -143,7 +143,7 @@ void writeCmdSts( SPLessCmd i_rcmd ) g_SPLess_pMasterProcChip ); } -#ifdef CONFIG_BMC_AST2400 +#ifdef CONFIG_SIO_ISTEP_CONTROL errlHndl_t err = NULL; INITSERVICE::BOOTCONFIG::istepControl_t istepCtl; memset (&istepCtl, 0x0, sizeof(istepCtl)); diff --git a/src/usr/initservice/istepdispatcher/sptask.C b/src/usr/initservice/istepdispatcher/sptask.C index 83e5bc487..0b36f7484 100644 --- a/src/usr/initservice/istepdispatcher/sptask.C +++ b/src/usr/initservice/istepdispatcher/sptask.C @@ -236,7 +236,7 @@ void splessComm( void * io_msgQ ) "splessComm : readybit set." ); #ifdef CONFIG_CONSOLE_OUTPUT_PROGRESS -#ifdef CONFIG_BMC_AST2400 +#ifdef CONFIG_SIO_ISTEP_CONTROL const char* l_input = "SIO"; #else const char* l_input = "CFAM"; diff --git a/src/usr/isteps/istep06/host_discover_targets.C b/src/usr/isteps/istep06/host_discover_targets.C index 50270265b..10ae1fac7 100644 --- a/src/usr/isteps/istep06/host_discover_targets.C +++ b/src/usr/isteps/istep06/host_discover_targets.C @@ -44,6 +44,7 @@ #include <hwas/common/hwas_reasoncodes.H> #include <hwas/hwasPlat.H> #include <vpd/vpd_if.H> +#include <console/consoleif.H> #ifdef CONFIG_PRINT_SYSTEM_INFO #include <stdio.h> |