blob: f81a9e7644fe14ee06b0442454423865b1dc4316 [file] [log] [blame]
Ben Tyneref320152020-01-09 10:31:23 -06001#pragma once
2
Ben Tyner3fb52e52020-03-31 10:10:07 -05003#include <attn/attn_config.hpp>
4
Ben Tyner73ac3682020-01-09 10:46:47 -06005namespace attn
6{
7
Ben Tyneref320152020-01-09 10:31:23 -06008/**
9 * @brief The main attention handler logic
10 *
11 * Check each processor for active attentions of type SBE Vital (vital),
12 * System Checkstop (checkstop) and Special Attention (special) and handle
13 * each as follows:
14 *
Ben Tyner3fb52e52020-03-31 10:10:07 -050015 * checkstop: Call hardware error analyzer
Ben Tyneref320152020-01-09 10:31:23 -060016 * vital: TBD
17 * special: Determine if the special attention is a Breakpoint (BP),
18 * Terminate Immediately (TI) or CoreCodeToSp (corecode). For each
19 * special attention type, do the following:
20 *
21 * BP: Notify Cronus
Ben Tyner3fb52e52020-03-31 10:10:07 -050022 * TI: Start host diagnostics mode systemd unit
Ben Tyneref320152020-01-09 10:31:23 -060023 * Corecode: TBD
Ben Tyner970fd4f2020-02-19 13:46:42 -060024 *
Ben Tyner3fb52e52020-03-31 10:10:07 -050025 * @param i_config pointer to attention handler configuration object
Ben Tyneref320152020-01-09 10:31:23 -060026 */
Ben Tyner3fb52e52020-03-31 10:10:07 -050027void attnHandler(Config* i_config);
Ben Tyner73ac3682020-01-09 10:46:47 -060028
29} // namespace attn