blob: ad93a0a3502932f7efb59b4f9f1bdbfbceca1cb0 [file] [log] [blame]
#pragma once
namespace attn
{
// number of seconds to wait for power fault handling
constexpr int POWER_FAULT_WAIT = 10;
/** @brief Attention handler return codes */
enum ReturnCodes
{
RC_SUCCESS = 0,
RC_NOT_HANDLED = 1,
RC_ANALYZER_ERROR = 2,
RC_CFAM_ERROR = 3,
RC_DBUS_ERROR = 4
};
/** @brief Code seciton for error reporing */
enum class AttnSection
{
reserved = 0x0000,
attnHandler = 0x0100,
tiHandler = 0x0200,
handlePhypTi = 0x0300,
handleHbTi = 0x0400,
addHbStatusRegs = 0x0500
};
/** @brief Attention handler error reason codes */
enum AttnCodes
{
ATTN_NO_ERROR = 0,
ATTN_INFO_NULL = 1,
ATTN_PDBG_CFAM = 2,
ATTN_PDBG_SCOM = 3
};
/**
* @brief Traces some regs for hostboot
*
* When we receive a Checkstop or special Attention Term Immediate,
* hostboot wants some regs added to the error log. We will do this
* by tracing them and then the traces will get added to the error
* log later.
*
* @return nothing
*/
void addHbStatusRegs();
/**
* @brief Check for recoverable errors present
*
* @return true if any recoverable errors are present, else false
*/
bool recoverableErrors();
/**
* @brief sleep for n-seconds
*
* @param[in] seconds number of seconds to sleep
*/
void sleepSeconds(const unsigned int seconds);
} // namespace attn