From: Sami Mujawar <sami.muja...@arm.com> The Arm Namespace Object ID for CPU info was not used. Therefore, drop the EArmObjCpuInfo object ID. Also remove - the partial listing of the Arm Namespace object IDs from ConfigurationManagerObject.h and add a reference to the location where they are defined. - the parsing code in Configuration Manager ObjectParser. - update the 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/ArmNameSpaceObjects.h | 97 +++++++++---------- .../DynamicPlatRepoLib/CmObjectTokenFixer.c | 93 +++++++++--------- .../ConfigurationManagerObjectParser.c | 1 - DynamicTablesPkg/Readme.md | 97 +++++++++---------- 4 files changed, 142 insertions(+), 146 deletions(-) diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index 853d722b8c79..2eeff594fc59 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -30,55 +30,54 @@ typedef enum ArmObjectID { EArmObjReserved, ///< 0 - Reserved EArmObjBootArchInfo, ///< 1 - Boot Architecture Info - EArmObjCpuInfo, ///< 2 - CPU Info - EArmObjPowerManagementProfileInfo, ///< 3 - Power Management Profile Info - EArmObjGicCInfo, ///< 4 - GIC CPU Interface Info - EArmObjGicDInfo, ///< 5 - GIC Distributor Info - EArmObjGicMsiFrameInfo, ///< 6 - GIC MSI Frame Info - EArmObjGicRedistributorInfo, ///< 7 - GIC Redistributor Info - EArmObjGicItsInfo, ///< 8 - GIC ITS Info - EArmObjSerialConsolePortInfo, ///< 9 - Serial Console Port Info - EArmObjSerialDebugPortInfo, ///< 10 - Serial Debug Port Info - EArmObjGenericTimerInfo, ///< 11 - Generic Timer Info - EArmObjPlatformGTBlockInfo, ///< 12 - Platform GT Block Info - EArmObjGTBlockTimerFrameInfo, ///< 13 - Generic Timer Block Frame Info - EArmObjPlatformGenericWatchdogInfo, ///< 14 - Platform Generic Watchdog - EArmObjPciConfigSpaceInfo, ///< 15 - PCI Configuration Space Info - EArmObjHypervisorVendorIdentity, ///< 16 - Hypervisor Vendor Id - EArmObjFixedFeatureFlags, ///< 17 - Fixed feature flags for FADT - EArmObjItsGroup, ///< 18 - ITS Group - EArmObjNamedComponent, ///< 19 - Named Component - EArmObjRootComplex, ///< 20 - Root Complex - EArmObjSmmuV1SmmuV2, ///< 21 - SMMUv1 or SMMUv2 - EArmObjSmmuV3, ///< 22 - SMMUv3 - EArmObjPmcg, ///< 23 - PMCG - EArmObjGicItsIdentifierArray, ///< 24 - GIC ITS Identifier Array - EArmObjIdMappingArray, ///< 25 - ID Mapping Array - EArmObjSmmuInterruptArray, ///< 26 - SMMU Interrupt Array - EArmObjProcHierarchyInfo, ///< 27 - Processor Hierarchy Info - EArmObjCacheInfo, ///< 28 - Cache Info - EArmObjReserved29, ///< 29 - Reserved - EArmObjCmRef, ///< 30 - CM Object Reference - EArmObjMemoryAffinityInfo, ///< 31 - Memory Affinity Info - EArmObjDeviceHandleAcpi, ///< 32 - Device Handle Acpi - EArmObjDeviceHandlePci, ///< 33 - Device Handle Pci - EArmObjGenericInitiatorAffinityInfo, ///< 34 - Generic Initiator Affinity - EArmObjSerialPortInfo, ///< 35 - Generic Serial Port Info - EArmObjCmn600Info, ///< 36 - CMN-600 Info - EArmObjLpiInfo, ///< 37 - Lpi Info - EArmObjPciAddressMapInfo, ///< 38 - Pci Address Map Info - EArmObjPciInterruptMapInfo, ///< 39 - Pci Interrupt Map Info - EArmObjRmr, ///< 40 - Reserved Memory Range Node - EArmObjMemoryRangeDescriptor, ///< 41 - Memory Range Descriptor - EArmObjCpcInfo, ///< 42 - Continuous Performance Control Info - EArmObjPccSubspaceType0Info, ///< 43 - Pcc Subspace Type 0 Info - EArmObjPccSubspaceType1Info, ///< 44 - Pcc Subspace Type 2 Info - EArmObjPccSubspaceType2Info, ///< 45 - Pcc Subspace Type 2 Info - EArmObjPccSubspaceType3Info, ///< 46 - Pcc Subspace Type 3 Info - EArmObjPccSubspaceType4Info, ///< 47 - Pcc Subspace Type 4 Info - EArmObjPccSubspaceType5Info, ///< 48 - Pcc Subspace Type 5 Info - EArmObjEtInfo, ///< 49 - Embedded Trace Extension/Module Info - EArmObjPsdInfo, ///< 50 - P-State Dependency (PSD) 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 + EArmObjReserved29, ///< 28 - Reserved + EArmObjCmRef, ///< 29 - CM Object Reference + EArmObjMemoryAffinityInfo, ///< 30 - Memory Affinity Info + EArmObjDeviceHandleAcpi, ///< 31 - Device Handle Acpi + EArmObjDeviceHandlePci, ///< 32 - Device Handle Pci + EArmObjGenericInitiatorAffinityInfo, ///< 33 - Generic Initiator Affinity + EArmObjSerialPortInfo, ///< 34 - Generic Serial Port Info + EArmObjCmn600Info, ///< 35 - CMN-600 Info + EArmObjLpiInfo, ///< 36 - Lpi Info + EArmObjPciAddressMapInfo, ///< 37 - Pci Address Map Info + EArmObjPciInterruptMapInfo, ///< 38 - Pci Interrupt Map Info + EArmObjRmr, ///< 39 - Reserved Memory Range Node + EArmObjMemoryRangeDescriptor, ///< 40 - Memory Range Descriptor + EArmObjCpcInfo, ///< 41 - Continuous Performance Control Info + EArmObjPccSubspaceType0Info, ///< 42 - Pcc Subspace Type 0 Info + EArmObjPccSubspaceType1Info, ///< 43 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType2Info, ///< 44 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType3Info, ///< 45 - Pcc Subspace Type 3 Info + EArmObjPccSubspaceType4Info, ///< 46 - Pcc Subspace Type 4 Info + EArmObjPccSubspaceType5Info, ///< 47 - Pcc Subspace Type 5 Info + EArmObjEtInfo, ///< 48 - Embedded Trace Extension/Module Info + EArmObjPsdInfo, ///< 49 - P-State Dependency (PSD) Info EArmObjMax } EARM_OBJECT_ID; diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c index df9452efe5bb..07e26a4f4e4c 100644 --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c @@ -145,55 +145,54 @@ CONST CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = { NULL, ///< 0 - Reserved NULL, ///< 1 - Boot Architecture Info - NULL, ///< 2 - CPU Info - NULL, ///< 3 - Power Management Profile Info - NULL, ///< 4 - GIC CPU Interface Info - NULL, ///< 5 - GIC Distributor Info - NULL, ///< 6 - GIC MSI Frame Info - NULL, ///< 7 - GIC Redistributor Info - NULL, ///< 8 - GIC ITS Info - NULL, ///< 9 - Serial Console Port Info - NULL, ///< 10 - Serial Debug Port Info - NULL, ///< 11 - Generic Timer Info - NULL, ///< 12 - Platform GT Block Info - NULL, ///< 13 - Generic Timer Block Frame Info - NULL, ///< 14 - Platform Generic Watchdog - NULL, ///< 15 - PCI Configuration Space Info - NULL, ///< 16 - Hypervisor Vendor Id - NULL, ///< 17 - Fixed feature flags for FADT - TokenFixerItsGroup, ///< 18 - ITS Group - TokenFixerNamedComponentNode, ///< 19 - Named Component - TokenFixerRootComplexNode, ///< 20 - Root Complex - TokenFixerNotImplemented, ///< 21 - SMMUv1 or SMMUv2 - TokenFixerSmmuV3Node, ///< 22 - SMMUv3 - TokenFixerNotImplemented, ///< 23 - PMCG - NULL, ///< 24 - GIC ITS Identifier Array - NULL, ///< 25 - ID Mapping Array - NULL, ///< 26 - SMMU Interrupt Array - TokenFixerNotImplemented, ///< 27 - Processor Hierarchy Info - TokenFixerNotImplemented, ///< 28 - Cache 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 TokenFixerNotImplemented, ///< 29 - Reserved - NULL, ///< 30 - CM Object Reference - NULL, ///< 31 - Memory Affinity Info - NULL, ///< 32 - Device Handle Acpi - NULL, ///< 33 - Device Handle Pci - NULL, ///< 34 - Generic Initiator Affinity - NULL, ///< 35 - Generic Serial Port Info - NULL, ///< 36 - CMN-600 Info - NULL, ///< 37 - Lpi Info - NULL, ///< 38 - Pci Address Map Info - NULL, ///< 39 - Pci Interrupt Map Info - NULL, ///< 40 - Reserved Memory Range Node - NULL, ///< 41 - Memory Range Descriptor - NULL, ///< 42 - Continuous Performance Control Info - NULL, ///< 43 - Pcc Subspace Type 0 Info + NULL, ///< 29 - CM Object Reference + NULL, ///< 30 - Memory Affinity Info + NULL, ///< 31 - Device Handle Acpi + NULL, ///< 32 - Device Handle Pci + NULL, ///< 33 - Generic Initiator Affinity + NULL, ///< 34 - Generic Serial Port Info + NULL, ///< 35 - CMN-600 Info + NULL, ///< 36 - Lpi Info + NULL, ///< 37 - Pci Address Map Info + NULL, ///< 38 - Pci Interrupt Map Info + NULL, ///< 39 - Reserved Memory Range Node + NULL, ///< 40 - Memory Range Descriptor + NULL, ///< 41 - Continuous Performance Control Info + NULL, ///< 42 - Pcc Subspace Type 0 Info + NULL, ///< 43 - Pcc Subspace Type 2 Info NULL, ///< 44 - Pcc Subspace Type 2 Info - NULL, ///< 45 - Pcc Subspace Type 2 Info - NULL, ///< 46 - Pcc Subspace Type 3 Info - NULL, ///< 47 - Pcc Subspace Type 4 Info - NULL, ///< 48 - Pcc Subspace Type 5 Info - NULL, ///< 49 - Embedded Trace Extension/Module Info - NULL ///< 50 - P-State Dependency (PSD) Info + NULL, ///< 45 - Pcc Subspace Type 3 Info + NULL, ///< 46 - Pcc Subspace Type 4 Info + NULL, ///< 47 - Pcc Subspace Type 5 Info + NULL, ///< 48 - Embedded Trace Extension/Module Info + NULL ///< 49 - 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 6f5dbdfd2d86..af5884832cda 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -679,7 +679,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_RESERVED (EArmObjCpuInfo), CM_PARSER_ADD_OBJECT (EArmObjPowerManagementProfileInfo, CmArmPowerManagementProfileInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGicCInfo, CmArmGicCInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGicDInfo, CmArmGicDInfoParser), diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 24b5b149a9b7..80759f953487 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -442,55 +442,54 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager | ---: | :-------------------------- | :--- | | 0 | Reserved | | | 1 | Boot Architecture Info | | -| 2 | CPU Info | Unused can be dropped| -| 3 | Power Management Profile Info | Move to Arch Common NS | -| 4 | GICC Info | | -| 5 | GICD Info | | -| 6 | GIC MSI Frame Info | | -| 7 | GIC Redistributor Info | | -| 8 | GIC ITS Info | | -| 9 | Serial Console Port Info | Move to Arch Common NS | -| 10 | Serial Debug Port Info | Move to Arch Common NS | -| 11 | Generic Timer Info | | -| 12 | Platform GT Block Info | | -| 13 | Generic Timer Block Frame Info | | -| 14 | Platform Generic Watchdog | | -| 15 | PCI Configuration Space Info | Move to Arch Common NS | -| 16 | Hypervisor Vendor Id | Move to Arch Common NS | -| 17 | Fixed feature flags for FADT | Move to Arch Common NS | -| 18 | ITS Group | | -| 19 | Named Component | | -| 20 | Root Complex | | -| 21 | SMMUv1 or SMMUv2 | | -| 22 | SMMUv3 | | -| 23 | PMCG | | -| 24 | GIC ITS Identifier Array | | -| 25 | ID Mapping Array | | -| 26 | SMMU Interrupt Array | | -| 27 | Processor Hierarchy Info | Move to Arch Common NS | -| 28 | Cache Info | Move to Arch Common NS | -| 29 | Reserved29 | Unused to be dropped.| -| 30 | CM Object Reference | Move to Arch Common NS | -| 31 | Memory Affinity Info | Move to Arch Common NS | -| 32 | Device Handle Acpi | Move to Arch Common NS | -| 33 | Device Handle PCI | Move to Arch Common NS | -| 34 | Generic Initiator Affinity Info | Move to Arch Common NS | -| 35 | Serial Port Info | Move to Arch Common NS | -| 36 | CMN 600 Info | | -| 37 | Low Power Idle State Info | Move to Arch Common NS | -| 38 | PCI Address Map Info | Move to Arch Common NS | -| 39 | PCI Interrupt Map Info | Move to Arch Common NS | -| 40 | Reserved Memory Range Node | | -| 41 | Memory Range Descriptor | | -| 42 | Continuous Performance Control Info | Move to Arch Common NS | -| 43 | Pcc Subspace Type 0 Info | Move to Arch Common NS | -| 44 | Pcc Subspace Type 1 Info | Move to Arch Common NS | -| 45 | Pcc Subspace Type 2 Info | Move to Arch Common NS | -| 46 | Pcc Subspace Type 3 Info | Move to Arch Common NS | -| 47 | Pcc Subspace Type 4 Info | Move to Arch Common NS | -| 48 | Pcc Subspace Type 5 Info | Move to Arch Common NS | -| 49 | Embedded Trace Extension/Module Info | | -| 50 | P-State Dependency (PSD) Info | Move to Arch Common NS | +| 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 | Reserved29 | Unused to be dropped.| +| 29 | CM Object Reference | Move to Arch Common NS | +| 30 | Memory Affinity Info | Move to Arch Common NS | +| 31 | Device Handle Acpi | Move to Arch Common NS | +| 32 | Device Handle PCI | Move to Arch Common NS | +| 33 | Generic Initiator Affinity Info | Move to Arch Common NS | +| 34 | Serial Port Info | Move to Arch Common NS | +| 35 | CMN 600 Info | | +| 36 | Low Power Idle State Info | Move to Arch Common NS | +| 37 | PCI Address Map Info | Move to Arch Common NS | +| 38 | PCI Interrupt Map Info | Move to Arch Common NS | +| 39 | Reserved Memory Range Node | | +| 40 | Memory Range Descriptor | | +| 41 | Continuous Performance Control Info | Move to Arch Common NS | +| 42 | Pcc Subspace Type 0 Info | Move to Arch Common NS | +| 43 | Pcc Subspace Type 1 Info | Move to Arch Common NS | +| 44 | Pcc Subspace Type 2 Info | Move to Arch Common NS | +| 45 | Pcc Subspace Type 3 Info | Move to Arch Common NS | +| 46 | Pcc Subspace Type 4 Info | Move to Arch Common NS | +| 47 | Pcc Subspace Type 5 Info | Move to Arch Common NS | +| 48 | Embedded Trace Extension/Module Info | | +| 49 | P-State Dependency (PSD) Info | Move to Arch Common NS | | `*` | All other values are reserved. | | #### Object ID's in the Arch Common Namespace: -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116970): https://edk2.groups.io/g/devel/message/116970 Mute This Topic: https://groups.io/mt/105067979/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-