blob: 8e67ad2f97478b29c179cd01d4137431a3a6403a [file] [log] [blame]
Ben Tyner0205f3b2020-02-24 10:24:47 -06001#pragma once
2
Ben Tynerb1ebfcb2020-05-08 18:52:48 -05003#include <map>
4#include <string>
5
Ben Tyner0205f3b2020-02-24 10:24:47 -06006namespace analyzer
7{
8
9/**
Zane Shelley097a71a2020-06-08 15:55:29 -050010 * @brief Queries the host hardware for all attentions reported by each active
11 * chip. Then it performs all approriate RAS actions based on the active
12 * attentions.
Ben Tyner0205f3b2020-02-24 10:24:47 -060013 *
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 */
Zane Shelley9fb73932020-09-15 13:34:57 -050025bool analyzeHardware();
Ben Tyner0205f3b2020-02-24 10:24:47 -060026
27} // namespace analyzer