1 #pragma once 2 3 #include <attn/attn_config.hpp> 4 5 namespace attn 6 { 7 8 /** @brief Attention global status bits */ 9 constexpr uint32_t SBE_ATTN = 0x00000002; 10 constexpr uint32_t CHECKSTOP_ATTN = 0x40000000; 11 constexpr uint32_t SPECIAL_ATTN = 0x20000000; 12 13 // Need to add defaultOpalTiInfo with SRC BB821410 (ascii) 14 15 constexpr uint8_t defaultPhypTiInfo[0x58] = { 16 0x01, 0xa1, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 17 0x09, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 0x00, 0x00, 0x00, 0x00, 0x42, 0x37, 0x30, 0x30, 0x46, 0x46, 0x46, 21 0x46, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 22 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 23 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 24 25 constexpr uint8_t defaultHbTiInfo[0x58] = { 26 0x01, 0xa1, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 27 0x09, 0x01, 0x00, 0x00, 0x00, 0xbc, 0x80, 0x1b, 0x99, 0x00, 0x00, 28 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 29 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 31 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 32 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 33 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 34 35 /** 36 * @brief The main attention handler logic 37 * 38 * Check each processor for active attentions of type SBE Vital (vital), 39 * System Checkstop (checkstop) and Special Attention (special) and handle 40 * each as follows: 41 * 42 * checkstop: Call hardware error analyzer 43 * vital: TBD 44 * special: Determine if the special attention is a Breakpoint (BP), 45 * Terminate Immediately (TI) or CoreCodeToSp (corecode). For each 46 * special attention type, do the following: 47 * 48 * BP: Notify Cronus 49 * TI: Start host diagnostics mode systemd unit 50 * Corecode: TBD 51 * 52 * @param i_config pointer to attention handler configuration object 53 */ 54 void attnHandler(Config* i_config); 55 56 } // namespace attn 57