From 4362ddea7f068e27b6f2a763018da3ed60178f2a Mon Sep 17 00:00:00 2001 From: Sami Mujawar Date: Tue, 5 Mar 2024 16:34:46 +0000 Subject: [PATCH] DynamicTablesPkg: Move Power Mgmt Profile Info Object Move PowerManagementProfileInfo Object from Arm Namespace to the Arch Common namespace. The following updates are also done to reflect the changes introduced by the move: - Update the FADT Generator to migrate to use the Power Management Profile Info object CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO and EArchCommonObjPowerManagementProfileInfo. - Update the Configuration manager object parser to parse Arch Common namespace objects and update the parsing of the Power Management Profile information object from Arm namespace to the Arch Common namespace. - Update the Dynamic Plat Repo TokenFixer map Cc: Pierre Gondois Cc: Yeo Reum Yun Cc: AbdulLateef Attar Cc: Jeshua Smith Cc: Jeff Brasen Cc: Girish Mahadevan Cc: Leif Lindholm Cc: Meenakshi Aggarwal Signed-off-by: Sami Mujawar Reviewed-by: Sunil V L --- .../Include/ArchCommonNameSpaceObjects.h | 18 +++ .../Include/ArmNameSpaceObjects.h | 105 ++++++++---------- .../Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 14 +-- .../DynamicPlatRepoLib/CmObjectTokenFixer.c | 91 ++++++++------- .../ConfigurationManagerObjectParser.c | 6 +- DynamicTablesPkg/Readme.md | 94 ++++++++-------- 6 files changed, 166 insertions(+), 162 deletions(-) diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h index e4205d6ba6..bbf3cd1e2e 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -21,7 +21,25 @@ */ typedef enum ArchCommonObjectID { EArchCommonObjReserved, ///< 0 - Reserved + EArchCommonObjPowerManagementProfileInfo, ///< 1 - Power Management Profile Info EArchCommonObjMax } EARCH_COMMON_OBJECT_ID; +#pragma pack(1) + +/** A structure that describes the + Power Management Profile Information for the Platform. + + ID: EArchCommonObjPowerManagementProfileInfo +*/ +typedef struct CmArchCommonPowerManagementProfileInfo { + /** This is the Preferred_PM_Profile field of the FADT Table + described in the ACPI Specification + */ + UINT8 PowerManagementProfile; +} CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO; + + +#pragma pack() + #endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_ diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index f7e1a0933f..3d9a151846 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -30,53 +30,52 @@ typedef enum ArmObjectID { EArmObjReserved, ///< 0 - Reserved EArmObjBootArchInfo, ///< 1 - Boot Architecture Info - EArmObjPowerManagementProfileInfo, ///< 2 - Power Management Profile Info - EArmObjGicCInfo, ///< 3 - GIC CPU Interface Info - EArmObjGicDInfo, ///< 4 - GIC Distributor Info - EArmObjGicMsiFrameInfo, ///< 5 - GIC MSI Frame Info - EArmObjGicRedistributorInfo, ///< 6 - GIC Redistributor Info - EArmObjGicItsInfo, ///< 7 - GIC ITS Info - EArmObjSerialConsolePortInfo, ///< 8 - Serial Console Port Info - EArmObjSerialDebugPortInfo, ///< 9 - Serial Debug Port Info - EArmObjGenericTimerInfo, ///< 10 - Generic Timer Info - EArmObjPlatformGTBlockInfo, ///< 11 - Platform GT Block Info - EArmObjGTBlockTimerFrameInfo, ///< 12 - Generic Timer Block Frame Info - EArmObjPlatformGenericWatchdogInfo, ///< 13 - Platform Generic Watchdog - EArmObjPciConfigSpaceInfo, ///< 14 - PCI Configuration Space Info - EArmObjHypervisorVendorIdentity, ///< 15 - Hypervisor Vendor Id - EArmObjFixedFeatureFlags, ///< 16 - Fixed feature flags for FADT - EArmObjItsGroup, ///< 17 - ITS Group - EArmObjNamedComponent, ///< 18 - Named Component - EArmObjRootComplex, ///< 19 - Root Complex - EArmObjSmmuV1SmmuV2, ///< 20 - SMMUv1 or SMMUv2 - EArmObjSmmuV3, ///< 21 - SMMUv3 - EArmObjPmcg, ///< 22 - PMCG - EArmObjGicItsIdentifierArray, ///< 23 - GIC ITS Identifier Array - EArmObjIdMappingArray, ///< 24 - ID Mapping Array - EArmObjSmmuInterruptArray, ///< 25 - SMMU Interrupt Array - EArmObjProcHierarchyInfo, ///< 26 - Processor Hierarchy Info - EArmObjCacheInfo, ///< 27 - Cache Info - EArmObjCmRef, ///< 28 - CM Object Reference - EArmObjMemoryAffinityInfo, ///< 29 - Memory Affinity Info - EArmObjDeviceHandleAcpi, ///< 30 - Device Handle Acpi - EArmObjDeviceHandlePci, ///< 31 - Device Handle Pci - EArmObjGenericInitiatorAffinityInfo, ///< 32 - Generic Initiator Affinity - EArmObjSerialPortInfo, ///< 33 - Generic Serial Port Info - EArmObjCmn600Info, ///< 34 - CMN-600 Info - EArmObjLpiInfo, ///< 35 - Lpi Info - EArmObjPciAddressMapInfo, ///< 36 - Pci Address Map Info - EArmObjPciInterruptMapInfo, ///< 37 - Pci Interrupt Map Info - EArmObjRmr, ///< 38 - Reserved Memory Range Node - EArmObjMemoryRangeDescriptor, ///< 39 - Memory Range Descriptor - EArmObjCpcInfo, ///< 40 - Continuous Performance Control Info - EArmObjPccSubspaceType0Info, ///< 41 - Pcc Subspace Type 0 Info - EArmObjPccSubspaceType1Info, ///< 42 - Pcc Subspace Type 2 Info - EArmObjPccSubspaceType2Info, ///< 43 - Pcc Subspace Type 2 Info - EArmObjPccSubspaceType3Info, ///< 44 - Pcc Subspace Type 3 Info - EArmObjPccSubspaceType4Info, ///< 45 - Pcc Subspace Type 4 Info - EArmObjPccSubspaceType5Info, ///< 46 - Pcc Subspace Type 5 Info - EArmObjEtInfo, ///< 47 - Embedded Trace Extension/Module Info - EArmObjPsdInfo, ///< 48 - P-State Dependency (PSD) Info + EArmObjGicCInfo, ///< 2 - GIC CPU Interface Info + EArmObjGicDInfo, ///< 3 - GIC Distributor Info + EArmObjGicMsiFrameInfo, ///< 4 - GIC MSI Frame Info + EArmObjGicRedistributorInfo, ///< 5 - GIC Redistributor Info + EArmObjGicItsInfo, ///< 6 - GIC ITS Info + EArmObjSerialConsolePortInfo, ///< 7 - Serial Console Port Info + EArmObjSerialDebugPortInfo, ///< 8 - Serial Debug Port Info + EArmObjGenericTimerInfo, ///< 9 - Generic Timer Info + EArmObjPlatformGTBlockInfo, ///< 10 - Platform GT Block Info + EArmObjGTBlockTimerFrameInfo, ///< 11 - Generic Timer Block Frame Info + EArmObjPlatformGenericWatchdogInfo, ///< 12 - Platform Generic Watchdog + EArmObjPciConfigSpaceInfo, ///< 13 - PCI Configuration Space Info + EArmObjHypervisorVendorIdentity, ///< 14 - Hypervisor Vendor Id + EArmObjFixedFeatureFlags, ///< 15 - Fixed feature flags for FADT + EArmObjItsGroup, ///< 16 - ITS Group + EArmObjNamedComponent, ///< 17 - Named Component + EArmObjRootComplex, ///< 18 - Root Complex + EArmObjSmmuV1SmmuV2, ///< 19 - SMMUv1 or SMMUv2 + EArmObjSmmuV3, ///< 20 - SMMUv3 + EArmObjPmcg, ///< 21 - PMCG + EArmObjGicItsIdentifierArray, ///< 22 - GIC ITS Identifier Array + EArmObjIdMappingArray, ///< 23 - ID Mapping Array + EArmObjSmmuInterruptArray, ///< 24 - SMMU Interrupt Array + EArmObjProcHierarchyInfo, ///< 25 - Processor Hierarchy Info + EArmObjCacheInfo, ///< 26 - Cache Info + EArmObjCmRef, ///< 27 - CM Object Reference + EArmObjMemoryAffinityInfo, ///< 28 - Memory Affinity Info + EArmObjDeviceHandleAcpi, ///< 29 - Device Handle Acpi + EArmObjDeviceHandlePci, ///< 30 - Device Handle Pci + EArmObjGenericInitiatorAffinityInfo, ///< 31 - Generic Initiator Affinity + EArmObjSerialPortInfo, ///< 32 - Generic Serial Port Info + EArmObjCmn600Info, ///< 33 - CMN-600 Info + EArmObjLpiInfo, ///< 34 - Lpi Info + EArmObjPciAddressMapInfo, ///< 35 - Pci Address Map Info + EArmObjPciInterruptMapInfo, ///< 36 - Pci Interrupt Map Info + EArmObjRmr, ///< 37 - Reserved Memory Range Node + EArmObjMemoryRangeDescriptor, ///< 38 - Memory Range Descriptor + EArmObjCpcInfo, ///< 39 - Continuous Performance Control Info + EArmObjPccSubspaceType0Info, ///< 40 - Pcc Subspace Type 0 Info + EArmObjPccSubspaceType1Info, ///< 41 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType2Info, ///< 42 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType3Info, ///< 43 - Pcc Subspace Type 3 Info + EArmObjPccSubspaceType4Info, ///< 44 - Pcc Subspace Type 4 Info + EArmObjPccSubspaceType5Info, ///< 45 - Pcc Subspace Type 5 Info + EArmObjEtInfo, ///< 46 - Embedded Trace Extension/Module Info + EArmObjPsdInfo, ///< 47 - P-State Dependency (PSD) Info EArmObjMax } EARM_OBJECT_ID; @@ -92,18 +91,6 @@ typedef struct CmArmBootArchInfo { UINT16 BootArchFlags; } CM_ARM_BOOT_ARCH_INFO; -/** A structure that describes the - Power Management Profile Information for the Platform. - - ID: EArmObjPowerManagementProfileInfo -*/ -typedef struct CmArmPowerManagementProfileInfo { - /** This is the Preferred_PM_Profile field of the FADT Table - described in the ACPI Specification - */ - UINT8 PowerManagementProfile; -} CM_ARM_POWER_MANAGEMENT_PROFILE_INFO; - /** A structure that describes the GIC CPU Interface for the Platform. diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c index 57aaaf85e6..ea8c821d11 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c @@ -25,7 +25,7 @@ Requirements: The following Configuration Manager Object(s) are required by this Generator: - - EArmObjPowerManagementProfileInfo + - EArchCommonObjPowerManagementProfileInfo - EArmObjBootArchInfo - EArmObjHypervisorVendorIdentity (OPTIONAL) */ @@ -202,9 +202,9 @@ EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = { Management Profile Information from the Configuration Manager. */ GET_OBJECT_LIST ( - EObjNameSpaceArm, - EArmObjPowerManagementProfileInfo, - CM_ARM_POWER_MANAGEMENT_PROFILE_INFO + EObjNameSpaceArchCommon, + EArchCommonObjPowerManagementProfileInfo, + CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO ); /** This macro expands to a function that retrieves the Boot @@ -253,13 +253,13 @@ FadtAddPmProfileInfo ( IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol ) { - EFI_STATUS Status; - CM_ARM_POWER_MANAGEMENT_PROFILE_INFO *PmProfile; + EFI_STATUS Status; + CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO *PmProfile; ASSERT (CfgMgrProtocol != NULL); // Get the Power Management Profile from the Platform Configuration Manager - Status = GetEArmObjPowerManagementProfileInfo ( + Status = GetEArchCommonObjPowerManagementProfileInfo ( CfgMgrProtocol, CM_NULL_TOKEN, &PmProfile, diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c index 833fa2d6a2..ef2a8dcfdd 100644 --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c @@ -145,53 +145,52 @@ CONST CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = { NULL, ///< 0 - Reserved NULL, ///< 1 - Boot Architecture Info - NULL, ///< 2 - Power Management Profile Info - NULL, ///< 3 - GIC CPU Interface Info - NULL, ///< 4 - GIC Distributor Info - NULL, ///< 5 - GIC MSI Frame Info - NULL, ///< 6 - GIC Redistributor Info - NULL, ///< 7 - GIC ITS Info - NULL, ///< 8 - Serial Console Port Info - NULL, ///< 9 - Serial Debug Port Info - NULL, ///< 10 - Generic Timer Info - NULL, ///< 11 - Platform GT Block Info - NULL, ///< 12 - Generic Timer Block Frame Info - NULL, ///< 13 - Platform Generic Watchdog - NULL, ///< 14 - PCI Configuration Space Info - NULL, ///< 15 - Hypervisor Vendor Id - NULL, ///< 16 - Fixed feature flags for FADT - TokenFixerItsGroup, ///< 17 - ITS Group - TokenFixerNamedComponentNode, ///< 18 - Named Component - TokenFixerRootComplexNode, ///< 19 - Root Complex - TokenFixerNotImplemented, ///< 20 - SMMUv1 or SMMUv2 - TokenFixerSmmuV3Node, ///< 21 - SMMUv3 - TokenFixerNotImplemented, ///< 22 - PMCG - NULL, ///< 23 - GIC ITS Identifier Array - NULL, ///< 24 - ID Mapping Array - NULL, ///< 25 - SMMU Interrupt Array - TokenFixerNotImplemented, ///< 26 - Processor Hierarchy Info - TokenFixerNotImplemented, ///< 27 - Cache Info - NULL, ///< 28 - CM Object Reference - NULL, ///< 29 - Memory Affinity Info - NULL, ///< 30 - Device Handle Acpi - NULL, ///< 31 - Device Handle Pci - NULL, ///< 32 - Generic Initiator Affinity - NULL, ///< 33 - Generic Serial Port Info - NULL, ///< 34 - CMN-600 Info - NULL, ///< 35 - Lpi Info - NULL, ///< 36 - Pci Address Map Info - NULL, ///< 37 - Pci Interrupt Map Info - NULL, ///< 38 - Reserved Memory Range Node - NULL, ///< 39 - Memory Range Descriptor - NULL, ///< 40 - Continuous Performance Control Info - NULL, ///< 41 - Pcc Subspace Type 0 Info + NULL, ///< 2 - GIC CPU Interface Info + NULL, ///< 3 - GIC Distributor Info + NULL, ///< 4 - GIC MSI Frame Info + NULL, ///< 5 - GIC Redistributor Info + NULL, ///< 6 - GIC ITS Info + NULL, ///< 7 - Serial Console Port Info + NULL, ///< 8 - Serial Debug Port Info + NULL, ///< 9 - Generic Timer Info + NULL, ///< 10 - Platform GT Block Info + NULL, ///< 11 - Generic Timer Block Frame Info + NULL, ///< 12 - Platform Generic Watchdog + NULL, ///< 13 - PCI Configuration Space Info + NULL, ///< 14 - Hypervisor Vendor Id + NULL, ///< 15 - Fixed feature flags for FADT + TokenFixerItsGroup, ///< 16 - ITS Group + TokenFixerNamedComponentNode, ///< 17 - Named Component + TokenFixerRootComplexNode, ///< 18 - Root Complex + TokenFixerNotImplemented, ///< 19 - SMMUv1 or SMMUv2 + TokenFixerSmmuV3Node, ///< 20 - SMMUv3 + TokenFixerNotImplemented, ///< 21 - PMCG + NULL, ///< 22 - GIC ITS Identifier Array + NULL, ///< 23 - ID Mapping Array + NULL, ///< 24 - SMMU Interrupt Array + TokenFixerNotImplemented, ///< 25 - Processor Hierarchy Info + TokenFixerNotImplemented, ///< 26 - Cache Info + NULL, ///< 27 - CM Object Reference + NULL, ///< 28 - Memory Affinity Info + NULL, ///< 29 - Device Handle Acpi + NULL, ///< 30 - Device Handle Pci + NULL, ///< 31 - Generic Initiator Affinity + NULL, ///< 32 - Generic Serial Port Info + NULL, ///< 33 - CMN-600 Info + NULL, ///< 34 - Lpi Info + NULL, ///< 35 - Pci Address Map Info + NULL, ///< 36 - Pci Interrupt Map Info + NULL, ///< 37 - Reserved Memory Range Node + NULL, ///< 38 - Memory Range Descriptor + NULL, ///< 39 - Continuous Performance Control Info + NULL, ///< 40 - Pcc Subspace Type 0 Info + NULL, ///< 41 - Pcc Subspace Type 2 Info NULL, ///< 42 - Pcc Subspace Type 2 Info - NULL, ///< 43 - Pcc Subspace Type 2 Info - NULL, ///< 44 - Pcc Subspace Type 3 Info - NULL, ///< 45 - Pcc Subspace Type 4 Info - NULL, ///< 46 - Pcc Subspace Type 5 Info - NULL, ///< 47 - Embedded Trace Extension/Module Info - NULL ///< 48 - P-State Dependency (PSD) Info + NULL, ///< 43 - Pcc Subspace Type 3 Info + NULL, ///< 44 - Pcc Subspace Type 4 Info + NULL, ///< 45 - Pcc Subspace Type 5 Info + NULL, ///< 46 - Embedded Trace Extension/Module Info + NULL ///< 47 - 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 6896463b28..0d3e53312b 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -57,9 +57,9 @@ STATIC CONST CM_OBJ_PARSER CmArmBootArchInfoParser[] = { { "BootArchFlags", 2, "0x%x", NULL } }; -/** A parser for EArmObjPowerManagementProfileInfo. +/** A parser for EArchCommonObjPowerManagementProfileInfo. */ -STATIC CONST CM_OBJ_PARSER CmArmPowerManagementProfileInfoParser[] = { +STATIC CONST CM_OBJ_PARSER CmArchCommonPowerManagementProfileInfoParser[] = { { "PowerManagementProfile", 1, "0x%x", NULL } }; @@ -671,6 +671,7 @@ STATIC CONST CM_OBJ_PARSER CmArmPsdInfoParser[] = { */ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = { CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjReserved), + CM_PARSER_ADD_OBJECT (EArchCommonObjPowerManagementProfileInfo,CmArchCommonPowerManagementProfileInfoParser), CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax) }; @@ -679,7 +680,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = { STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = { CM_PARSER_ADD_OBJECT_RESERVED (EArmObjReserved), CM_PARSER_ADD_OBJECT (EArmObjBootArchInfo, CmArmBootArchInfoParser), - CM_PARSER_ADD_OBJECT (EArmObjPowerManagementProfileInfo, CmArmPowerManagementProfileInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGicCInfo, CmArmGicCInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGicDInfo, CmArmGicDInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGicMsiFrameInfo, CmArmGicMsiFrameInfoParser), diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 8d30bf560b..3295bb2993 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -442,53 +442,52 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager | ---: | :-------------------------- | :--- | | 0 | Reserved | | | 1 | Boot Architecture Info | | -| 2 | Power Management Profile Info | Move to Arch Common NS | -| 3 | GICC Info | | -| 4 | GICD Info | | -| 5 | GIC MSI Frame Info | | -| 6 | GIC Redistributor Info | | -| 7 | GIC ITS Info | | -| 8 | Serial Console Port Info | Move to Arch Common NS | -| 9 | Serial Debug Port Info | Move to Arch Common NS | -| 10 | Generic Timer Info | | -| 11 | Platform GT Block Info | | -| 12 | Generic Timer Block Frame Info | | -| 13 | Platform Generic Watchdog | | -| 14 | PCI Configuration Space Info | Move to Arch Common NS | -| 15 | Hypervisor Vendor Id | Move to Arch Common NS | -| 16 | Fixed feature flags for FADT | Move to Arch Common NS | -| 17 | ITS Group | | -| 18 | Named Component | | -| 19 | Root Complex | | -| 20 | SMMUv1 or SMMUv2 | | -| 21 | SMMUv3 | | -| 22 | PMCG | | -| 23 | GIC ITS Identifier Array | | -| 24 | ID Mapping Array | | -| 25 | SMMU Interrupt Array | | -| 26 | Processor Hierarchy Info | Move to Arch Common NS | -| 27 | Cache Info | Move to Arch Common NS | -| 28 | CM Object Reference | Move to Arch Common NS | -| 29 | Memory Affinity Info | Move to Arch Common NS | -| 30 | Device Handle Acpi | Move to Arch Common NS | -| 31 | Device Handle PCI | Move to Arch Common NS | -| 32 | Generic Initiator Affinity Info | Move to Arch Common NS | -| 33 | Serial Port Info | Move to Arch Common NS | -| 34 | CMN 600 Info | | -| 35 | Low Power Idle State Info | Move to Arch Common NS | -| 36 | PCI Address Map Info | Move to Arch Common NS | -| 37 | PCI Interrupt Map Info | Move to Arch Common NS | -| 38 | Reserved Memory Range Node | | -| 39 | Memory Range Descriptor | | -| 40 | Continuous Performance Control Info | Move to Arch Common NS | -| 41 | Pcc Subspace Type 0 Info | Move to Arch Common NS | -| 42 | Pcc Subspace Type 1 Info | Move to Arch Common NS | -| 43 | Pcc Subspace Type 2 Info | Move to Arch Common NS | -| 44 | Pcc Subspace Type 3 Info | Move to Arch Common NS | -| 45 | Pcc Subspace Type 4 Info | Move to Arch Common NS | -| 46 | Pcc Subspace Type 5 Info | Move to Arch Common NS | -| 47 | Embedded Trace Extension/Module Info | | -| 48 | P-State Dependency (PSD) Info | Move to Arch Common NS | +| 2 | GICC Info | | +| 3 | GICD Info | | +| 4 | GIC MSI Frame Info | | +| 5 | GIC Redistributor Info | | +| 6 | GIC ITS Info | | +| 7 | Serial Console Port Info | Move to Arch Common NS | +| 8 | Serial Debug Port Info | Move to Arch Common NS | +| 9 | Generic Timer Info | | +| 10 | Platform GT Block Info | | +| 11 | Generic Timer Block Frame Info | | +| 12 | Platform Generic Watchdog | | +| 13 | PCI Configuration Space Info | Move to Arch Common NS | +| 14 | Hypervisor Vendor Id | Move to Arch Common NS | +| 15 | Fixed feature flags for FADT | Move to Arch Common NS | +| 16 | ITS Group | | +| 17 | Named Component | | +| 18 | Root Complex | | +| 19 | SMMUv1 or SMMUv2 | | +| 20 | SMMUv3 | | +| 21 | PMCG | | +| 22 | GIC ITS Identifier Array | | +| 23 | ID Mapping Array | | +| 24 | SMMU Interrupt Array | | +| 25 | Processor Hierarchy Info | Move to Arch Common NS | +| 26 | Cache Info | Move to Arch Common NS | +| 27 | CM Object Reference | Move to Arch Common NS | +| 28 | Memory Affinity Info | Move to Arch Common NS | +| 29 | Device Handle Acpi | Move to Arch Common NS | +| 30 | Device Handle PCI | Move to Arch Common NS | +| 31 | Generic Initiator Affinity Info | Move to Arch Common NS | +| 32 | Serial Port Info | Move to Arch Common NS | +| 33 | CMN 600 Info | | +| 34 | Low Power Idle State Info | Move to Arch Common NS | +| 35 | PCI Address Map Info | Move to Arch Common NS | +| 36 | PCI Interrupt Map Info | Move to Arch Common NS | +| 37 | Reserved Memory Range Node | | +| 38 | Memory Range Descriptor | | +| 39 | Continuous Performance Control Info | Move to Arch Common NS | +| 40 | Pcc Subspace Type 0 Info | Move to Arch Common NS | +| 41 | Pcc Subspace Type 1 Info | Move to Arch Common NS | +| 42 | Pcc Subspace Type 2 Info | Move to Arch Common NS | +| 43 | Pcc Subspace Type 3 Info | Move to Arch Common NS | +| 44 | Pcc Subspace Type 4 Info | Move to Arch Common NS | +| 45 | Pcc Subspace Type 5 Info | Move to Arch Common NS | +| 46 | Embedded Trace Extension/Module Info | | +| 47 | 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 | ID | Description | Comments | | ---: | :-------------------------- | :--- | | 0 | Reserved | | +| 1 | Power Management Profile Info | | | `*` | All other values are reserved. | |