summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorli-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-01 02:54:22 +0000
committerli-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-01 02:54:22 +0000
commit9f7d5b46aa54a46cf03e52569757d642c15d5175 (patch)
tree514bc039ad2ae60a40b6128272800d7e3d809618 /MdeModulePkg
parent3507ab19e4d523aa1dc6524b2b165bf4658242c9 (diff)
Remove micro definition for smbios version, instead we use a PCD value to let user customize smbios version better.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9893 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/MdeModulePkg.dec3
-rw-r--r--MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c14
-rw-r--r--MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h7
-rw-r--r--MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf7
4 files changed, 18 insertions, 13 deletions
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 4a1f8a59c..68805d2f9 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 a3a85d59d..9e80c3b1d 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 f75429cba..30092f579 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 <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
-
-#define SMBIOS_MAJOR_VERSION 2
-#define SMBIOS_MINOR_VERSION 4
-
+#include <Library/PcdLib.h>
#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 17d9d83d2..9c16b8316 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