Add SBE hreset support to SBE attention handler
When a SBE attention is being handled we will
request a SBE hreset and try to clear the SBE
attentions. If this is not successful we will
request a SBE dump and host re-IPL.
Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I5eb8e8728e92af54673cd3e37529eca9f6b03857
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index a0e428e..bfe70d1 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -52,9 +52,6 @@
*/
int handleSpecial(Attention* i_attention);
-/** @brief Determine if attention is active and not masked */
-bool activeAttn(uint32_t i_val, uint32_t i_mask, uint32_t i_attn);
-
#ifdef CONFIG_PHAL_API
/** @brief Handle phal sbe exception */
void phalSbeExceptionHandler(openpower::phal::exception::SbeError& e,
@@ -67,9 +64,6 @@
/** @brief Check if TI info data is valid */
bool tiInfoValid(uint8_t* tiInfo);
-/** @brief Clear attention interrupts */
-void clearAttnInterrupts();
-
/**
* @brief The main attention handler logic
*
@@ -396,19 +390,7 @@
return rc;
}
-/**
- * @brief Determine if attention is active and not masked
- *
- * Determine whether an attention needs to be handled and trace details of
- * attention type and whether it is masked or not.
- *
- * @param i_val attention status register
- * @param i_mask attention true mask register
- * @param i_attn attention type
- * @param i_proc processor associated with registers
- *
- * @return true if attention is active and not masked, otherwise false
- */
+/** @brief Determine if attention is active and not masked */
bool activeAttn(uint32_t i_val, uint32_t i_mask, uint32_t i_attn)
{
bool rc = false; // assume attn masked and/or inactive
@@ -564,13 +546,7 @@
return tiInfoValid;
}
-/**
- * @brief Clear attention interrupts
- *
- * The attention interrupts are sticky and may still be set (MPIPL) even if
- * there are no active attentions. If there is an active attention then
- * clearing the associated interrupt will have no effect.
- */
+/** @brief Clear attention interrupts */
void clearAttnInterrupts()
{
trace::inf("Clearing attention interrupts");