blob: 938af3615c31cbe34cc5cef1fca29ec7558b2c1d [file] [log] [blame]
Ben Tynerbcf65a82020-12-01 08:46:36 -06001#pragma once
2
3namespace attn
4{
5
Ben Tynerb8335562021-07-16 12:43:52 -05006/** @brief Attention handler return codes */
7enum ReturnCodes
8{
9 RC_SUCCESS = 0,
10 RC_NOT_HANDLED = 1,
11 RC_ANALYZER_ERROR = 2,
12 RC_CFAM_ERROR = 3,
13 RC_DBUS_ERROR = 4
14};
15
16/** @brief Code seciton for error reporing */
17enum class AttnSection
18{
19 reserved = 0x0000,
20 attnHandler = 0x0100,
21 tiHandler = 0x0200,
22 handlePhypTi = 0x0300,
23 handleHbTi = 0x0400,
24 addHbStatusRegs = 0x0500
25};
26
27/** @brief Attention handler error reason codes */
28enum AttnCodes
29{
30 ATTN_NO_ERROR = 0,
31 ATTN_INFO_NULL = 1,
32 ATTN_PDBG_CFAM = 2,
33 ATTN_PDBG_SCOM = 3
34};
35
Ben Tynerb8335562021-07-16 12:43:52 -050036/**
37 * @brief Traces some regs for hostboot
38 *
39 * When we receive a Checkstop or special Attention Term Immediate,
40 * hostboot wants some regs added to the error log. We will do this
41 * by tracing them and then the traces will get added to the error
42 * log later.
43 *
44 * @return nothing
45 */
46void addHbStatusRegs();
47
Ben Tyner135793a2021-10-27 09:18:41 -050048/**
49 * @brief Check for recoverable errors present
50 *
51 * @return true if any recoverable errors are present, else false
52 */
53bool recoverableErrors();
54
Ben Tynerbcf65a82020-12-01 08:46:36 -060055} // namespace attn