summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/arch/ppc.H17
-rw-r--r--src/include/usr/initservice/mboxRegs.H18
2 files changed, 33 insertions, 2 deletions
diff --git a/src/include/arch/ppc.H b/src/include/arch/ppc.H
index f945ef519..e9e6b6051 100644
--- a/src/include/arch/ppc.H
+++ b/src/include/arch/ppc.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2016 */
+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -460,15 +460,30 @@ enum
MAGIC_BREAK_ON_ERROR = 7018, // Breakpoint in error cases if
// env var HB_BREAK_ON_ERROR
MAGIC_GET_SBE_TRACES = 7019, // Collect SBE traces
+ MAGIC_PRINT_ISTEP = 7020, // Print istep to simics console
MAGIC_CONTINUOUS_TRACE = 7055, // extract mixed trace buffer
};
+/**
+ * @brief Collect SBE traces via external debug commands
+ * @param[in] Processor number
+ * @param[in] SBE Return Code
+ */
#define MAGIC_INST_GET_SBE_TRACES(_procnum,_rc) \
asm volatile("mr 4, %0; mr 5, %1" :: \
"r" (_procnum), "r" (_rc) : "4", "5"); \
MAGIC_INSTRUCTION(MAGIC_GET_SBE_TRACES); \
+/**
+ * @brief Display istep numbers on the simics console
+ * @param[in] Major istep number
+ * @param[in] Minor istep number
+ */
+#define MAGIC_INST_PRINT_ISTEP(_major,_minor) \
+ asm volatile("mr 4, %0; mr 5, %1" :: \
+ "r" (_major), "r" (_minor) : "4", "5"); \
+ MAGIC_INSTRUCTION(MAGIC_PRINT_ISTEP); \
#endif
diff --git a/src/include/usr/initservice/mboxRegs.H b/src/include/usr/initservice/mboxRegs.H
index 00a736a6e..2b645fe1e 100644
--- a/src/include/usr/initservice/mboxRegs.H
+++ b/src/include/usr/initservice/mboxRegs.H
@@ -112,7 +112,7 @@ namespace SPLESS
// NOTE: Used for sbe comm during runtime
};
- // Mailbox Scratch Register 5
+ // Mailbox Scratch Register 5 - SBE Usage
union MboxScratch5_t
{
uint32_t data32;
@@ -128,6 +128,22 @@ namespace SPLESS
uint32_t clockPllMux :20; //12:31
} PACKED;
};
+ // Mailbox Scratch Register 5 - HB Usage
+ union MboxScratch5_HB_t
+ {
+ uint32_t data32;
+ struct
+ {
+ uint32_t magic :8; //0:7
+ uint32_t stepStart :1; //8
+ uint32_t stepFinish :1; //9
+ uint32_t reserved :2; //10:11
+ uint32_t internalStep :4; //12:15
+ uint32_t majorStep :8; //16:23
+ uint32_t minorStep :8; //24:31
+ } PACKED;
+ };
+ const uint8_t ISTEP_PROGRESS_MAGIC = 0xAA;
// Mailbox Scratch Register 6
union MboxScratch6_t
OpenPOWER on IntegriCloud