Revision: 18182
http://sourceforge.net/p/edk2/code/18182
Author: lersek
Date: 2015-08-06 10:14:12 +0000 (Thu, 06 Aug 2015)
Log Message:
-----------
OvmfPkg: SmbiosVersionLib: recognize SMBIOS 3.x entry point
Also set the DocRev field the way QEMU exposes it, because
MdeModulePkg/Universal/SmbiosDxe lets us control that field too.
Cc: Ard Biesheuvel <[email protected]>
Cc: Wei Huang <[email protected]>
Cc: Jordan Justen <[email protected]>
Cc: Gabriel L. Somlo <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Modified Paths:
--------------
trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.c
trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
trunk/edk2/OvmfPkg/OvmfPkgIa32.dsc
trunk/edk2/OvmfPkg/OvmfPkgIa32X64.dsc
trunk/edk2/OvmfPkg/OvmfPkgX64.dsc
Modified: trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.c
===================================================================
--- trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.c
2015-08-06 10:14:07 UTC (rev 18181)
+++ trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.c
2015-08-06 10:14:12 UTC (rev 18182)
@@ -27,6 +27,7 @@
typedef union {
SMBIOS_TABLE_ENTRY_POINT V2;
+ SMBIOS_TABLE_3_0_ENTRY_POINT V3;
} QEMU_SMBIOS_ANCHOR;
RETURN_STATUS
@@ -73,6 +74,22 @@
QemuAnchor.V2.MinorVersion);
break;
+ case sizeof QemuAnchor.V3:
+ QemuFwCfgReadBytes (AnchorSize, &QemuAnchor);
+
+ if (QemuAnchor.V3.MajorVersion != 3 ||
+ QemuAnchor.V3.TableMaximumSize != TablesSize ||
+ CompareMem (QemuAnchor.V3.AnchorString, "_SM3_", 5) != 0) {
+ return RETURN_SUCCESS;
+ }
+ SmbiosVersion = (UINT16)(QemuAnchor.V3.MajorVersion << 8 |
+ QemuAnchor.V3.MinorVersion);
+
+ DEBUG ((EFI_D_INFO, "%a: SMBIOS 3.x DocRev from QEMU: 0x%02x\n",
+ __FUNCTION__, QemuAnchor.V3.DocRev));
+ PcdSet8 (PcdSmbiosDocRev, QemuAnchor.V3.DocRev);
+ break;
+
default:
return RETURN_SUCCESS;
}
Modified: trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
===================================================================
--- trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
2015-08-06 10:14:07 UTC (rev 18181)
+++ trunk/edk2/OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
2015-08-06 10:14:12 UTC (rev 18182)
@@ -49,4 +49,5 @@
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev
gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated
Modified: trunk/edk2/OvmfPkg/OvmfPkgIa32.dsc
===================================================================
--- trunk/edk2/OvmfPkg/OvmfPkgIa32.dsc 2015-08-06 10:14:07 UTC (rev 18181)
+++ trunk/edk2/OvmfPkg/OvmfPkgIa32.dsc 2015-08-06 10:14:12 UTC (rev 18182)
@@ -362,6 +362,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
################################################################################
Modified: trunk/edk2/OvmfPkg/OvmfPkgIa32X64.dsc
===================================================================
--- trunk/edk2/OvmfPkg/OvmfPkgIa32X64.dsc 2015-08-06 10:14:07 UTC (rev
18181)
+++ trunk/edk2/OvmfPkg/OvmfPkgIa32X64.dsc 2015-08-06 10:14:12 UTC (rev
18182)
@@ -368,6 +368,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
################################################################################
Modified: trunk/edk2/OvmfPkg/OvmfPkgX64.dsc
===================================================================
--- trunk/edk2/OvmfPkg/OvmfPkgX64.dsc 2015-08-06 10:14:07 UTC (rev 18181)
+++ trunk/edk2/OvmfPkg/OvmfPkgX64.dsc 2015-08-06 10:14:12 UTC (rev 18182)
@@ -367,6 +367,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
################################################################################
------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits