IntelSiliconPkg: Add Intel Firmware Version Info (FVI) definitions
authorGiri P Mudusuru <giri.p.mudusuru@intel.com>
Wed, 12 Oct 2016 05:13:56 +0000 (22:13 -0700)
committerGiri P Mudusuru <giri.p.mudusuru@intel.com>
Fri, 14 Oct 2016 05:40:49 +0000 (22:40 -0700)
Adding Intel Firmware Version Info (FVI) related defines & structures.
FVI enables reporting the Firmware Versions using SMBIOS OEM Type.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
IntelSiliconPkg/Include/IndustryStandard/FirmwareVersionInfo.h [new file with mode: 0644]

diff --git a/IntelSiliconPkg/Include/IndustryStandard/FirmwareVersionInfo.h b/IntelSiliconPkg/Include/IndustryStandard/FirmwareVersionInfo.h
new file mode 100644 (file)
index 0000000..b982d79
--- /dev/null
@@ -0,0 +1,60 @@
+/** @file\r
+  Intel Firmware Version Info (FVI) related definitions.\r
+\r
+  @todo: update document/spec reference\r
+\r
+  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+@par Specification Reference:\r
+  System Management BIOS (SMBIOS) Reference Specification v3.0.0 dated 2015-Feb-12\r
+  http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.0.0.pdf\r
+\r
+**/\r
+\r
+#ifndef __FIRMWARE_VERSION_INFO_H__\r
+#define __FIRMWARE_VERSION_INFO_H__\r
+\r
+#include <IndustryStandard/SmBios.h>\r
+\r
+#define INTEL_FIRMWARE_VERSION_INFO_GROUP_NAME    "Firmware Version Info"\r
+\r
+#pragma pack(1)\r
+\r
+///\r
+/// Firmware Version Structure\r
+///\r
+typedef struct {\r
+  UINT8                       MajorVersion;\r
+  UINT8                       MinorVersion;\r
+  UINT8                       Revision;\r
+  UINT16                      BuildNumber;\r
+} INTEL_FIRMWARE_VERSION;\r
+\r
+///\r
+/// Firmware Version Info (FVI) Structure\r
+///\r
+typedef struct {\r
+  SMBIOS_TABLE_STRING         ComponentName;  ///< String Index of Component Name\r
+  SMBIOS_TABLE_STRING         VersionString;  ///< String Index of Version String\r
+  INTEL_FIRMWARE_VERSION      Version;        ///< Firmware version\r
+} INTEL_FIRMWARE_VERSION_INFO;\r
+\r
+///\r
+/// SMBIOS OEM Type Intel Firmware Version Info (FVI) Structure\r
+///\r
+typedef struct {\r
+  SMBIOS_STRUCTURE            Header;         ///< SMBIOS structure header\r
+  UINT8                       Count;          ///< Number of FVI entries in this structure\r
+  INTEL_FIRMWARE_VERSION_INFO Fvi[1];         ///< FVI structure(s)\r
+} SMBIOS_TABLE_TYPE_OEM_INTEL_FVI;\r
+\r
+#pragma pack()\r
+\r
+#endif\r