summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-intel
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-intel')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager/0001-mainapp-Modify-Redfish-MessageID-from-Panic-to-Resil.patch119
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/psu-manager/files/0001-Add-vector-size-check.patch49
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb2
5 files changed, 175 insertions, 1 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager/0001-mainapp-Modify-Redfish-MessageID-from-Panic-to-Resil.patch b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager/0001-mainapp-Modify-Redfish-MessageID-from-Panic-to-Resil.patch
new file mode 100644
index 000000000..1296d38a7
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager/0001-mainapp-Modify-Redfish-MessageID-from-Panic-to-Resil.patch
@@ -0,0 +1,119 @@
+From 5e41f37815549b0635941f7f0dbc2bb925f61cfd Mon Sep 17 00:00:00 2001
+From: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
+Date: Thu, 7 Oct 2021 16:07:47 +0000
+Subject: [PATCH] mainapp: Modify Redfish MessageID from 'Panic' to
+ 'Resiliency'
+
+Panic word not suitable for Platform firmware resiliency events. Hence
+modify the Redfish MessageID to following MessageIDs.
+1. FirmwareResiliency for warning severity events.
+2. FirmwareUpdateStatus for firmware update notifications with
+OK severity.
+
+The above Message registries are updated in below bmcweb review.
+https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/48988
+
+Tested:
+Enable PFR provision.
+
+1. Update BMC firmware
+POST: https://<BMC_IP>/redfish/v1/UpdateService/
+ with <BMC_Update_Capsule> binary file
+After BMC reboots check for Event log in Redfish
+Command: GET: https://<BMC_IP>/redfish/v1/Systems/system/LogServices/
+ EventLog/Entries
+Response:
+ {
+ "@odata.id": "/redfish/v1/Systems/system/LogServices/
+ EventLog/Entries/1618207226",
+ "@odata.type": "#LogEntry.v1_8_0.LogEntry",
+ "Created": "2021-04-12T06:00:26+00:00",
+ "EntryType": "Event",
+ "Id": "1618207226",
+ "Message": "Firmware update occurred due to BMC update
+ intent.",
+ "MessageArgs": [
+ "BMC update intent"
+ ],
+ "MessageId": "OpenBMC.0.2.FirmwareUpdateStatus",
+ "Name": "System Event Log Entry",
+ "Severity": "OK"
+ }
+2. Reset BMC.
+Command: ipmitool raw 6 2
+After BMC reboots check for Event log in Redfish
+Command: GET: https://<BMC_IP>/redfish/v1/Systems/system/LogServices/
+ EventLog/Entries
+Response:
+ {
+ "@odata.id": "/redfish/v1/Systems/system/LogServices/
+ EventLog/Entries/1618207249",
+ "@odata.type": "#LogEntry.v1_8_0.LogEntry",
+ "Created": "2021-04-12T06:02:49+00:00",
+ "EntryType": "Event",
+ "Id": "1618207249",
+ "Message": "Firmware resiliency event occurred due to BMC
+ reset detected.",
+ "MessageArgs": [
+ "BMC reset detected"
+ ],
+ "MessageId": "OpenBMC.0.2.FirmwareResiliency",
+ "Name": "System Event Log Entry",
+ "Severity": "Warning"
+ }
+
+Signed-off-by: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
+Change-Id: I1a3a563fb345dce270e3678290dbc7ee7c134b9e
+---
+ service/src/mainapp.cpp | 28 +++++++++++++---------------
+ 1 file changed, 13 insertions(+), 15 deletions(-)
+
+diff --git a/service/src/mainapp.cpp b/service/src/mainapp.cpp
+index 8a91dab..60bf3ad 100644
+--- a/service/src/mainapp.cpp
++++ b/service/src/mainapp.cpp
+@@ -83,16 +83,15 @@ static const boost::container::flat_map<uint8_t,
+ // {<CPLD association>, {<Redfish MessageID>, <Panic reason> })
+ static const boost::container::flat_map<uint8_t,
+ std::pair<std::string, std::string>>
+- panicReasonMap = {
+- {0x01, {"BIOSFirmwarePanicReason", "BIOS update intent"}},
+- {0x02, {"BMCFirmwarePanicReason", "BMC update intent"}},
+- {0x03, {"BMCFirmwarePanicReason", "BMC reset detected"}},
+- {0x04, {"BMCFirmwarePanicReason", "BMC watchdog expired"}},
+- {0x05, {"MEFirmwarePanicReason", "ME watchdog expired"}},
+- {0x06, {"BIOSFirmwarePanicReason", "ACM watchdog expired"}},
+- {0x09,
+- {"BIOSFirmwarePanicReason",
+- "ACM or IBB or OBB authentication failure"}}};
++ panicReasonMap = {{0x01, {"FirmwareUpdateStatus", "BIOS update intent"}},
++ {0x02, {"FirmwareUpdateStatus", "BMC update intent"}},
++ {0x03, {"FirmwareResiliency", "BMC reset detected"}},
++ {0x04, {"FirmwareResiliency", "BMC watchdog expired"}},
++ {0x05, {"FirmwareResiliency", "ME watchdog expired"}},
++ {0x06, {"FirmwareResiliency", "ACM watchdog expired"}},
++ {0x09,
++ {"FirmwareResiliencyError",
++ "ACM or IBB or OBB authentication failure"}}};
+
+ // Firmware resiliency major map.
+ // {<CPLD association>, {<Redfish MessageID>, <Error reason> })
+@@ -156,11 +155,10 @@ static void logLastPanicEvent()
+ return;
+ }
+
+- std::string msgId = "OpenBMC.0.1." + it->second.first;
+- sd_journal_send("MESSAGE=%s", "Platform firmware panic occurred.",
+- "PRIORITY=%i", LOG_WARNING, "REDFISH_MESSAGE_ID=%s",
+- msgId.c_str(), "REDFISH_MESSAGE_ARGS=%s",
+- it->second.second.c_str(), NULL);
++ std::string msgId = "OpenBMC.0.2." + it->second.first;
++ sd_journal_send("MESSAGE=Platform firmware resiliency event occurred.",
++ "REDFISH_MESSAGE_ID=%s", msgId.c_str(),
++ "REDFISH_MESSAGE_ARGS=%s", it->second.second.c_str(), NULL);
+ }
+
+ static void logResiliencyErrorEvent(const uint8_t majorErrorCode,
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend
index 1e6becb03..5f591a295 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/pfr-manager_%.bbappend
@@ -3,3 +3,7 @@ SRC_URI = "git://github.com/openbmc/pfr-manager"
SRCREV = "57f42c3d37d9546ede4f2c015bf9f392130c93b5"
DEPENDS += " libgpiod \
"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+SRC_URI += "file://0001-mainapp-Modify-Redfish-MessageID-from-Panic-to-Resil.patch \
+ "
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/files/0001-Add-vector-size-check.patch b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/files/0001-Add-vector-size-check.patch
new file mode 100644
index 000000000..0df27f048
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/files/0001-Add-vector-size-check.patch
@@ -0,0 +1,49 @@
+From 556d1fe01fa1624b7ee967efbd2f55ed80375356 Mon Sep 17 00:00:00 2001
+From: "Arun P. Mohanan" <arun.p.m@linux.intel.com>
+Date: Tue, 15 Feb 2022 16:56:37 +0530
+Subject: [PATCH] Add vector size check
+
+When PowerSupplyRedundancyEnabled is set to true and RotationRankOrder
+is 0, xyz.openbmc_project.coldredundancy.service core-dump issue
+is observed.
+
+Add a check to address above corner case and avoid core-dump.
+
+Tested:
+Verified core-dump is not observed with above settings
+
+Feb 15 11:39:25 intel-obmc psuredundancy[18502]: RotationRankOrder less than number of PSUs
+
+Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
+---
+ src/cold_redundancy.cpp | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/src/cold_redundancy.cpp b/src/cold_redundancy.cpp
+index 9cee6ec..9dc5907 100644
+--- a/src/cold_redundancy.cpp
++++ b/src/cold_redundancy.cpp
+@@ -615,7 +615,19 @@ void ColdRedundancy::reRanking(void)
+ {
+ psu->order = 0;
+ }
+- orders[psuNumber++] = psu->order;
++ if (psuNumber < orders.size())
++ {
++ orders[psuNumber++] = psu->order;
++ }
++ else
++ {
++ static bool logOnlyOnce = false;
++ if (!logOnlyOnce)
++ {
++ std::cerr << "RotationRankOrder less than number of PSUs\n";
++ logOnlyOnce = true;
++ }
++ }
+ }
+ rotationRankOrder(orders);
+ }
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
index 6ce844f60..4c1625695 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
@@ -4,6 +4,8 @@ DESCRIPTION = "Power supply manager which include PSU Cold Redundancy service"
SRC_URI = "git://git@github.com/Intel-BMC/psu-manager.git;protocol=ssh"
SRCREV = "30788892792c302b1317bac4e7f837ca1374d789"
+SRC_URI += "file://0001-Add-vector-size-check.patch \
+ "
S = "${WORKDIR}/git"
PV = "1.0+git${SRCPV}"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
index fefaddbce..1a7e3a26c 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
@@ -2,7 +2,7 @@ SUMMARY = "SMBIOS MDR version 2 service for Intel based platform"
DESCRIPTION = "SMBIOS MDR version 2 service for Intel based platfrom"
SRC_URI = "git://github.com/openbmc/smbios-mdr.git"
-SRCREV = "bc924d0f9f590d7d420b9f7bc98bdb9b8688618e"
+SRCREV = "0435a483afb10a5eabe7ae93f07fbb2d2265e53f"
S = "${WORKDIR}/git"