MdePkg/IndustryStandard: Add SMBIOS anchor string & length defines.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3805

Add SMBIOS spec defined anchor strings & length defines.

 - '_SM_' chapter 5.2.1 SMBIOS 2.1 (32-bit) Entry Point
 - '_SM3_' chapter 5.2.2 SMBIOS 3.0 (64-bit) Entry Point

Changes from v1 to v2:
 - Replace non-ASCII characters

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Andrew Fish <afish@apple.com>
Signed-off-by: Giri Mudusuru <girim@apple.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Giri Mudusuru 2023-05-05 08:17:09 +08:00 committed by mergify[bot]
parent c08a3a96fd
commit 2d4c76f783
1 changed files with 20 additions and 2 deletions

View File

@ -48,6 +48,24 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
// //
#define SMBIOS_3_0_TABLE_MAX_LENGTH 0xFFFFFFFF #define SMBIOS_3_0_TABLE_MAX_LENGTH 0xFFFFFFFF
///
/// Reference SMBIOS 3.4, chapter 5.2.1 SMBIOS 2.1 (32-bit) Entry Point
/// Table 1 - SMBIOS 2.1 (32-bit) Entry Point structure, offset 00h
/// _SM_, specified as four ASCII characters (5F 53 4D 5F).
///@{
#define SMBIOS_ANCHOR_STRING "_SM_"
#define SMBIOS_ANCHOR_STRING_LENGTH 4
///@}
///
/// Reference SMBIOS 3.4, chapter 5.2.2 SMBIOS 3.0 (64-bit) Entry Point
/// Table 2 - SMBIOS 3.0 (64-bit) Entry Point structure, offset 00h
/// _SM3_, specified as five ASCII characters (5F 53 4D 33 5F).
///@{
#define SMBIOS_3_0_ANCHOR_STRING "_SM3_"
#define SMBIOS_3_0_ANCHOR_STRING_LENGTH 5
///@}
// //
// SMBIOS type macros which is according to SMBIOS 3.3.0 specification. // SMBIOS type macros which is according to SMBIOS 3.3.0 specification.
// //
@ -138,7 +156,7 @@ typedef UINT16 SMBIOS_HANDLE;
/// ///
#pragma pack(1) #pragma pack(1)
typedef struct { typedef struct {
UINT8 AnchorString[4]; UINT8 AnchorString[SMBIOS_ANCHOR_STRING_LENGTH];
UINT8 EntryPointStructureChecksum; UINT8 EntryPointStructureChecksum;
UINT8 EntryPointLength; UINT8 EntryPointLength;
UINT8 MajorVersion; UINT8 MajorVersion;
@ -155,7 +173,7 @@ typedef struct {
} SMBIOS_TABLE_ENTRY_POINT; } SMBIOS_TABLE_ENTRY_POINT;
typedef struct { typedef struct {
UINT8 AnchorString[5]; UINT8 AnchorString[SMBIOS_3_0_ANCHOR_STRING_LENGTH];
UINT8 EntryPointStructureChecksum; UINT8 EntryPointStructureChecksum;
UINT8 EntryPointLength; UINT8 EntryPointLength;
UINT8 MajorVersion; UINT8 MajorVersion;