diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 4a1f8a59ca..68805d2f95 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -342,6 +342,9 @@ # BIT0 set indicates 4KB alignment # BIT1 set indicates 8KB alignment gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047 + + ## Smbios version + gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0206|UINT16|0x00010055 [PcdsFixedAtBuild,PcdsPatchableInModule] ## Maximun number of performance log entries during PEI phase. diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c index a3a85d59db..9e80c3b1d3 100644 --- a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c +++ b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c @@ -2,7 +2,7 @@ This code produces the Smbios protocol. It also responsible for constructing SMBIOS table into system table. -Copyright (c) 2009, Intel Corporation +Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -45,13 +45,13 @@ SMBIOS_TABLE_ENTRY_POINT EntryPointStructureData = { // 0x1f, // - // MajorVersion: 2 (Version 2.4) + // MajorVersion // - 0x02, + (UINT8) (FixedPcdGet16 (PcdSmbiosVersion) >> 8), // - // MinorVersion: 4 (Version 2.4) + // MinorVersion // - 0x04, + (UINT8) (FixedPcdGet16 (PcdSmbiosVersion) & 0x00ff), // // MaxStructureSize, TO BE FILLED // @@ -997,8 +997,8 @@ SmbiosDriverEntryPoint ( mPrivateData.Smbios.UpdateString = SmbiosUpdateString; mPrivateData.Smbios.Remove = SmbiosRemove; mPrivateData.Smbios.GetNext = SmbiosGetNext; - mPrivateData.Smbios.MajorVersion = SMBIOS_MAJOR_VERSION; - mPrivateData.Smbios.MinorVersion = SMBIOS_MINOR_VERSION; + mPrivateData.Smbios.MajorVersion = (UINT8) (FixedPcdGet16 (PcdSmbiosVersion) >> 8); + mPrivateData.Smbios.MinorVersion = (UINT8) (FixedPcdGet16 (PcdSmbiosVersion) & 0x00ff); InitializeListHead (&mPrivateData.DataListHead); InitializeListHead (&mPrivateData.AllocatedHandleListHead); diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h index f75429cbad..30092f5797 100644 --- a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h +++ b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h @@ -1,7 +1,7 @@ /** @file This code supports the implementation of the Smbios protocol -Copyright (c) 2009, Intel Corporation +Copyright (c) 2009 - 2010, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -29,10 +29,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include - -#define SMBIOS_MAJOR_VERSION 2 -#define SMBIOS_MINOR_VERSION 4 - +#include #define SMBIOS_INSTANCE_SIGNATURE SIGNATURE_32 ('S', 'B', 'i', 's') typedef struct { diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf index 17d9d83d28..9c16b83164 100644 --- a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf +++ b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf @@ -2,7 +2,7 @@ # Component description file for Smbios module. # # This driver initializes and installs the SMBIOS protocol. -# Copyright (c) 2009, Intel Corporation +# Copyright (c) 2009 - 2010, Intel Corporation # # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -37,6 +37,7 @@ [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec [LibraryClasses] UefiBootServicesTableLib @@ -46,6 +47,7 @@ UefiLib UefiDriverEntryPoint DebugLib + PcdLib [Protocols] gEfiSmbiosProtocolGuid # PROTOCOL ALWAYS_PRODUCED @@ -54,5 +56,8 @@ gEfiEventReadyToBootGuid # PROTOCOL ALWAYS_CONSUMED gEfiSmbiosTableGuid # PROTOCOL ALWAYS_CONSUMED +[FixedPcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion + [Depex] TRUE