DynamicTablesPkg: Move ACPI device Handle object to Arch Common

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.Gondois@arm.com>
Cc: Yeo Reum Yun <YeoReum.Yun@arm.com>
Cc: AbdulLateef Attar <AbdulLateef.Attar@amd.com>
Cc: Jeshua Smith <jeshuas@nvidia.com>
Cc: Jeff Brasen <jbrasen@nvidia.com>
Cc: Girish Mahadevan <gmahadevan@nvidia.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
This commit is contained in:
Sami Mujawar 2024-03-11 11:08:56 +00:00 committed by mergify[bot]
parent 71b0e9decb
commit 0ca10ddc0f
6 changed files with 68 additions and 69 deletions

View File

@ -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_

View File

@ -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

View File

@ -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,

View File

@ -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.

View File

@ -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),

View File

@ -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. | |