From 2d4c76f783ee7eaab65b64f2f8c04f78394be0d1 Mon Sep 17 00:00:00 2001 From: Giri Mudusuru Date: Fri, 5 May 2023 08:17:09 +0800 Subject: 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 Cc: Liming Gao Cc: Zhiguang Liu Cc: Andrew Fish Signed-off-by: Giri Mudusuru Reviewed-by: Liming Gao --- MdePkg/Include/IndustryStandard/SmBios.h | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'MdePkg/Include/IndustryStandard') diff --git a/MdePkg/Include/IndustryStandard/SmBios.h b/MdePkg/Include/IndustryStandard/SmBios.h index 9cbdec1..89985bb 100644 --- a/MdePkg/Include/IndustryStandard/SmBios.h +++ b/MdePkg/Include/IndustryStandard/SmBios.h @@ -48,6 +48,24 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // #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. // @@ -138,7 +156,7 @@ typedef UINT16 SMBIOS_HANDLE; /// #pragma pack(1) typedef struct { - UINT8 AnchorString[4]; + UINT8 AnchorString[SMBIOS_ANCHOR_STRING_LENGTH]; UINT8 EntryPointStructureChecksum; UINT8 EntryPointLength; UINT8 MajorVersion; @@ -155,7 +173,7 @@ typedef struct { } SMBIOS_TABLE_ENTRY_POINT; typedef struct { - UINT8 AnchorString[5]; + UINT8 AnchorString[SMBIOS_3_0_ANCHOR_STRING_LENGTH]; UINT8 EntryPointStructureChecksum; UINT8 EntryPointLength; UINT8 MajorVersion; -- cgit v1.1