diff options
author | Matt Spinler <spinler@us.ibm.com> | 2019-09-11 13:32:12 -0500 |
---|---|---|
committer | Matt Spinler <spinler@us.ibm.com> | 2019-09-27 14:26:15 -0500 |
commit | 1a94cc38fc2885eac2b7674cc75837debea26eb8 (patch) | |
tree | 953f641dc5f0ee5205bd0694c426dda34590d055 | |
parent | c8705e2bfcc7582fb7dc89ac1598489712c006f3 (diff) | |
download | phosphor-logging-1a94cc38fc2885eac2b7674cc75837debea26eb8.tar.gz phosphor-logging-1a94cc38fc2885eac2b7674cc75837debea26eb8.zip |
PEL: Move PEL section IDs into a header file
These will eventually need to be known to a piece of code that
unflattens a PEL into the appropriate section class objects based on the
section ID field in the PEL data.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I90b9d4be49b2e3807a620745fa663f94f7f4e62c
-rw-r--r-- | extensions/openpower-pels/pel_types.hpp | 34 | ||||
-rw-r--r-- | extensions/openpower-pels/private_header.cpp | 4 | ||||
-rw-r--r-- | extensions/openpower-pels/private_header.hpp | 3 | ||||
-rw-r--r-- | extensions/openpower-pels/user_header.cpp | 4 | ||||
-rw-r--r-- | extensions/openpower-pels/user_header.hpp | 3 |
5 files changed, 42 insertions, 6 deletions
diff --git a/extensions/openpower-pels/pel_types.hpp b/extensions/openpower-pels/pel_types.hpp new file mode 100644 index 0000000..5b4149f --- /dev/null +++ b/extensions/openpower-pels/pel_types.hpp @@ -0,0 +1,34 @@ +#pragma once + +namespace openpower +{ +namespace pels +{ + +/** + * @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' +}; + +} // namespace pels +} // namespace openpower diff --git a/extensions/openpower-pels/private_header.cpp b/extensions/openpower-pels/private_header.cpp index d4c3dee..fc62df1 100644 --- a/extensions/openpower-pels/private_header.cpp +++ b/extensions/openpower-pels/private_header.cpp @@ -1,5 +1,7 @@ #include "private_header.hpp" +#include "pel_types.hpp" + #include <phosphor-logging/log.hpp> namespace openpower @@ -28,7 +30,7 @@ void PrivateHeader::validate() { bool failed = false; - if (header().id != privateHeaderSectionID) + if (header().id != static_cast<uint16_t>(SectionID::privateHeader)) { log<level::ERR>("Invalid private header section ID", entry("ID=0x%X", header().id)); diff --git a/extensions/openpower-pels/private_header.hpp b/extensions/openpower-pels/private_header.hpp index 4a8b330..66126a0 100644 --- a/extensions/openpower-pels/private_header.hpp +++ b/extensions/openpower-pels/private_header.hpp @@ -14,8 +14,7 @@ struct CreatorVersion uint8_t version[8]; }; -static constexpr uint16_t privateHeaderSectionID = 0x5048; // 'PH' -static constexpr uint16_t privateHeaderVersion = 0x01; +static constexpr uint8_t privateHeaderVersion = 0x01; static constexpr uint8_t minSectionCount = 2; /** diff --git a/extensions/openpower-pels/user_header.cpp b/extensions/openpower-pels/user_header.cpp index 917d578..e5e8abb 100644 --- a/extensions/openpower-pels/user_header.cpp +++ b/extensions/openpower-pels/user_header.cpp @@ -1,5 +1,7 @@ #include "user_header.hpp" +#include "pel_types.hpp" + #include <phosphor-logging/log.hpp> namespace openpower @@ -41,7 +43,7 @@ UserHeader::UserHeader(Stream& pel) void UserHeader::validate() { bool failed = false; - if (header().id != userHeaderSectionID) + if (header().id != static_cast<uint16_t>(SectionID::userHeader)) { log<level::ERR>("Invalid user header section ID", entry("ID=0x%X", header().id)); diff --git a/extensions/openpower-pels/user_header.hpp b/extensions/openpower-pels/user_header.hpp index ae7a922..5e64ff4 100644 --- a/extensions/openpower-pels/user_header.hpp +++ b/extensions/openpower-pels/user_header.hpp @@ -8,8 +8,7 @@ namespace openpower namespace pels { -static constexpr uint16_t userHeaderSectionID = 0x5548; // 'UH' -static constexpr uint16_t userHeaderVersion = 0x01; +static constexpr uint8_t userHeaderVersion = 0x01; /** * @class UserHeader |