summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Spinler <spinler@us.ibm.com>2019-09-11 13:32:12 -0500
committerMatt Spinler <spinler@us.ibm.com>2019-09-27 14:26:15 -0500
commit1a94cc38fc2885eac2b7674cc75837debea26eb8 (patch)
tree953f641dc5f0ee5205bd0694c426dda34590d055
parentc8705e2bfcc7582fb7dc89ac1598489712c006f3 (diff)
downloadphosphor-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.hpp34
-rw-r--r--extensions/openpower-pels/private_header.cpp4
-rw-r--r--extensions/openpower-pels/private_header.hpp3
-rw-r--r--extensions/openpower-pels/user_header.cpp4
-rw-r--r--extensions/openpower-pels/user_header.hpp3
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
OpenPOWER on IntegriCloud