blob: 5619ba3da2d3404d2286fa2d0204bd84bc034276 [file] [log] [blame]
Ben Tyner0205f3b2020-02-24 10:24:47 -06001#pragma once
2
Ben Tyner7029e522021-08-09 19:18:24 -05003#include <attn/attn_dump.hpp>
4
Ben Tyner0205f3b2020-02-24 10:24:47 -06005namespace analyzer
6{
7
8/**
Zane Shelley097a71a2020-06-08 15:55:29 -05009 * @brief Queries the host hardware for all attentions reported by each active
10 * chip. Then it performs all approriate RAS actions based on the active
11 * attentions.
Ben Tyner0205f3b2020-02-24 10:24:47 -060012 *
Ben Tyner7029e522021-08-09 19:18:24 -050013 * @param[out] o_dumpParameters Dump request parameters
Zane Shelley097a71a2020-06-08 15:55:29 -050014 * @return True if an active attenion was successfully analyzed, false
15 * otherwise.
16 * For system checkstop handling:
17 * If analysis fails, there likely is a defect in the design because
18 * an active attention is required to trigger the interrupt.
19 * For TI handling:
20 * It is possible that a recoverable attention could cause a TI,
21 * however, it is not required. Therefore, it is expected that
22 * analysis could fail to find an attention and it should not be
23 * treated as a defect.
Ben Tyner0205f3b2020-02-24 10:24:47 -060024 */
Ben Tyner7029e522021-08-09 19:18:24 -050025bool analyzeHardware(attn::DumpParameters& o_dumpParameters);
Ben Tyner0205f3b2020-02-24 10:24:47 -060026
Ben Tynereea45422021-04-15 10:54:14 -050027/**
28 * @brief Get error analyzer build information
29 *
30 * @return Pointer to build information
31 */
32const char* getBuildInfo();
33
Ben Tyner0205f3b2020-02-24 10:24:47 -060034} // namespace analyzer