blob: 1d99015278ad34d614a73b9092399143396deb49 [file] [log] [blame]
Ben Tynerf5210bb2021-01-05 12:58:10 -06001#pragma once
2
3#include <cstddef> // for size_t
4
5namespace attn
6{
7namespace pel
8{
9
10enum class SectionID
11{
Ben Tynerfeeea832021-04-06 10:08:11 -050012 privateHeader = 0x5048, // 'PH'
13 userHeader = 0x5548, // 'UH'
14 primarySRC = 0x5053, // 'PS'
15 extendedHeader = 0x4548, // 'EH'
Ben Tynerf5210bb2021-01-05 12:58:10 -060016};
17
18enum class ComponentID
19{
20 attentionHandler = 0xd100
21};
22
23enum class CreatorID
24{
25 hostboot = 'B',
26 hypervisor = 'H',
27 openbmc = 'O'
28};
29
30enum class SubsystemID
31{
32 hypervisor = 0x82,
33 hostboot = 0x8a,
34 openbmc = 0x8d
35};
36
37enum class Severity
38{
39 information = 0x00,
40 termination = 0x51
41};
42
43enum class EventType
44{
45 na = 0x00,
46 trace = 0x02
47};
48
49enum class ActionFlags
50{
51 service = 0x8000,
Ben Tynerac5bd052022-03-03 14:09:13 -060052 hidden = 0x4000,
Ben Tynerf5210bb2021-01-05 12:58:10 -060053 report = 0x2000,
54 call = 0x0800
55};
56
57inline ActionFlags operator|(ActionFlags a, ActionFlags b)
58{
59 return static_cast<ActionFlags>(static_cast<int>(a) | static_cast<int>(b));
60}
61
62enum class EventScope
63{
64 platform = 0x03
65};
66
67constexpr size_t numSrcWords = 8; // number of SRC hex words
68const size_t asciiStringSize = 32; // size of SRC ascii string
Ben Tynerfeeea832021-04-06 10:08:11 -050069const size_t mtmsSize = 20; // size of an mtms field
Ben Tynerf5210bb2021-01-05 12:58:10 -060070
71} // namespace pel
72} // namespace attn