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
+};