summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice/istepdispatcher
diff options
context:
space:
mode:
authorRobert Lippert <rlippert@google.com>2017-05-30 21:29:54 -0700
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-06-19 14:52:58 -0400
commit90ec2e65314c546b0ddb98253d6077584e4a151d (patch)
treea347d39d412de814efb966fdefbf6562e56b8367 /src/usr/initservice/istepdispatcher
parent2dfa772925a662889b873422c9787a572edd38f4 (diff)
downloadtalos-hostboot-90ec2e65314c546b0ddb98253d6077584e4a151d.tar.gz
talos-hostboot-90ec2e65314c546b0ddb98253d6077584e4a151d.zip
istepdispatcher: output current istep to LPC port 80h
Adds optional support to output istep progress to LPC I/O port 80h similar to POST codes on x86 BIOS boot process. Resolves #104 Signed-off-by: Robert Lippert <rlippert@google.com> Change-Id: I0e2a977863c37d5e6b72a890da9a1516a0a5bf58 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41404 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/initservice/istepdispatcher')
-rw-r--r--src/usr/initservice/istepdispatcher/HBconfig5
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C12
2 files changed, 16 insertions, 1 deletions
diff --git a/src/usr/initservice/istepdispatcher/HBconfig b/src/usr/initservice/istepdispatcher/HBconfig
index 531d919dc..2b0a07fd0 100644
--- a/src/usr/initservice/istepdispatcher/HBconfig
+++ b/src/usr/initservice/istepdispatcher/HBconfig
@@ -13,4 +13,7 @@ config SIO_ISTEP_CONTROL
help
Allows istep control via SIO scratch registers.
Typical usage is via mailbox (scom) scratch registers.
-
+config ISTEP_LPC_PORT80_DEBUG
+ default n
+ help
+ Writes ISTEP progress to LPC port 80h.
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index d6f557a1e..c365978e8 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -65,6 +65,7 @@
#include <console/consoleif.H>
#include <isteps/hwpisteperror.H>
#include <pnor/pnorif.H>
+#include <lpc/lpcif.H>
#ifdef CONFIG_BMC_IPMI
#include <ipmi/ipmiwatchdog.H> //IPMI watchdog timer
#include <ipmi/ipmipowerstate.H> //IPMI System ACPI Power State
@@ -1953,6 +1954,17 @@ errlHndl_t IStepDispatcher::sendProgressCode(bool i_needsLock)
Util::writeScratchReg( SPLESS::MBOX_SCRATCH_REG5,
l_scratch5.data32 );
+#ifdef CONFIG_ISTEP_LPC_PORT80_DEBUG
+ // Starting port 80h value for hostboot isteps. Each step started will
+ // increase the value by one.
+ static uint8_t port80_val = 0x30;
+ static size_t port80_len = sizeof(port80_val);
+ err = deviceWrite(TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL,
+ &port80_val, port80_len,
+ DEVICE_LPC_ADDRESS(LPC::TRANS_IO, 0x80));
+ delete err; // this is debug only, ignore any errors
+ port80_val++;
+#endif
//--- Display step on serial console
#ifdef CONFIG_CONSOLE_OUTPUT_PROGRESS
OpenPOWER on IntegriCloud