public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: devel@edk2.groups.io
Cc: Pierre Gondois <pierre.gondois@arm.com>,
	Sami Mujawar <sami.mujawar@arm.com>,
	Pierre Gondois <Pierre.Gondois@arm.com>,
	Yeo Reum Yun <YeoReum.Yun@arm.com>,
	Sunil V L <sunilvl@ventanamicro.com>,
	AbdulLateef Attar <AbdulLateef.Attar@amd.com>,
	Jeshua Smith <jeshuas@nvidia.com>,
	Jeff Brasen <jbrasen@nvidia.com>,
	Girish Mahadevan <gmahadevan@nvidia.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Subject: [edk2-devel] [PATCH 12/16] DynamicTablesPkg & ArmVirtPkg: Move Power Mgmt Profile Info Object
Date: Thu, 21 Mar 2024 16:53:15 +0100	[thread overview]
Message-ID: <20240321155319.701355-13-pierre.gondois@arm.com> (raw)
In-Reply-To: <20240321155319.701355-1-pierre.gondois@arm.com>

From: Sami Mujawar <sami.mujawar@arm.com>

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
 - Update ArmVirtPkg/Kvmtool Guest firmware configuration manager.

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>
---
 .../KvmtoolCfgMgrDxe/ConfigurationManager.c   | 136 +++++++++---------
 .../KvmtoolCfgMgrDxe/ConfigurationManager.h   |  20 +--
 .../Include/ArchCommonNameSpaceObjects.h      |  53 +++++++
 .../Include/ArmNameSpaceObjects.h             | 135 ++++++-----------
 .../Include/Library/SsdtSerialPortFixupLib.h  |  16 +--
 .../Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c   |  20 +--
 .../Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c   |  14 +-
 .../Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c   |  18 +--
 .../SsdtSerialPortGenerator.c                 |  24 ++--
 .../DynamicPlatRepoLib/CmObjectTokenFixer.c   |  90 ++++++------
 .../SsdtSerialPortFixupLib.c                  |  46 +++---
 .../ConfigurationManagerObjectParser.c        |  18 +--
 .../Serial/ArmSerialPortParser.c              |  79 +++++-----
 .../Serial/ArmSerialPortParser.h              |   8 +-
 DynamicTablesPkg/Readme.md                    |  94 ++++++------
 15 files changed, 386 insertions(+), 385 deletions(-)

diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
index 4a76583f969c..724054440644 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
@@ -761,74 +761,7 @@ GetArchCommonNameSpaceObject (
   // First check among the static objects.
   //
   switch (GET_CM_OBJECT_ID (CmObjectId)) {
-    default:
-      //
-      // No match found among the static objects.
-      // Check the dynamic objects.
-      //
-      Status = DynamicPlatRepoGetObject (
-                 PlatformRepo->DynamicPlatformRepo,
-                 CmObjectId,
-                 Token,
-                 CmObject
-                 );
-      break;
-  } // switch
-
-  if (Status == EFI_NOT_FOUND) {
-    DEBUG ((
-      DEBUG_INFO,
-      "INFO: CmObjectId " FMT_CM_OBJECT_ID ". Status = %r\n",
-      CmObjectId,
-      Status
-      ));
-  } else {
-    ASSERT_EFI_ERROR (Status);
-  }
-
-  return Status;
-}
-
-/**
-  Return an ARM namespace object.
-
-  @param [in]      This        Pointer to the Configuration Manager Protocol.
-  @param [in]      CmObjectId  The Configuration Manager Object ID.
-  @param [in]      Token       An optional token identifying the object. If
-                               unused this must be CM_NULL_TOKEN.
-  @param [in, out] CmObject    Pointer to the Configuration Manager Object
-                               descriptor describing the requested Object.
-
-  @retval EFI_SUCCESS           Success.
-  @retval EFI_INVALID_PARAMETER A parameter is invalid.
-  @retval EFI_NOT_FOUND         The required object information is not found.
-**/
-EFI_STATUS
-EFIAPI
-GetArmNameSpaceObject (
-  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  This,
-  IN  CONST CM_OBJECT_ID                                  CmObjectId,
-  IN  CONST CM_OBJECT_TOKEN                               Token OPTIONAL,
-  IN  OUT   CM_OBJ_DESCRIPTOR                     *CONST  CmObject
-  )
-{
-  EFI_STATUS                      Status;
-  EDKII_PLATFORM_REPOSITORY_INFO  *PlatformRepo;
-
-  if ((This == NULL) || (CmObject == NULL)) {
-    ASSERT (This != NULL);
-    ASSERT (CmObject != NULL);
-    return EFI_INVALID_PARAMETER;
-  }
-
-  Status       = EFI_NOT_FOUND;
-  PlatformRepo = This->PlatRepoInfo;
-
-  //
-  // First check among the static objects.
-  //
-  switch (GET_CM_OBJECT_ID (CmObjectId)) {
-    case EArmObjPowerManagementProfileInfo:
+    case EArchCommonObjPowerManagementProfileInfo:
       Status = HandleCmObject (
                  CmObjectId,
                  &PlatformRepo->PmProfileInfo,
@@ -838,6 +771,73 @@ GetArmNameSpaceObject (
                  );
       break;
 
+    default:
+      //
+      // No match found among the static objects.
+      // Check the dynamic objects.
+      //
+      Status = DynamicPlatRepoGetObject (
+                 PlatformRepo->DynamicPlatformRepo,
+                 CmObjectId,
+                 Token,
+                 CmObject
+                 );
+      break;
+  } // switch
+
+  if (Status == EFI_NOT_FOUND) {
+    DEBUG ((
+      DEBUG_INFO,
+      "INFO: CmObjectId " FMT_CM_OBJECT_ID ". Status = %r\n",
+      CmObjectId,
+      Status
+      ));
+  } else {
+    ASSERT_EFI_ERROR (Status);
+  }
+
+  return Status;
+}
+
+/**
+  Return an ARM namespace object.
+
+  @param [in]      This        Pointer to the Configuration Manager Protocol.
+  @param [in]      CmObjectId  The Configuration Manager Object ID.
+  @param [in]      Token       An optional token identifying the object. If
+                               unused this must be CM_NULL_TOKEN.
+  @param [in, out] CmObject    Pointer to the Configuration Manager Object
+                               descriptor describing the requested Object.
+
+  @retval EFI_SUCCESS           Success.
+  @retval EFI_INVALID_PARAMETER A parameter is invalid.
+  @retval EFI_NOT_FOUND         The required object information is not found.
+**/
+EFI_STATUS
+EFIAPI
+GetArmNameSpaceObject (
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  This,
+  IN  CONST CM_OBJECT_ID                                  CmObjectId,
+  IN  CONST CM_OBJECT_TOKEN                               Token OPTIONAL,
+  IN  OUT   CM_OBJ_DESCRIPTOR                     *CONST  CmObject
+  )
+{
+  EFI_STATUS                      Status;
+  EDKII_PLATFORM_REPOSITORY_INFO  *PlatformRepo;
+
+  if ((This == NULL) || (CmObject == NULL)) {
+    ASSERT (This != NULL);
+    ASSERT (CmObject != NULL);
+    return EFI_INVALID_PARAMETER;
+  }
+
+  Status       = EFI_NOT_FOUND;
+  PlatformRepo = This->PlatRepoInfo;
+
+  //
+  // First check among the static objects.
+  //
+  switch (GET_CM_OBJECT_ID (CmObjectId)) {
     case EArmObjItsGroup:
       Status = HandleCmObject (
                  CmObjectId,
diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
index 3373948bc4eb..4fb12db73b81 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
@@ -73,53 +73,53 @@ typedef struct PlatformRepositoryInfo {
   ///
   /// Configuration Manager Information.
   ///
-  CM_STD_OBJ_CONFIGURATION_MANAGER_INFO    CmInfo;
+  CM_STD_OBJ_CONFIGURATION_MANAGER_INFO           CmInfo;
 
   ///
   /// List of ACPI tables
   ///
-  CM_STD_OBJ_ACPI_TABLE_INFO               CmAcpiTableList[PLAT_ACPI_TABLE_COUNT];
+  CM_STD_OBJ_ACPI_TABLE_INFO                      CmAcpiTableList[PLAT_ACPI_TABLE_COUNT];
 
   ///
   /// Power management profile information
   ///
-  CM_ARM_POWER_MANAGEMENT_PROFILE_INFO     PmProfileInfo;
+  CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO    PmProfileInfo;
 
   ///
   /// ITS Group node
   ///
-  CM_ARM_ITS_GROUP_NODE                    ItsGroupInfo;
+  CM_ARM_ITS_GROUP_NODE                           ItsGroupInfo;
 
   ///
   /// ITS Identifier array
   ///
-  CM_ARM_ITS_IDENTIFIER                    ItsIdentifierArray[1];
+  CM_ARM_ITS_IDENTIFIER                           ItsIdentifierArray[1];
 
   ///
   /// PCI Root complex node
   ///
-  CM_ARM_ROOT_COMPLEX_NODE                 RootComplexInfo;
+  CM_ARM_ROOT_COMPLEX_NODE                        RootComplexInfo;
 
   ///
   /// Array of DeviceID mapping
   ///
-  CM_ARM_ID_MAPPING                        DeviceIdMapping[1];
+  CM_ARM_ID_MAPPING                               DeviceIdMapping[1];
 
   ///
   /// Dynamic platform repository.
   /// CmObj created by parsing the Kvmtool device tree are stored here.
   ///
-  DYNAMIC_PLATFORM_REPOSITORY_INFO         *DynamicPlatformRepo;
+  DYNAMIC_PLATFORM_REPOSITORY_INFO                *DynamicPlatformRepo;
 
   ///
   /// Base address of the FDT.
   ///
-  VOID                                     *FdtBase;
+  VOID                                            *FdtBase;
 
   ///
   /// A handle to the FDT HwInfoParser.
   ///
-  HW_INFO_PARSER_HANDLE                    FdtParserHandle;
+  HW_INFO_PARSER_HANDLE                           FdtParserHandle;
 } EDKII_PLATFORM_REPOSITORY_INFO;
 
 #endif // CONFIGURATION_MANAGER_H_
diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
index e4205d6ba6bc..4eabb4d38b40 100644
--- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
@@ -21,7 +21,60 @@
 */
 typedef enum ArchCommonObjectID {
   EArchCommonObjReserved,                       ///<  0 - Reserved
+  EArchCommonObjPowerManagementProfileInfo,     ///<  1 - Power Management Profile Info
+  EArchCommonObjSerialPortInfo,                 ///<  2 - Generic Serial Port Info
+  EArchCommonObjConsolePortInfo,                ///<  3 - Serial Console Port Info
+  EArchCommonObjSerialDebugPortInfo,            ///<  4 - Serial Debug Port 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;
+
+/** A structure that describes the
+    Serial Port information for the Platform.
+
+    ID: EArchCommonObjConsolePortInfo or
+        EArchCommonObjSerialDebugPortInfo or
+        EArchCommonObjSerialPortInfo
+*/
+typedef struct EArchCommonSerialPortInfo {
+  /// The physical base address for the serial port
+  UINT64    BaseAddress;
+
+  /** The serial port interrupt.
+      0 indicates that the serial port does not
+      have an interrupt wired.
+  */
+  UINT32    Interrupt;
+
+  /// The serial port baud rate
+  UINT64    BaudRate;
+
+  /// The serial port clock
+  UINT32    Clock;
+
+  /// Serial Port subtype
+  UINT16    PortSubtype;
+
+  /// The Base address length
+  UINT64    BaseAddressLength;
+
+  /// The access size
+  UINT8     AccessSize;
+} CM_ARCH_COMMON_SERIAL_PORT_INFO;
+
+#pragma pack()
+
 #endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index f7e1a0933f7b..4878eb60e3cb 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -30,53 +30,49 @@
 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
+  EArmObjGenericTimerInfo,                                     ///<  7 - Generic Timer Info
+  EArmObjPlatformGTBlockInfo,                                  ///<  8 - Platform GT Block Info
+  EArmObjGTBlockTimerFrameInfo,                                ///<  9 - Generic Timer Block Frame Info
+  EArmObjPlatformGenericWatchdogInfo,                          ///< 10 - Platform Generic Watchdog
+  EArmObjPciConfigSpaceInfo,                                   ///< 11 - PCI Configuration Space Info
+  EArmObjHypervisorVendorIdentity,                             ///< 12 - Hypervisor Vendor Id
+  EArmObjFixedFeatureFlags,                                    ///< 13 - Fixed feature flags for FADT
+  EArmObjItsGroup,                                             ///< 14 - ITS Group
+  EArmObjNamedComponent,                                       ///< 15 - Named Component
+  EArmObjRootComplex,                                          ///< 16 - Root Complex
+  EArmObjSmmuV1SmmuV2,                                         ///< 17 - SMMUv1 or SMMUv2
+  EArmObjSmmuV3,                                               ///< 18 - SMMUv3
+  EArmObjPmcg,                                                 ///< 19 - PMCG
+  EArmObjGicItsIdentifierArray,                                ///< 20 - GIC ITS Identifier Array
+  EArmObjIdMappingArray,                                       ///< 21 - ID Mapping Array
+  EArmObjSmmuInterruptArray,                                   ///< 22 - SMMU Interrupt Array
+  EArmObjProcHierarchyInfo,                                    ///< 23 - Processor Hierarchy Info
+  EArmObjCacheInfo,                                            ///< 24 - Cache Info
+  EArmObjCmRef,                                                ///< 25 - CM Object Reference
+  EArmObjMemoryAffinityInfo,                                   ///< 26 - Memory Affinity Info
+  EArmObjDeviceHandleAcpi,                                     ///< 27 - Device Handle Acpi
+  EArmObjDeviceHandlePci,                                      ///< 28 - Device Handle Pci
+  EArmObjGenericInitiatorAffinityInfo,                         ///< 29 - Generic Initiator Affinity
+  EArmObjCmn600Info,                                           ///< 30 - CMN-600 Info
+  EArmObjLpiInfo,                                              ///< 31 - Lpi Info
+  EArmObjPciAddressMapInfo,                                    ///< 32 - Pci Address Map Info
+  EArmObjPciInterruptMapInfo,                                  ///< 33 - Pci Interrupt Map Info
+  EArmObjRmr,                                                  ///< 34 - Reserved Memory Range Node
+  EArmObjMemoryRangeDescriptor,                                ///< 35 - Memory Range Descriptor
+  EArmObjCpcInfo,                                              ///< 36 - Continuous Performance Control Info
+  EArmObjPccSubspaceType0Info,                                 ///< 37 - Pcc Subspace Type 0 Info
+  EArmObjPccSubspaceType1Info,                                 ///< 38 - Pcc Subspace Type 2 Info
+  EArmObjPccSubspaceType2Info,                                 ///< 39 - Pcc Subspace Type 2 Info
+  EArmObjPccSubspaceType3Info,                                 ///< 40 - Pcc Subspace Type 3 Info
+  EArmObjPccSubspaceType4Info,                                 ///< 41 - Pcc Subspace Type 4 Info
+  EArmObjPccSubspaceType5Info,                                 ///< 42 - Pcc Subspace Type 5 Info
+  EArmObjEtInfo,                                               ///< 43 - Embedded Trace Extension/Module Info
+  EArmObjPsdInfo,                                              ///< 44 - P-State Dependency (PSD) Info
   EArmObjMax
 } EARM_OBJECT_ID;
 
@@ -92,18 +88,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.
 
@@ -310,39 +294,6 @@ typedef struct CmArmGicItsInfo {
   UINT32    ProximityDomain;
 } CM_ARM_GIC_ITS_INFO;
 
-/** A structure that describes the
-    Serial Port information for the Platform.
-
-    ID: EArmObjSerialConsolePortInfo or
-        EArmObjSerialDebugPortInfo or
-        EArmObjSerialPortInfo
-*/
-typedef struct CmArmSerialPortInfo {
-  /// The physical base address for the serial port
-  UINT64    BaseAddress;
-
-  /** The serial port interrupt.
-      0 indicates that the serial port does not
-      have an interrupt wired.
-  */
-  UINT32    Interrupt;
-
-  /// The serial port baud rate
-  UINT64    BaudRate;
-
-  /// The serial port clock
-  UINT32    Clock;
-
-  /// Serial Port subtype
-  UINT16    PortSubtype;
-
-  /// The Base address length
-  UINT64    BaseAddressLength;
-
-  /// The access size
-  UINT8     AccessSize;
-} CM_ARM_SERIAL_PORT_INFO;
-
 /** A structure that describes the
     Generic Timer information for the Platform.
 
diff --git a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h b/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
index 4835f314c4f1..ac7b39f552de 100644
--- a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
+++ b/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
@@ -29,11 +29,11 @@
 EFI_STATUS
 EFIAPI
 BuildSsdtSerialPortTable (
-  IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO   *AcpiTableInfo,
-  IN  CONST CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo,
-  IN  CONST CHAR8                        *Name,
-  IN  CONST UINT64                       Uid,
-  OUT       EFI_ACPI_DESCRIPTION_HEADER  **Table
+  IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO       *AcpiTableInfo,
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo,
+  IN  CONST CHAR8                            *Name,
+  IN  CONST UINT64                           Uid,
+  OUT       EFI_ACPI_DESCRIPTION_HEADER      **Table
   );
 
 /** Free an SSDT table previously created by
@@ -52,7 +52,7 @@ FreeSsdtSerialPortTable (
 
 /** Validate the Serial Port Information.
 
-  @param [in]  SerialPortInfoTable    Table of CM_ARM_SERIAL_PORT_INFO.
+  @param [in]  SerialPortInfoTable    Table of CM_ARCH_COMMON_SERIAL_PORT_INFO.
   @param [in]  SerialPortCount        Count of SerialPort in the table.
 
   @retval EFI_SUCCESS             Success.
@@ -61,8 +61,8 @@ FreeSsdtSerialPortTable (
 EFI_STATUS
 EFIAPI
 ValidateSerialPortInfo (
-  IN  CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfoTable,
-  IN        UINT32                   SerialPortCount
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfoTable,
+  IN        UINT32                           SerialPortCount
   );
 
 #endif // SSDT_SERIAL_PORT_LIB_H_
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
index f6dfb3d94c10..fbf2ba37331d 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
@@ -33,7 +33,7 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjSerialDebugPortInfo
+  - EArchCommonObjSerialDebugPortInfo
 */
 
 #pragma pack(1)
@@ -181,9 +181,9 @@ DBG2_TABLE  AcpiDbg2 = {
     debug port information from the Configuration Manager
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
-  EArmObjSerialDebugPortInfo,
-  CM_ARM_SERIAL_PORT_INFO
+  EObjNameSpaceArchCommon,
+  EArchCommonObjSerialDebugPortInfo,
+  CM_ARCH_COMMON_SERIAL_PORT_INFO
   );
 
 /** Initialize the PL011/SBSA UART with the parameters obtained from
@@ -198,7 +198,7 @@ GET_OBJECT_LIST (
 STATIC
 EFI_STATUS
 SetupDebugUart (
-  IN  CONST CM_ARM_SERIAL_PORT_INFO  *CONST  SerialPortInfo
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *CONST  SerialPortInfo
   )
 {
   EFI_STATUS          Status;
@@ -329,10 +329,10 @@ BuildDbg2TableEx (
   OUT       UINTN                                  *CONST  TableCount
   )
 {
-  EFI_STATUS                   Status;
-  CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo;
-  UINT32                       SerialPortCount;
-  EFI_ACPI_DESCRIPTION_HEADER  **TableList;
+  EFI_STATUS                       Status;
+  CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo;
+  UINT32                           SerialPortCount;
+  EFI_ACPI_DESCRIPTION_HEADER      **TableList;
 
   ASSERT (This != NULL);
   ASSERT (AcpiTableInfo != NULL);
@@ -358,7 +358,7 @@ BuildDbg2TableEx (
 
   *Table = NULL;
 
-  Status = GetEArmObjSerialDebugPortInfo (
+  Status = GetEArchCommonObjSerialDebugPortInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
index 57aaaf85e64a..ea8c821d1155 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/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
index 59cbacbfbbde..6f027f3bf941 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
@@ -33,7 +33,7 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjSerialConsolePortInfo
+  - EArchCommonObjConsolePortInfo
 
 NOTE: This implementation ignores the possibility that the Serial settings may
       be modified from the UEFI Shell.  A more complex handler would be needed
@@ -98,9 +98,9 @@ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE  AcpiSpcr = {
     Port Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
-  EArmObjSerialConsolePortInfo,
-  CM_ARM_SERIAL_PORT_INFO
+  EObjNameSpaceArchCommon,
+  EArchCommonObjConsolePortInfo,
+  CM_ARCH_COMMON_SERIAL_PORT_INFO
   )
 
 /** Free any resources allocated for constructing the tables.
@@ -200,10 +200,10 @@ BuildSpcrTableEx (
   OUT       UINTN                                  *CONST  TableCount
   )
 {
-  EFI_STATUS                   Status;
-  CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo;
-  UINT32                       SerialPortCount;
-  EFI_ACPI_DESCRIPTION_HEADER  **TableList;
+  EFI_STATUS                       Status;
+  CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo;
+  UINT32                           SerialPortCount;
+  EFI_ACPI_DESCRIPTION_HEADER      **TableList;
 
   ASSERT (This != NULL);
   ASSERT (AcpiTableInfo != NULL);
@@ -229,7 +229,7 @@ BuildSpcrTableEx (
 
   *Table = NULL;
 
-  Status = GetEArmObjSerialConsolePortInfo (
+  Status = GetEArchCommonObjConsolePortInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c
index b850320eede7..671ba057400a 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c
@@ -29,16 +29,16 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjSerialPortInfo
+  - EArchCommonObjSerialPortInfo
 */
 
 /** This macro expands to a function that retrieves the Serial-port
     information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
-  EArmObjSerialPortInfo,
-  CM_ARM_SERIAL_PORT_INFO
+  EObjNameSpaceArchCommon,
+  EArchCommonObjSerialPortInfo,
+  CM_ARCH_COMMON_SERIAL_PORT_INFO
   );
 
 /** Starting value for the UID to represent the serial ports.
@@ -167,13 +167,13 @@ BuildSsdtSerialPortTableEx (
   OUT       UINTN                                  *CONST  TableCount
   )
 {
-  EFI_STATUS                   Status;
-  CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo;
-  UINT32                       SerialPortCount;
-  UINTN                        Index;
-  CHAR8                        NewName[AML_NAME_SEG_SIZE + 1];
-  UINT64                       Uid;
-  EFI_ACPI_DESCRIPTION_HEADER  **TableList;
+  EFI_STATUS                       Status;
+  CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo;
+  UINT32                           SerialPortCount;
+  UINTN                            Index;
+  CHAR8                            NewName[AML_NAME_SEG_SIZE + 1];
+  UINT64                           Uid;
+  EFI_ACPI_DESCRIPTION_HEADER      **TableList;
 
   ASSERT (This != NULL);
   ASSERT (AcpiTableInfo != NULL);
@@ -185,7 +185,7 @@ BuildSsdtSerialPortTableEx (
 
   *Table = NULL;
 
-  Status = GetEArmObjSerialPortInfo (
+  Status = GetEArchCommonObjSerialPortInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
index 833fa2d6a24b..412bf41647ae 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
@@ -145,53 +145,49 @@ 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,                             ///< 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,                             ///<  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 - Generic Timer Info
+  NULL,                             ///<  8 - Platform GT Block Info
+  NULL,                             ///<  9 - Generic Timer Block Frame Info
+  NULL,                             ///< 10 - Platform Generic Watchdog
+  NULL,                             ///< 11 - PCI Configuration Space Info
+  NULL,                             ///< 12 - Hypervisor Vendor Id
+  NULL,                             ///< 13 - Fixed feature flags for FADT
+  TokenFixerItsGroup,               ///< 14 - ITS Group
+  TokenFixerNamedComponentNode,     ///< 15 - Named Component
+  TokenFixerRootComplexNode,        ///< 16 - Root Complex
+  TokenFixerNotImplemented,         ///< 17 - SMMUv1 or SMMUv2
+  TokenFixerSmmuV3Node,             ///< 18 - SMMUv3
+  TokenFixerNotImplemented,         ///< 19 - PMCG
+  NULL,                             ///< 20 - GIC ITS Identifier Array
+  NULL,                             ///< 21 - ID Mapping Array
+  NULL,                             ///< 22 - SMMU Interrupt Array
+  TokenFixerNotImplemented,         ///< 23 - Processor Hierarchy Info
+  TokenFixerNotImplemented,         ///< 24 - Cache Info
+  NULL,                             ///< 25 - Memory Affinity Info
+  NULL,                             ///< 26 - Memory Affinity Info
+  NULL,                             ///< 27 - Device Handle Acpi
+  NULL,                             ///< 28 - Device Handle Pci
+  NULL,                             ///< 29 - Generic Initiator Affinity
+  NULL,                             ///< 30 - CMN-600 Info
+  NULL,                             ///< 31 - Lpi Info
+  NULL,                             ///< 32 - Pci Address Map Info
+  NULL,                             ///< 33 - Pci Interrupt Map Info
+  NULL,                             ///< 34 - Reserved Memory Range Node
+  NULL,                             ///< 35 - Memory Range Descriptor
+  NULL,                             ///< 36 - Continuous Performance Control Info
+  NULL,                             ///< 37 - Pcc Subspace Type 0 Info
+  NULL,                             ///< 38 - Pcc Subspace Type 2 Info
+  NULL,                             ///< 39 - Pcc Subspace Type 2 Info
+  NULL,                             ///< 40 - Pcc Subspace Type 3 Info
+  NULL,                             ///< 41 - Pcc Subspace Type 4 Info
+  NULL,                             ///< 42 - Pcc Subspace Type 5 Info
+  NULL,                             ///< 43 - Embedded Trace Extension/Module Info
+  NULL                              ///< 44 - P-State Dependency (PSD) Info
 };
 
 /** CmObj token fixer.
diff --git a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
index b1a628e419f0..eda2aa999ea6 100644
--- a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
+++ b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
@@ -46,7 +46,7 @@ extern CHAR8  ssdtserialporttemplate_aml_code[];
 
 /** Validate the Serial Port Information.
 
-  @param [in]  SerialPortInfoTable    Table of CM_ARM_SERIAL_PORT_INFO.
+  @param [in]  SerialPortInfoTable    Table of CM_ARCH_COMMON_SERIAL_PORT_INFO.
   @param [in]  SerialPortCount        Count of SerialPort in the table.
 
   @retval EFI_SUCCESS             Success.
@@ -55,12 +55,12 @@ extern CHAR8  ssdtserialporttemplate_aml_code[];
 EFI_STATUS
 EFIAPI
 ValidateSerialPortInfo (
-  IN  CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfoTable,
-  IN        UINT32                   SerialPortCount
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfoTable,
+  IN        UINT32                           SerialPortCount
   )
 {
-  UINT32                         Index;
-  CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfo;
+  UINT32                                 Index;
+  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo;
 
   if ((SerialPortInfoTable == NULL)  ||
       (SerialPortCount == 0))
@@ -163,9 +163,9 @@ STATIC
 EFI_STATUS
 EFIAPI
 FixupIds (
-  IN        AML_ROOT_NODE_HANDLE     RootNodeHandle,
-  IN  CONST UINT64                   Uid,
-  IN  CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfo
+  IN        AML_ROOT_NODE_HANDLE             RootNodeHandle,
+  IN  CONST UINT64                           Uid,
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo
   )
 {
   EFI_STATUS              Status;
@@ -290,8 +290,8 @@ STATIC
 EFI_STATUS
 EFIAPI
 FixupCrs (
-  IN        AML_ROOT_NODE_HANDLE     RootNodeHandle,
-  IN  CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfo
+  IN        AML_ROOT_NODE_HANDLE             RootNodeHandle,
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo
   )
 {
   EFI_STATUS              Status;
@@ -366,9 +366,9 @@ STATIC
 EFI_STATUS
 EFIAPI
 FixupName (
-  IN        AML_ROOT_NODE_HANDLE     RootNodeHandle,
-  IN  CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfo,
-  IN  CONST CHAR8                    *Name
+  IN        AML_ROOT_NODE_HANDLE             RootNodeHandle,
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo,
+  IN  CONST CHAR8                            *Name
   )
 {
   EFI_STATUS              Status;
@@ -410,11 +410,11 @@ STATIC
 EFI_STATUS
 EFIAPI
 FixupSerialPortInfo (
-  IN            AML_ROOT_NODE_HANDLE     RootNodeHandle,
-  IN      CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfo,
-  IN      CONST CHAR8                    *Name,
-  IN      CONST UINT64                   Uid,
-  OUT       EFI_ACPI_DESCRIPTION_HEADER  **Table
+  IN            AML_ROOT_NODE_HANDLE             RootNodeHandle,
+  IN      CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo,
+  IN      CONST CHAR8                            *Name,
+  IN      CONST UINT64                           Uid,
+  OUT       EFI_ACPI_DESCRIPTION_HEADER          **Table
   )
 {
   EFI_STATUS  Status;
@@ -480,11 +480,11 @@ FreeSsdtSerialPortTable (
 EFI_STATUS
 EFIAPI
 BuildSsdtSerialPortTable (
-  IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO   *AcpiTableInfo,
-  IN  CONST CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo,
-  IN  CONST CHAR8                        *Name,
-  IN  CONST UINT64                       Uid,
-  OUT       EFI_ACPI_DESCRIPTION_HEADER  **Table
+  IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO       *AcpiTableInfo,
+  IN  CONST CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo,
+  IN  CONST CHAR8                            *Name,
+  IN  CONST UINT64                           Uid,
+  OUT       EFI_ACPI_DESCRIPTION_HEADER      **Table
   )
 {
   EFI_STATUS            Status;
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index 6896463b2848..334d2a026596 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 }
 };
 
@@ -122,10 +122,10 @@ STATIC CONST CM_OBJ_PARSER  CmArmGicItsInfoParser[] = {
   { "ProximityDomain",     4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjSerialConsolePortInfo,
-    EArmObjSerialDebugPortInfo and EArmObjSerialPortInfo.
+/** A parser for EArchCommonObjConsolePortInfo,
+    EArchCommonObjSerialDebugPortInfo and EArchCommonObjSerialPortInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmSerialPortInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchCommonSerialPortInfoParser[] = {
   { "BaseAddress",       8, "0x%llx", NULL },
   { "Interrupt",         4, "0x%x",   NULL },
   { "BaudRate",          8, "0x%llx", NULL },
@@ -671,6 +671,10 @@ 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 (EArchCommonObjSerialPortInfo,            CmArchCommonSerialPortInfoParser),
+  CM_PARSER_ADD_OBJECT (EArchCommonObjConsolePortInfo,           CmArchCommonSerialPortInfoParser),
+  CM_PARSER_ADD_OBJECT (EArchCommonObjSerialDebugPortInfo,       CmArchCommonSerialPortInfoParser),
   CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
 };
 
@@ -679,14 +683,11 @@ 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),
   CM_PARSER_ADD_OBJECT (EArmObjGicRedistributorInfo,        CmArmGicRedistInfoParser),
   CM_PARSER_ADD_OBJECT (EArmObjGicItsInfo,                  CmArmGicItsInfoParser),
-  CM_PARSER_ADD_OBJECT (EArmObjSerialConsolePortInfo,       CmArmSerialPortInfoParser),
-  CM_PARSER_ADD_OBJECT (EArmObjSerialDebugPortInfo,         CmArmSerialPortInfoParser),
   CM_PARSER_ADD_OBJECT (EArmObjGenericTimerInfo,            CmArmGenericTimerInfoParser),
   CM_PARSER_ADD_OBJECT (EArmObjPlatformGTBlockInfo,         CmArmGTBlockInfoParser),
   CM_PARSER_ADD_OBJECT (EArmObjGTBlockTimerFrameInfo,       CmArmGTBlockTimerFrameInfoParser),
@@ -710,7 +711,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
   CM_PARSER_ADD_OBJECT (EArmObjDeviceHandleAcpi,            CmArmDeviceHandleAcpiParser),
   CM_PARSER_ADD_OBJECT (EArmObjDeviceHandlePci,             CmArmDeviceHandlePciParser),
   CM_PARSER_ADD_OBJECT (EArmObjGenericInitiatorAffinityInfo,CmArmGenericInitiatorAffinityInfoParser),
-  CM_PARSER_ADD_OBJECT (EArmObjSerialPortInfo,              CmArmSerialPortInfoParser),
   CM_PARSER_ADD_OBJECT (EArmObjCmn600Info,                  CmArmCmn600InfoParser),
   CM_PARSER_ADD_OBJECT (EArmObjLpiInfo,                     CmArmLpiInfoParser),
   CM_PARSER_ADD_OBJECT (EArmObjPciAddressMapInfo,           CmArmPciAddressMapInfoParser),
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
index 732b482eebe3..f17ad2e842e2 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
@@ -71,7 +71,7 @@ CONST COMPATIBILITY_INFO  SerialSbsaCompatibleInfo = {
 
   @param [in]  Fdt               Pointer to a Flattened Device Tree (Fdt).
   @param [in]  SerialPortNode    Offset of a serial-port node.
-  @param [in]  SerialPortInfo    The CM_ARM_SERIAL_PORT_INFO to populate.
+  @param [in]  SerialPortInfo    The CM_ARCH_COMMON_SERIAL_PORT_INFO to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -82,9 +82,9 @@ STATIC
 EFI_STATUS
 EFIAPI
 SerialPortNodeParser (
-  IN  CONST VOID               *Fdt,
-  IN  INT32                    SerialPortNode,
-  IN  CM_ARM_SERIAL_PORT_INFO  *SerialPortInfo
+  IN  CONST VOID                       *Fdt,
+  IN  INT32                            SerialPortNode,
+  IN  CM_ARCH_COMMON_SERIAL_PORT_INFO  *SerialPortInfo
   )
 {
   EFI_STATUS   Status;
@@ -313,7 +313,7 @@ GetSerialConsoleNode (
   return EFI_SUCCESS;
 }
 
-/** CM_ARM_SERIAL_PORT_INFO dispatcher function (for a generic serial-port).
+/** CM_ARCH_COMMON_SERIAL_PORT_INFO dispatcher function (for a generic serial-port).
 
   @param [in]  FdtParserHandle A handle to the parser instance.
   @param [in]  GenericSerialInfo  Pointer to a serial port info list.
@@ -331,9 +331,9 @@ EFI_STATUS
 EFIAPI
 ArmSerialPortInfoDispatch (
   IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
-  IN  CM_ARM_SERIAL_PORT_INFO          *GenericSerialInfo,
+  IN  CM_ARCH_COMMON_SERIAL_PORT_INFO  *GenericSerialInfo,
   IN  INT32                            NodeCount,
-  IN  EARM_OBJECT_ID                   SerialObjectId
+  IN  EARCH_COMMON_OBJECT_ID           SerialObjectId
   )
 {
   EFI_STATUS         Status;
@@ -344,9 +344,9 @@ ArmSerialPortInfoDispatch (
     return EFI_INVALID_PARAMETER;
   }
 
-  if ((SerialObjectId != EArmObjSerialPortInfo) &&
-      (SerialObjectId != EArmObjSerialDebugPortInfo) &&
-      (SerialObjectId != EArmObjSerialConsolePortInfo))
+  if ((SerialObjectId != EArchCommonObjSerialPortInfo) &&
+      (SerialObjectId != EArchCommonObjSerialDebugPortInfo) &&
+      (SerialObjectId != EArchCommonObjConsolePortInfo))
   {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
@@ -354,10 +354,10 @@ ArmSerialPortInfoDispatch (
 
   // Dispatch the Generic Serial ports
   Status = CreateCmObjDesc (
-             CREATE_CM_ARM_OBJECT_ID (SerialObjectId),
+             CREATE_CM_ARCH_COMMON_OBJECT_ID (SerialObjectId),
              NodeCount,
              GenericSerialInfo,
-             sizeof (CM_ARM_SERIAL_PORT_INFO) * NodeCount,
+             sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO) * NodeCount,
              &NewCmObjDesc
              );
   if (EFI_ERROR (Status)) {
@@ -372,19 +372,19 @@ ArmSerialPortInfoDispatch (
   return Status;
 }
 
-/** CM_ARM_SERIAL_PORT_INFO parser function (for debug/console serial-port).
+/** CM_ARCH_COMMON_SERIAL_PORT_INFO parser function (for debug/console serial-port).
 
   This parser expects FdtBranch to be the debug serial-port node.
   At most one CmObj is created.
   The following structure is populated:
-  typedef struct CmArmSerialPortInfo {
+  typedef struct EArchCommonSerialPortInfo {
     UINT64  BaseAddress;                      // {Populated}
     UINT32  Interrupt;                        // {Populated}
     UINT64  BaudRate;                         // {default}
     UINT32  Clock;                            // {Populated}
     UINT16  PortSubtype;                      // {Populated}
     UINT64  BaseAddressLength                 // {Populated}
-  } CM_ARM_SERIAL_PORT_INFO;
+  } CM_ARCH_COMMON_SERIAL_PORT_INFO;
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
@@ -396,7 +396,8 @@ ArmSerialPortInfoDispatch (
   @param [in]  FdtParserHandle A handle to the parser instance.
   @param [in]  FdtBranch       When searching for DT node name, restrict
                                the search to this Device Tree branch.
-  @param [in]  SerialObjectId  ArmNamespace Object ID for the serial port.
+  @param [in]  SerialObjectId  ArchCommon Namespace Object ID for the serial
+                               port.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -410,14 +411,14 @@ EFIAPI
 ArmSerialPortInfoParser (
   IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
   IN        INT32                      FdtBranch,
-  IN        EARM_OBJECT_ID             SerialObjectId
+  IN        EARCH_COMMON_OBJECT_ID     SerialObjectId
   )
 {
-  EFI_STATUS               Status;
-  CM_ARM_SERIAL_PORT_INFO  SerialInfo;
+  EFI_STATUS                       Status;
+  CM_ARCH_COMMON_SERIAL_PORT_INFO  SerialInfo;
 
-  if ((SerialObjectId != EArmObjSerialDebugPortInfo) &&
-      (SerialObjectId != EArmObjSerialConsolePortInfo))
+  if ((SerialObjectId != EArchCommonObjSerialDebugPortInfo) &&
+      (SerialObjectId != EArchCommonObjConsolePortInfo))
   {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
@@ -447,11 +448,11 @@ ArmSerialPortInfoParser (
 
 /** SerialPort dispatcher.
 
-  This disptacher populates the CM_ARM_SERIAL_PORT_INFO structure for
+  This disptacher populates the CM_ARCH_COMMON_SERIAL_PORT_INFO structure for
   the following CM_OBJ_ID:
-   - EArmObjSerialConsolePortInfo
-   - EArmObjSerialDebugPortInfo
-   - EArmObjSerialPortInfo
+   - EArchCommonObjConsolePortInfo
+   - EArchCommonObjSerialDebugPortInfo
+   - EArchCommonObjSerialPortInfo
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
@@ -477,16 +478,16 @@ SerialPortDispatcher (
   IN        INT32                      FdtBranch
   )
 {
-  EFI_STATUS               Status;
-  INT32                    SerialConsoleNode;
-  INT32                    SerialDebugNode;
-  INT32                    SerialNode;
-  UINT32                   Index;
-  UINT32                   SerialNodeCount;
-  UINT32                   SerialNodesRemaining;
-  CM_ARM_SERIAL_PORT_INFO  *GenericSerialInfo;
-  UINT32                   GenericSerialIndex;
-  VOID                     *Fdt;
+  EFI_STATUS                       Status;
+  INT32                            SerialConsoleNode;
+  INT32                            SerialDebugNode;
+  INT32                            SerialNode;
+  UINT32                           Index;
+  UINT32                           SerialNodeCount;
+  UINT32                           SerialNodesRemaining;
+  CM_ARCH_COMMON_SERIAL_PORT_INFO  *GenericSerialInfo;
+  UINT32                           GenericSerialIndex;
+  VOID                             *Fdt;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
@@ -531,7 +532,7 @@ SerialPortDispatcher (
     Status = ArmSerialPortInfoParser (
                FdtParserHandle,
                SerialConsoleNode,
-               EArmObjSerialConsolePortInfo
+               EArchCommonObjConsolePortInfo
                );
     if (EFI_ERROR (Status)) {
       ASSERT (0);
@@ -550,7 +551,7 @@ SerialPortDispatcher (
     SerialNodesRemaining--;
     GenericSerialInfo = AllocateZeroPool (
                           SerialNodesRemaining *
-                          sizeof (CM_ARM_SERIAL_PORT_INFO)
+                          sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO)
                           );
     if (GenericSerialInfo == NULL) {
       ASSERT (0);
@@ -589,7 +590,7 @@ SerialPortDispatcher (
       Status          = ArmSerialPortInfoParser (
                           FdtParserHandle,
                           SerialDebugNode,
-                          EArmObjSerialDebugPortInfo
+                          EArchCommonObjSerialDebugPortInfo
                           );
       if (EFI_ERROR (Status)) {
         ASSERT (0);
@@ -620,7 +621,7 @@ SerialPortDispatcher (
                FdtParserHandle,
                GenericSerialInfo,
                GenericSerialIndex,
-               EArmObjSerialPortInfo
+               EArchCommonObjSerialPortInfo
                );
   }
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
index de08e57e6c57..037c409d450a 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
@@ -14,11 +14,11 @@
 
 /** SerialPort dispatcher.
 
-  This disptacher populates the CM_ARM_SERIAL_PORT_INFO structure for
+  This disptacher populates the CM_ARCH_COMMON_SERIAL_PORT_INFO structure for
   the following CM_OBJ_ID:
-   - EArmObjSerialConsolePortInfo
-   - EArmObjSerialDebugPortInfo
-   - EArmObjSerialPortInfo
+   - EArchCommonObjConsolePortInfo
+   - EArchCommonObjSerialDebugPortInfo
+   - EArchCommonObjSerialPortInfo
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md
index 8d30bf560b3d..90f03f00e7d3 100644
--- a/DynamicTablesPkg/Readme.md
+++ b/DynamicTablesPkg/Readme.md
@@ -442,53 +442,49 @@ 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   | Generic Timer Info                        | |
+|   8   | Platform GT Block Info                    | |
+|   9   | Generic Timer Block Frame Info            | |
+|  10   | Platform Generic Watchdog                 | |
+|  11   | PCI Configuration Space Info              | Move to Arch Common NS |
+|  12   | Hypervisor Vendor Id                      | Move to Arch Common NS |
+|  13   | Fixed feature flags for FADT              | Move to Arch Common NS |
+|  14   | ITS Group                                 | |
+|  15   | Named Component                           | |
+|  16   | Root Complex                              | |
+|  17   | SMMUv1 or SMMUv2                          | |
+|  18   | SMMUv3                                    | |
+|  19   | PMCG                                      | |
+|  20   | GIC ITS Identifier Array                  | |
+|  21   | ID Mapping Array                          | |
+|  22   | SMMU Interrupt Array                      | |
+|  23   | Processor Hierarchy Info                  | Move to Arch Common NS |
+|  24   | Cache Info                                | Move to Arch Common NS |
+|  25   | CM Object Reference                       | Move to Arch Common NS |
+|  26   | Memory Affinity Info                      | Move to Arch Common NS |
+|  27   | Device Handle Acpi                        | Move to Arch Common NS |
+|  28   | Device Handle PCI                         | Move to Arch Common NS |
+|  29   | Generic Initiator Affinity Info           | Move to Arch Common NS |
+|  30   | CMN 600 Info                              | |
+|  31   | Low Power Idle State Info                 | Move to Arch Common NS |
+|  32   | PCI Address Map Info                      | Move to Arch Common NS |
+|  33   | PCI Interrupt Map Info                    | Move to Arch Common NS |
+|  34   | Reserved Memory Range Node                | |
+|  35   | Memory Range Descriptor                   | |
+|  36   | Continuous Performance Control Info       | Move to Arch Common NS |
+|  37   | Pcc Subspace Type 0 Info                  | Move to Arch Common NS |
+|  38   | Pcc Subspace Type 1 Info                  | Move to Arch Common NS |
+|  39   | Pcc Subspace Type 2 Info                  | Move to Arch Common NS |
+|  40   | Pcc Subspace Type 3 Info                  | Move to Arch Common NS |
+|  41   | Pcc Subspace Type 4 Info                  | Move to Arch Common NS |
+|  42   | Pcc Subspace Type 5 Info                  | Move to Arch Common NS |
+|  43   | Embedded Trace Extension/Module Info      | |
+|  44   | 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 +492,8 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
 |  ID   |  Description                      | Comments |
 | ---:  | :--------------------------       | :---     |
 |   0   |  Reserved                         | |
+|   1   | Power Management Profile Info     | |
+|   2   | Serial Port Info                  | |
+|   3   | Serial Console Port Info          | |
+|   4   | Serial Debug Port Info            | |
 |  `*`  | All other values are reserved.    | |
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116973): https://edk2.groups.io/g/devel/message/116973
Mute This Topic: https://groups.io/mt/105067987/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  parent reply	other threads:[~2024-03-21 15:54 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-21 15:53 [edk2-devel] [PATCH 00/16] DynamicTablesPkg: Move objects to Arch Common NameSpace (first) PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 01/16] DynamicTablesPkg/SsdtCpuTopology: Update function's parameter description PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 02/16] DynamicTablesPkg: Replace ProcNodeIdInfo with EArmObjReserved29 PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 03/16] DynamicTablesPkg: Introduce ObjectId to validate CmObject Parser Array PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 04/16] DynamicTablesPkg: Introduce an Arch Common Namespace header file PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 05/16] DynamicTablesPkg: Add support for ArchCommon objects in CmObjParser PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 06/16] DynamicTablesPkg: TokenFixer: Return Non Arm NS objs as unsupported PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 07/16] DynamicTablesPkg: Update DynamicPlatRepo for Arch Common namespace PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 08/16] DynamicTablesPkg: Update documentation for CM_OBJECT_ID PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 09/16] DynamicTablesPkg: Drop Cpu Info object ID from Arm Namespace PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 10/16] DynamicTablesPkg: Drop Reserved29 " PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 11/16] ArmVirtPkg: Kvmtool: Update ConfigMgr to support ArchCommon PierreGondois
2024-03-21 15:53 ` PierreGondois [this message]
2024-03-21 15:53 ` [edk2-devel] [PATCH 13/16] DynamicTablesPkg: Move Hypervisor Vendor Id to Arch Common PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 14/16] DynamicTablesPkg: Move FADT Fixed Features Flags " PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 15/16] DynamicTablesPkg: Move Cm Reference object " PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 16/16] DynamicTablesPkg & ArmVirtPkg: Move Pci Config Space Info PierreGondois
2024-04-04 10:02 ` [edk2-devel] [PATCH 00/16] DynamicTablesPkg: Move objects to Arch Common NameSpace (first) Sunil V L
2024-06-07 14:19   ` Sami Mujawar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240321155319.701355-13-pierre.gondois@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox