MdeModulePkg: Add SMBIOS 64-bit support for SMBIOS 3.0.
Add SMBIOS 64-bit entry point and 64-bit table support for SMBIOS 3.0. Introduce PcdSmbiosEntryPointProvideMethod to produce 32-bit or 64-bit SMBIOS table. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17051 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This code supports the implementation of the Smbios protocol
|
||||
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -38,6 +38,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
#define SMBIOS_TABLE_MAX_LENGTH 0xFFFF
|
||||
|
||||
//
|
||||
// For SMBIOS 3.0, Structure table maximum size in Entry Point structure is DWORD field limited to 0xFFFFFFFF bytes.
|
||||
//
|
||||
#define SMBIOS_3_0_TABLE_MAX_LENGTH 0xFFFFFFFF
|
||||
|
||||
#define SMBIOS_INSTANCE_SIGNATURE SIGNATURE_32 ('S', 'B', 'i', 's')
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
@@ -89,6 +94,11 @@ typedef struct {
|
||||
LIST_ENTRY Link;
|
||||
EFI_SMBIOS_RECORD_HEADER *RecordHeader;
|
||||
UINTN RecordSize;
|
||||
//
|
||||
// Indicate which table this record is added to.
|
||||
//
|
||||
BOOLEAN Smbios32BitTable;
|
||||
BOOLEAN Smbios64BitTable;
|
||||
} EFI_SMBIOS_ENTRY;
|
||||
|
||||
#define SMBIOS_ENTRY_FROM_LINK(link) CR (link, EFI_SMBIOS_ENTRY, Link, EFI_SMBIOS_ENTRY_SIGNATURE)
|
||||
@@ -117,11 +127,16 @@ typedef struct {
|
||||
|
||||
/**
|
||||
Create Smbios Table and installs the Smbios Table to the System Table.
|
||||
|
||||
@param Smbios32BitTable The flag to update 32-bit table.
|
||||
@param Smbios64BitTable The flag to update 64-bit table.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
SmbiosTableConstruction (
|
||||
VOID
|
||||
BOOLEAN Smbios32BitTable,
|
||||
BOOLEAN Smbios64BitTable
|
||||
);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user