oem-ampere: eventManager: Add CPER Event class handler
Add Ampere OEM CPER event handler to decode CPER data to get TypeID and
SubTypeID. Then logs those info to Ampere IPMI OEM sel logs.
Change-Id: I4ff1cd3c0ba8a2471afb1c8ee61a8caaf30596b8
Signed-off-by: Dung Cao <dung@os.amperecomputing.com>
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
diff --git a/oem/ampere/event/oem_event_manager.cpp b/oem/ampere/event/oem_event_manager.cpp
index 79266f5..c3c8fb6 100644
--- a/oem/ampere/event/oem_event_manager.cpp
+++ b/oem/ampere/event/oem_event_manager.cpp
@@ -1,5 +1,8 @@
#include "oem_event_manager.hpp"
+#include "libcper/Cper.h"
+
+#include "cper.hpp"
#include "requester/handler.hpp"
#include "requester/request.hpp"
@@ -905,5 +908,18 @@
sendJournalRedfish(description, logLevel);
}
+int OemEventManager::processOemMsgPollEvent(pldm_tid_t tid, uint16_t eventId,
+ const uint8_t* eventData,
+ size_t eventDataSize)
+{
+ EFI_AMPERE_ERROR_DATA ampHdr;
+
+ decodeCperRecord(eventData, eventDataSize, &Hdr);
+
+ addCperSELLog(tid, eventId, &Hdr);
+
+ return PLDM_SUCCESS;
+}
+
} // namespace oem_ampere
} // namespace pldm