diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h index ade806dda9..7aef112369 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -553,6 +553,11 @@ typedef struct CmArchCommonProcHierarchyInfo { CHAR8 PartNumber[SMBIOS_MAX_STRING_SIZE]; /// SMBIOS: String stating processor socket type. CHAR8 SocketType[SMBIOS_MAX_STRING_SIZE]; + + /** Optional field: Reference Token for _STA info of this processor. + i.e. a token referencing a CM_ARCH_COMMON_STA_INFO object. + */ + CM_OBJECT_TOKEN StaToken; } CM_ARCH_COMMON_PROC_HIERARCHY_INFO; /** A structure that describes the Cache Type Structure (Type 1) in PPTT diff --git a/DynamicTablesPkg/Include/X64NameSpaceObjects.h b/DynamicTablesPkg/Include/X64NameSpaceObjects.h index fb303828cd..8aa742ae2b 100644 --- a/DynamicTablesPkg/Include/X64NameSpaceObjects.h +++ b/DynamicTablesPkg/Include/X64NameSpaceObjects.h @@ -278,6 +278,11 @@ typedef struct CmX64LocalApicX2ApicInfo { /** Optional field: Reference Token for _STA info of this processor. i.e. a token referencing a CM_ARCH_COMMON_STA_INFO object. + + Note: + This should not happen, but if CM_ARCH_COMMON_PROC_HIERARCHY_INFO + objects are used, CM_ARCH_COMMON_PROC_HIERARCHY_INFO.StaToken takes + precedence over this field. */ CM_OBJECT_TOKEN StaToken; } CM_X64_LOCAL_APIC_X2APIC_INFO; diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c index 5a9cdf58ef..012c8a8492 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -356,7 +356,8 @@ STATIC CONST CM_OBJ_PARSER CmArchCommonProcHierarchyInfoParser[] = { { "SerialNumber", SMBIOS_MAX_STRING_SIZE, "%a", PrintString }, { "AssetTag", SMBIOS_MAX_STRING_SIZE, "%a", PrintString }, { "PartNumber", SMBIOS_MAX_STRING_SIZE, "%a", PrintString }, - { "SocketType", SMBIOS_MAX_STRING_SIZE, "%a", PrintString } + { "SocketType", SMBIOS_MAX_STRING_SIZE, "%a", PrintString }, + { "StaToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }, }; /** A parser for EArchCommonObjCacheInfo.