From: Sami Mujawar <sami.muja...@arm.com> Move the ACPI device Handle object from Arm Namespace to the Arch Common namespace.
Correspondingly also update the following modules to reflect the changes introduced by the move: - SRAT generator - ConfigurationManagerObjectParser - Dynamic Plat Repo TokenFixer map. Cc: Pierre Gondois <pierre.gond...@arm.com> Cc: Yeo Reum Yun <yeoreum....@arm.com> Cc: AbdulLateef Attar <abdullateef.at...@amd.com> Cc: Jeshua Smith <jesh...@nvidia.com> Cc: Jeff Brasen <jbra...@nvidia.com> Cc: Girish Mahadevan <gmahade...@nvidia.com> Cc: Leif Lindholm <quic_llind...@quicinc.com> Cc: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com> Signed-off-by: Sami Mujawar <sami.muja...@arm.com> Signed-off-by: Pierre Gondois <pierre.gond...@arm.com> --- .../Include/ArchCommonNameSpaceObjects.h | 14 ++++++ .../Include/ArmNameSpaceObjects.h | 44 +++++++------------ .../Acpi/Arm/AcpiSratLibArm/SratGenerator.c | 12 ++--- .../DynamicPlatRepoLib/CmObjectTokenFixer.c | 29 ++++++------ .../ConfigurationManagerObjectParser.c | 6 +-- DynamicTablesPkg/Readme.md | 32 +++++++------- 6 files changed, 68 insertions(+), 69 deletions(-) diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h index 86d751bdfaaa..0b450e8f99c2 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -32,6 +32,7 @@ typedef enum ArchCommonObjectID { EArchCommonObjPciAddressMapInfo, ///< 9 - Pci Address Map Info EArchCommonObjPciInterruptMapInfo, ///< 10 - Pci Interrupt Map Info EArchCommonObjMemoryAffinityInfo, ///< 11 - Memory Affinity Info + EArchCommonObjDeviceHandleAcpi, ///< 12 - Device Handle Acpi EArchCommonObjMax } EARCH_COMMON_OBJECT_ID; @@ -242,6 +243,19 @@ typedef struct CmArchCommonMemoryAffinityInfo { UINT32 Flags; } CM_ARCH_COMMON_MEMORY_AFFINITY_INFO; +/** A structure that describes the ACPI Device Handle (Type 0) in the + Generic Initiator Affinity structure in SRAT + + ID: EArchCommonObjDeviceHandleAcpi +*/ +typedef struct CmArchCommonDeviceHandleAcpi { + /// Hardware ID + UINT64 Hid; + + /// Unique Id + UINT32 Uid; +} CM_ARCH_COMMON_DEVICE_HANDLE_ACPI; + #pragma pack() #endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_ diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index 7905152114a7..64c5f2677246 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -50,22 +50,21 @@ typedef enum ArmObjectID { EArmObjSmmuInterruptArray, ///< 19 - SMMU Interrupt Array EArmObjProcHierarchyInfo, ///< 20 - Processor Hierarchy Info EArmObjCacheInfo, ///< 21 - Cache Info - EArmObjDeviceHandleAcpi, ///< 22 - Device Handle Acpi - EArmObjDeviceHandlePci, ///< 23 - Device Handle Pci - EArmObjGenericInitiatorAffinityInfo, ///< 24 - Generic Initiator Affinity - EArmObjCmn600Info, ///< 25 - CMN-600 Info - EArmObjLpiInfo, ///< 26 - Lpi Info - EArmObjRmr, ///< 27 - Reserved Memory Range Node - EArmObjMemoryRangeDescriptor, ///< 28 - Memory Range Descriptor - EArmObjCpcInfo, ///< 29 - Continuous Performance Control Info - EArmObjPccSubspaceType0Info, ///< 30 - Pcc Subspace Type 0 Info - EArmObjPccSubspaceType1Info, ///< 31 - Pcc Subspace Type 2 Info - EArmObjPccSubspaceType2Info, ///< 32 - Pcc Subspace Type 2 Info - EArmObjPccSubspaceType3Info, ///< 33 - Pcc Subspace Type 3 Info - EArmObjPccSubspaceType4Info, ///< 34 - Pcc Subspace Type 4 Info - EArmObjPccSubspaceType5Info, ///< 35 - Pcc Subspace Type 5 Info - EArmObjEtInfo, ///< 36 - Embedded Trace Extension/Module Info - EArmObjPsdInfo, ///< 37 - P-State Dependency (PSD) Info + EArmObjDeviceHandlePci, ///< 22 - Device Handle Pci + EArmObjGenericInitiatorAffinityInfo, ///< 23 - Generic Initiator Affinity + EArmObjCmn600Info, ///< 24 - CMN-600 Info + EArmObjLpiInfo, ///< 25 - Lpi Info + EArmObjRmr, ///< 26 - Reserved Memory Range Node + EArmObjMemoryRangeDescriptor, ///< 27 - Memory Range Descriptor + EArmObjCpcInfo, ///< 28 - Continuous Performance Control Info + EArmObjPccSubspaceType0Info, ///< 29 - Pcc Subspace Type 0 Info + EArmObjPccSubspaceType1Info, ///< 30 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType2Info, ///< 31 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType3Info, ///< 32 - Pcc Subspace Type 3 Info + EArmObjPccSubspaceType4Info, ///< 33 - Pcc Subspace Type 4 Info + EArmObjPccSubspaceType5Info, ///< 34 - Pcc Subspace Type 5 Info + EArmObjEtInfo, ///< 35 - Embedded Trace Extension/Module Info + EArmObjPsdInfo, ///< 36 - P-State Dependency (PSD) Info EArmObjMax } EARM_OBJECT_ID; @@ -720,19 +719,6 @@ typedef struct CmArmCacheInfo { UINT32 CacheId; } CM_ARM_CACHE_INFO; -/** A structure that describes the ACPI Device Handle (Type 0) in the - Generic Initiator Affinity structure in SRAT - - ID: EArmObjDeviceHandleAcpi -*/ -typedef struct CmArmDeviceHandleAcpi { - /// Hardware ID - UINT64 Hid; - - /// Unique Id - UINT32 Uid; -} CM_ARM_DEVICE_HANDLE_ACPI; - /** A structure that describes the PCI Device Handle (Type 1) in the Generic Initiator Affinity structure in SRAT diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c index 3ba2448f2384..c65a28cd142a 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c @@ -34,7 +34,7 @@ - EArmObjGicItsInfo (OPTIONAL) - EArchCommonObjMemoryAffinityInfo (OPTIONAL) - EArmObjGenericInitiatorAffinityInfo (OPTIONAL) - - EArmObjDeviceHandleAcpi (OPTIONAL) + - EArchCommonObjDeviceHandleAcpi (OPTIONAL) - EArmObjDeviceHandlePci (OPTIONAL) */ @@ -82,9 +82,9 @@ GET_OBJECT_LIST ( information from the Configuration Manager. */ GET_OBJECT_LIST ( - EObjNameSpaceArm, - EArmObjDeviceHandleAcpi, - CM_ARM_DEVICE_HANDLE_ACPI + EObjNameSpaceArchCommon, + EArchCommonObjDeviceHandleAcpi, + CM_ARCH_COMMON_DEVICE_HANDLE_ACPI ); /** @@ -301,7 +301,7 @@ AddGenericInitiatorAffinity ( { EFI_STATUS Status; EFI_ACPI_6_3_GENERIC_INITIATOR_AFFINITY_STRUCTURE *GenInitAff; - CM_ARM_DEVICE_HANDLE_ACPI *DeviceHandleAcpi; + CM_ARCH_COMMON_DEVICE_HANDLE_ACPI *DeviceHandleAcpi; CM_ARM_DEVICE_HANDLE_PCI *DeviceHandlePci; UINT32 DeviceHandleCount; @@ -331,7 +331,7 @@ AddGenericInitiatorAffinity ( } if (GenInitAffInfo->DeviceHandleType == EFI_ACPI_6_3_ACPI_DEVICE_HANDLE) { - Status = GetEArmObjDeviceHandleAcpi ( + Status = GetEArchCommonObjDeviceHandleAcpi ( CfgMgrProtocol, GenInitAffInfo->DeviceHandleToken, &DeviceHandleAcpi, diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c index 654686a0125a..43aae423814f 100644 --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c @@ -165,22 +165,21 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = { NULL, ///< 19 - SMMU Interrupt Array TokenFixerNotImplemented, ///< 20 - Processor Hierarchy Info TokenFixerNotImplemented, ///< 21 - Cache Info - NULL, ///< 22 - Device Handle Acpi - NULL, ///< 23 - Device Handle Pci - NULL, ///< 24 - Generic Initiator Affinity - NULL, ///< 25 - CMN-600 Info - NULL, ///< 26 - Lpi Info - NULL, ///< 27 - Reserved Memory Range Node - NULL, ///< 28 - Memory Range Descriptor - NULL, ///< 29 - Continuous Performance Control Info - NULL, ///< 30 - Pcc Subspace Type 0 Info + NULL, ///< 22 - Device Handle Pci + NULL, ///< 23 - Generic Initiator Affinity + NULL, ///< 24 - CMN-600 Info + NULL, ///< 25 - Lpi Info + NULL, ///< 26 - Reserved Memory Range Node + NULL, ///< 27 - Memory Range Descriptor + NULL, ///< 28 - Continuous Performance Control Info + NULL, ///< 29 - Pcc Subspace Type 0 Info + NULL, ///< 30 - Pcc Subspace Type 2 Info NULL, ///< 31 - Pcc Subspace Type 2 Info - NULL, ///< 32 - Pcc Subspace Type 2 Info - NULL, ///< 33 - Pcc Subspace Type 3 Info - NULL, ///< 34 - Pcc Subspace Type 4 Info - NULL, ///< 35 - Pcc Subspace Type 5 Info - NULL, ///< 36 - Embedded Trace Extension/Module Info - NULL ///< 37 - P-State Dependency (PSD) Info + NULL, ///< 32 - Pcc Subspace Type 3 Info + NULL, ///< 33 - Pcc Subspace Type 4 Info + NULL, ///< 34 - Pcc Subspace Type 5 Info + NULL, ///< 35 - Embedded Trace Extension/Module Info + NULL ///< 36 - P-State Dependency (PSD) Info }; /** CmObj token fixer. diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c index b2fe74cd4f9b..9326ea639351 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -365,9 +365,9 @@ STATIC CONST CM_OBJ_PARSER CmArchCommonMemoryAffinityInfoParser[] = { { "Flags", 4, "0x%x", NULL } }; -/** A parser for EArmObjDeviceHandleAcpi. +/** A parser for EArchCommonObjDeviceHandleAcpi. */ -STATIC CONST CM_OBJ_PARSER CmArmDeviceHandleAcpiParser[] = { +STATIC CONST CM_OBJ_PARSER CmArchCommonDeviceHandleAcpiParser[] = { { "Hid", 8, "0x%llx", NULL }, { "Uid", 4, "0x%x", NULL } }; @@ -682,6 +682,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = { CM_PARSER_ADD_OBJECT (EArchCommonObjPciAddressMapInfo, CmArchCommonPciAddressMapInfoParser), CM_PARSER_ADD_OBJECT (EArchCommonObjPciInterruptMapInfo, CmArchCommonPciInterruptMapInfoParser), CM_PARSER_ADD_OBJECT (EArchCommonObjMemoryAffinityInfo, CmArchCommonMemoryAffinityInfoParser), + CM_PARSER_ADD_OBJECT (EArchCommonObjDeviceHandleAcpi, CmArchCommonDeviceHandleAcpiParser), CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax) }; @@ -710,7 +711,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = { CM_PARSER_ADD_OBJECT (EArmObjSmmuInterruptArray, CmArchCommonGenericInterruptParser), CM_PARSER_ADD_OBJECT (EArmObjProcHierarchyInfo, CmArmProcHierarchyInfoParser), CM_PARSER_ADD_OBJECT (EArmObjCacheInfo, CmArmCacheInfoParser), - CM_PARSER_ADD_OBJECT (EArmObjDeviceHandleAcpi, CmArmDeviceHandleAcpiParser), CM_PARSER_ADD_OBJECT (EArmObjDeviceHandlePci, CmArmDeviceHandlePciParser), CM_PARSER_ADD_OBJECT (EArmObjGenericInitiatorAffinityInfo,CmArmGenericInitiatorAffinityInfoParser), CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600InfoParser), diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 55311fd4cef5..f82c37f4afeb 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -462,22 +462,21 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager | 19 | SMMU Interrupt Array | | | 20 | Processor Hierarchy Info | Move to Arch Common NS | | 21 | Cache Info | Move to Arch Common NS | -| 22 | Device Handle Acpi | Move to Arch Common NS | -| 23 | Device Handle PCI | Move to Arch Common NS | -| 24 | Generic Initiator Affinity Info | Move to Arch Common NS | -| 25 | CMN 600 Info | | -| 26 | Low Power Idle State Info | Move to Arch Common NS | -| 27 | Reserved Memory Range Node | | -| 28 | Memory Range Descriptor | | -| 29 | Continuous Performance Control Info | Move to Arch Common NS | -| 30 | Pcc Subspace Type 0 Info | Move to Arch Common NS | -| 31 | Pcc Subspace Type 1 Info | Move to Arch Common NS | -| 32 | Pcc Subspace Type 2 Info | Move to Arch Common NS | -| 33 | Pcc Subspace Type 3 Info | Move to Arch Common NS | -| 34 | Pcc Subspace Type 4 Info | Move to Arch Common NS | -| 35 | Pcc Subspace Type 5 Info | Move to Arch Common NS | -| 36 | Embedded Trace Extension/Module Info | | -| 37 | P-State Dependency (PSD) Info | Move to Arch Common NS | +| 22 | Device Handle PCI | Move to Arch Common NS | +| 23 | Generic Initiator Affinity Info | Move to Arch Common NS | +| 24 | CMN 600 Info | | +| 25 | Low Power Idle State Info | Move to Arch Common NS | +| 26 | Reserved Memory Range Node | | +| 27 | Memory Range Descriptor | | +| 28 | Continuous Performance Control Info | Move to Arch Common NS | +| 29 | Pcc Subspace Type 0 Info | Move to Arch Common NS | +| 30 | Pcc Subspace Type 1 Info | Move to Arch Common NS | +| 31 | Pcc Subspace Type 2 Info | Move to Arch Common NS | +| 32 | Pcc Subspace Type 3 Info | Move to Arch Common NS | +| 33 | Pcc Subspace Type 4 Info | Move to Arch Common NS | +| 34 | Pcc Subspace Type 5 Info | Move to Arch Common NS | +| 35 | Embedded Trace Extension/Module Info | | +| 36 | P-State Dependency (PSD) Info | Move to Arch Common NS | | `*` | All other values are reserved. | | #### Object ID's in the Arch Common Namespace: @@ -496,4 +495,5 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager | 9 | PCI Address Map Info | | | 10 | PCI Interrupt Map Info | | | 11 | Memory Affinity Info | | +| 12 | Device Handle Acpi | | | `*` | All other values are reserved. | | -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116983): https://edk2.groups.io/g/devel/message/116983 Mute This Topic: https://groups.io/mt/105068153/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-