blob: 99ed1cb2042a9b6cebe893379e9d42090c457864 [file] [log] [blame]
#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,
hostbootError = 0xBC
};
/**
* @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
};
/**
* @brief Callout priority values
*/
enum class CalloutPriority
{
high = 'H',
medium = 'M',
mediumGroupA = 'A',
mediumGroupB = 'B',
mediumGroupC = 'C',
low = 'L'
};
} // namespace pels
} // namespace openpower