1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
#pragma once
namespace openpower
{
namespace pels
{
/**
* @brief Useful component IDs
*/
enum class ComponentID
{
phosphorLogging = 0x2000
};
/**
* @brief PEL section IDs
*/
enum class SectionID
{
privateHeader = 0x5048, // 'PH'
userHeader = 0x5548, // 'UH'
primarySRC = 0x5053, // 'PS'
secondarySRC = 0x5353, // 'SS'
extendedUserHeader = 0x4548, // 'EH'
failingMTMS = 0x4D54, // 'MT'
dumpLocation = 0x4448, // 'DH'
firmwareError = 0x5357, // 'SW'
impactedPart = 0x4C50, // 'LP'
logicalResource = 0x4C52, // 'LR'
hmcID = 0x484D, // 'HM'
epow = 0x4550, // 'EP'
ioEvent = 0x4945, // 'IE'
mfgInfo = 0x4D49, // 'MI'
callhome = 0x4348, // 'CH'
userData = 0x5544, // 'UD'
envInfo = 0x4549, // 'EI'
extUserData = 0x4544 // 'ED'
};
/**
* @brief Useful SRC types
*/
enum class SRCType
{
bmcError = 0xBD,
powerError = 0x11
};
/**
* @brief Creator IDs
*/
enum class CreatorID
{
fsp = 'E',
hmc = 'C',
hostboot = 'B',
ioDrawer = 'M',
occ = 'T',
openBMC = 'O',
partFW = 'L',
phyp = 'H',
powerControl = 'W',
powerNV = 'P',
sapphire = 'K',
slic = 'S',
};
/**
* @brief Useful event scope values
*/
enum class EventScope
{
entirePlatform = 0x03
};
/**
* @brief Useful event type values
*/
enum class EventType
{
notApplicable = 0x00,
miscInformational = 0x01,
tracing = 0x02
};
/**
* @brief The major types of severity values, based on the
* the left nibble of the severity value.
*/
enum class SeverityType
{
nonError = 0x00,
recovered = 0x10,
predictive = 0x20,
unrecoverable = 0x40,
critical = 0x50,
diagnostic = 0x60,
symptom = 0x70
};
/**
* @brief The Action Flags values with the bit
* numbering needed by std::bitset.
*
* Not an enum class so that casting isn't needed
* by the bitset operations.
*/
enum ActionFlagsBits
{
serviceActionFlagBit = 15, // 0x8000
hiddenFlagBit = 14, // 0x4000
reportFlagBit = 13, // 0x2000
dontReportToHostFlagBit = 12, // 0x1000
callHomeFlagBit = 11, // 0x0800
isolationIncompleteFlagBit = 10, // 0x0400
spCallHomeFlagBit = 8, // 0x0100
osSWErrorBit = 7, // 0x0080
osHWErrorBit = 6 // 0x0040
};
/**
* @brief The PEL transmission states
*/
enum class TransmissionState
{
newPEL = 0,
badPEL = 1,
sent = 2,
acked = 3
};
} // namespace pels
} // namespace openpower
|