OEM command SendFwUpdateStatus
It is used by BIOS/ME to report firmware update status.
Orignal implement uses OEM SEL. In openbmc, OEM SEL is no longer
supported. We use redfish visiable logging instead.
Tested:
1.ipmitool xxx raw 0x30 0x44 0x0 0x10 0x1 0x2 0x30 0x31 0x32 0x33
2. check 'journal -ef -overbose'
expect message with tag 'REDFISH_MESSAGE_ID' is observed
3. check redfish interface
/redfish/v1/Systems/system/LogServices/EventLog/Entries/
expect entries match what we create
Change-Id: I8746e9250bcfb4d8c4a905a1ccaedcc7efab2f51
Signed-off-by: Jia, chunhui <chunhui.jia@linux.intel.com>
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/include/oemcommands.hpp b/include/oemcommands.hpp
index cd51038..3255da1 100644
--- a/include/oemcommands.hpp
+++ b/include/oemcommands.hpp
@@ -22,6 +22,7 @@
cmdGetOEMDeviceInfo = 0x27,
cmdGetAICSlotFRUIDSlotPosRecords = 0x31,
cmdSetSystemGUID = 0x41,
+ cmdSendEmbeddedFWUpdStatus = 0x44,
cmdSetPowerRestoreDelay = 0x54,
cmdGetPowerRestoreDelay = 0x55,
cmdSetShutdownPolicy = 0x60,
@@ -143,6 +144,12 @@
// 3: host serial port 1 and 2 high speed
static constexpr const uint8_t HostSerialCfgParamMax = 3;
+static constexpr const uint8_t selEvtTargetMask = 0xF0;
+static constexpr const uint8_t selEvtTargetShift = 4;
+
+static constexpr const uint8_t targetInstanceMask = 0x0E;
+static constexpr const uint8_t targetInstanceShift = 1;
+
enum class IPMINetfnIntelOEMAppCmd
{
mdrStatus = 0x20,
@@ -172,6 +179,14 @@
sdrVer,
};
+enum class FWUpdateTarget : uint8_t
+{
+ targetBMC = 0x0,
+ targetBIOS = 0x1,
+ targetME = 0x2,
+ targetOEMEWS = 0x4,
+};
+
#pragma pack(push, 1)
struct GUIDData
{
@@ -308,4 +323,4 @@
pwmOffset = 0x2,
maxPwm = 0x3,
cfm = 0x4
-};
\ No newline at end of file
+};