Implement support for POZ FFDC with multiple FFDC packets
This commit implements support for POZ FFDC, where multiple FFDC packets
can be returned after executing an SBE chip-op. This differs from the
processor SBE chip-op, which typically returns only a single FFDC packet
upon a chip-op failure.
Key aspects of the implementation:
- Each FFDC packet is associated with a unique SLID id, allowing for the
identification of separate and unrelated FFDC packets within the
collection.
- Each unique SLID is treated as an independent PEL, ensuring that each
FFDC packet is logged separately.
- FFDC data may be present even if the chip-op completes successfully.
In such cases, PELs are logged, but the chip-op is not considered a
failure.
Tests:
Testing the proc FFDC to make sure no regression
Testing POZ FFDC and making sure multiple PELs are logged
Testing FFDC with chip-op success
Change-Id: I8c70bc8df9249c5b9841baef7b5dbe0a6f22e08d
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
diff --git a/dump/sbe_dump_collector.hpp b/dump/sbe_dump_collector.hpp
index d4cbc58..b926203 100644
--- a/dump/sbe_dump_collector.hpp
+++ b/dump/sbe_dump_collector.hpp
@@ -178,7 +178,7 @@
* @param cmdType - The specific type of command within the command class.
*
*/
- void logErrorAndCreatePEL(const openpower::phal::sbeError_t& sbeError,
+ bool logErrorAndCreatePEL(const openpower::phal::sbeError_t& sbeError,
uint64_t chipPos, SBETypes sbeType,
uint32_t cmdClass, uint32_t cmdType);