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

Reply via email to