diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/arch/ppc.H | 17 | ||||
-rw-r--r-- | src/include/usr/initservice/mboxRegs.H | 18 |
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 |