blob: 951fc6b1831c21f3e2f296d8c9c2b5be9bac8e69 [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 * @param o_errors A map for storing information about errors that were
15 * detected by the hardware error isolator.
16 *
17 * @return True if an active attenion was successfully analyzed, false
18 * otherwise.
19 * For system checkstop handling:
20 * If analysis fails, there likely is a defect in the design because
21 * an active attention is required to trigger the interrupt.
22 * For TI handling:
23 * It is possible that a recoverable attention could cause a TI,
24 * however, it is not required. Therefore, it is expected that
25 * analysis could fail to find an attention and it should not be
26 * treated as a defect.
Ben Tyner0205f3b2020-02-24 10:24:47 -060027 */
Ben Tynerdbeaf792020-05-14 08:27:18 -050028bool analyzeHardware(std::map<std::string, std::string>& i_errors);
Ben Tyner0205f3b2020-02-24 10:24:47 -060029
30} // namespace analyzer