Updated Additional Error/Status codes
This commit adds new Error/Status codes under:
1.Platform state map - Added Combined CPLD authenication,Combined CPLD image update
Combined CPLD image recovery,Combined CPLD booted from Active CFM entries.
2. Recovery reason map - Added BMC and CPU attestation failure entries
3. Panic Reason map - Added Attestation failure entry.
4. Major error code map - Added Attestation failure , Attestation challenge timeout,
SPDM protocol timeout, memcpy Failed and Combined CPLD authenication failure entries.
Tested:
- Manually triggered all the newly added events and observed the entry
in redfish file(/var/log/redfish)
- Event logs in web UI displayed the event correctly.
Example:
CPLD firmware resiliency error.
Error reason: Combined CPLD Authentication failure (MinorCode:0x05).
- GET on redfish/v1/Systems/system/LogServices/EventLog/Entries
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/1686766462",
"@odata.type": "#LogEntry.v1_9_0.LogEntry",
"Created": "2023-06-14T18:14:22+00:00",
"EntryType": "Event",
"Id": "1686766462",
"Message": "CPLD firmware resiliency error. Error reason: Combined CPLD authenication failure(MinorCode:0x05).",
"MessageArgs": [
"Combined CPLD authenication failure(MinorCode:0x05)"
],
"MessageId": "OpenBMC.0.1.CPLDFirmwareResiliencyError",
"Name": "System Event Log Entry",
"Severity": "Critical"
},
Change-Id: I60d9ec218cd9cab79e6d0598f9ee94bef0288015
Signed-off-by: sri anjaneyulu alapati <srix.anjaneyulu.alapati@intel.com>
diff --git a/service/inc/pfr_mgr.hpp b/service/inc/pfr_mgr.hpp
index eba9e5b..63fb6ac 100644
--- a/service/inc/pfr_mgr.hpp
+++ b/service/inc/pfr_mgr.hpp
@@ -124,7 +124,12 @@
{0x13, "CPLD update (in CPLD ROM)"},
{0x14, "PCH/CPU firmware volume update"},
{0x15, "CPLD Nios II processor waiting to start"},
- {0x16, "Reserved 0x16"},
+ {0x16, "Combined CPLD authentication"},
+ {0x17, "Combined CPLD booted from CFM0"},
+ {0x18, "Combined CPLD booted from Active CFM"},
+ {0x19, "Combined CPLD image update"},
+ {0x1A, "Combined CPLD image recovery"},
+ {0x1B, "Combined CPLD boot from CFM0 due to recovery failure"},
{0x40, "T-1 firmware recovery due to authentication failure"},
{0x41, "T-1 forced active firmware recovery"},
{0x42, "WDT timeout recovery"},
diff --git a/service/src/mainapp.cpp b/service/src/mainapp.cpp
index 83750c9..428b0f7 100644
--- a/service/src/mainapp.cpp
+++ b/service/src/mainapp.cpp
@@ -78,7 +78,10 @@
{"BMCFirmwareRecoveryReason",
"BMC recovery image authentication failure"}},
{0x09, {"BMCFirmwareRecoveryReason", "BMC launch failure"}},
- {0x0A, {"CPLDFirmwareRecoveryReason", "CPLD watchdog expired"}}};
+ {0x0A, {"CPLDFirmwareRecoveryReason", "CPLD watchdog expired"}},
+ {0x0B, {"BMCFirmwareRecoveryReason", "BMC attestation failure"}},
+ {0x0C, {"FirmwareResiliencyError", "CPU0 attestation failure"}},
+ {0x0D, {"FirmwareResiliencyError", "CPU1 attestation failure"}}};
// Panic Reason map.
// {<CPLD association>, {<Redfish MessageID>, <Panic reason> })
@@ -90,10 +93,11 @@
{0x03, {"BMCFirmwarePanicReason", "BMC reset detected"}},
{0x04, {"BMCFirmwarePanicReason", "BMC watchdog expired"}},
{0x05, {"MEFirmwarePanicReason", "ME watchdog expired"}},
- {0x06, {"BIOSFirmwarePanicReason", "ACM watchdog expired"}},
+ {0x06, {"BIOSFirmwarePanicReason", "ACM/IBB/OBB WDT expired"}},
{0x09,
{"BIOSFirmwarePanicReason",
- "ACM or IBB or OBB authentication failure"}}};
+ "ACM or IBB or OBB authentication failure"}},
+ {0x0A, {"FirmwareResiliencyError", "Attestation failure"}}};
// Firmware resiliency major map.
// {<CPLD association>, {<Redfish MessageID>, <Error reason> })
@@ -104,8 +108,22 @@
{"BMCFirmwareResiliencyError", "BMC image authentication failed"}},
{0x02,
{"BIOSFirmwareResiliencyError", "BIOS image authentication failed"}},
- {0x03, {"BIOSFirmwareResiliencyError", "Update from BIOS failed"}},
- {0x04, {"BMCFirmwareResiliencyError", "Update from BMC failed"}}};
+ {0x03,
+ {"BIOSFirmwareResiliencyError", "in-band and oob update failure"}},
+ {0x04, {"BMCFirmwareResiliencyError", "Communication setup failed"}},
+ {0x05,
+ {"FirmwareResiliencyError",
+ "Attestation measurement mismatch-Attestation failure"}},
+ {0x06, {"FirmwareResiliencyError", "Attestation challenge timeout"}},
+ {0x07, {"FirmwareResiliencyError", "SPDM protocol timeout"}},
+ {0x08, {"FirmwareResiliencyError", "I2c Communication failure"}},
+ {0x09,
+ {"CPLDFirmwareResiliencyError",
+ "Combined CPLD authentication failure"}},
+ {0x0A, {"CPLDFirmwareResiliencyError", "Combined CPLD update failure"}},
+ {0x0B,
+ {"CPLDFirmwareResiliencyError", "Combined CPLD recovery failure"}},
+ {0x10, {"FirmwareResiliencyError", "Image copy Failed"}}};
static void updateDbusPropertiesCache()
{