public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support
@ 2024-01-09 16:29 Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 01/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM parsers to Arm directory Sunil V L
                   ` (20 more replies)
  0 siblings, 21 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar, Andrei Warkentin, Laszlo Ersek, AbdulLateef Attar,
	Jeff Brasen

DynamicTablesPkg can be used by RISC-V platforms to generate ACPI tables
from FDT passed from previous stage FW. However, DynamicTablesPkg
currently is ARM specific even though several parsers and ACPI
generators can be used across architectures. For ex: SSDT (PCIe), SSDT
(CPU), MCFG, SPCR, DBG2, FADT, SRAT, Raw (DSDT) are mostly common across
architectures. Only MADT, IORT and GTDT are ARM specific.

This series tries to refactor the DynamicTablesPkg so that RISC-V
support can be added fairly easily later.

While the approach taken in this series reduces the code duplication as
much as possible, it has the side effect of large changes and impacts
platforms that support DynamicTablesPkg today (ex: JunoPkg,
ArmKvmTool etc). Other approach I tried initially was to duplicate most
of the things from Arm to RISC-V. But it was too much of
code duplication which is bad in my opinion.

To help the review, the series is also available at
https://github.com/vlsunil/edk2/tree/dyn_tables_refactor_rfc_v1

Corresponding changes in edk2-platforms are at
https://github.com/vlsunil/edk2-platforms/tree/dyn_tables_approach2_v1

I have built tested the changes for following platforms enabling
DYNAMIC_TABLES_FRAMEWORK.
  - ArmJuno.dsc
  - ArmVExpress-FVP-AArch64.dsc 
  - ArmVirtKvmTool.dsc

But due to the nature of the changes, if the approach is fine, I will
need some help to test those platforms which support DynamicTables.

The series passes CI tests.

Looking forward for your feedback!. I am happy to try if there are any
better methods to add support for other architectures.

Addition of RISC-V support PoC code (on top of this series) is available
at 
https://github.com/vlsunil/edk2/tree/dyn_tables_riscv_rfc_v1

PS: PoC code for the code duplication approach is available at
https://github.com/vlsunil/edk2/commits/dyn_tables_approch1_v1/.
This was just quick work. It has the advantage of lesser impact on
existing ARM platforms. But looks too bad to me because of code
duplication.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Cc: Andrei Warkentin <andrei.warkentin@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: AbdulLateef Attar (Abdul Lateef) <AbdulLateef.Attar@amd.com>
Cc: Jeff Brasen <jbrasen@nvidia.com>

Sunil V L (20):
  DynamicTablesPkg: FdtHwInfoParserLib: Move ARM parsers to Arm
    directory
  DynamicTablesPkg: Move common ACPI libraries from folder
  DynamicTablesPkg: Update ACPI common libraries BASE_NAME
  DynamicTablesPkg: Rename ArmNameSpaceObjects to ArchNameSpaceObjects
  DynamicTablesPkg: DynamicPlatRepoLib: Rename ArmObjList as ArchObjList
  DynamicTablesPkg: Rename EObjNameSpaceArm to EObjNameSpaceArch
  DynamicTablesPkg: FdtHwInfoParserLib: Separate ARM specific code
  DynamicTablesPkg: FdtHwInfoParserLib: Pci: Make it common for
    architectures
  DynamicTablesPkg: FdtHwInfoParserLib: Make Serial parser arch neutral
  DynamicTablesPkg: FdtHwInfoParserLib: Move ArmLib.h to ArmGicCParser.c
  DynamicTablesPkg: TableHelperLib: Populate OemTableId using
    ConfigManager
  DynamicTablesPkg: Add CreatorId in
    CM_STD_OBJ_CONFIGURATION_MANAGER_INFO
  DynamicTablesPkg: FdtHwInfoParserLib: Move ARM utilities to separate
    file
  DynamicTablesPkg/FdtHwInfoParserLib: Add function for INTC address
    cells
  DynamicTablesPkg: AcpiSsdtCpuTopologyLib: Move GICC from common code
  DynamicTablesPkg: AcpiFadtLib: Move ArmBootArch to ARM specific file
  DynamicTablesPkg: DynamicTableManagerDxe: Refactor to allow other
    archs
  DynamicTablesPkg: X86: Add interfaces to succeed CI tests
  DynamicTablesPkg/AmlLib: Fix typo
  DynamicTablesPkg.ci.yaml: Update exception and ignore list

 DynamicTablesPkg/DynamicTables.dsc.inc        |  45 +-
 .../DynamicTableManagerDxe.inf                |   9 +-
 .../AcpiDbg2Lib/AcpiDbg2Lib.inf}              |  15 +-
 .../AcpiFadtLib/AcpiFadtLib.inf}              |  13 +-
 .../AcpiMcfgLib/AcpiMcfgLib.inf}              |   9 +-
 .../AcpiPcctLib/AcpiPcctLib.inf}              |   2 +-
 .../AcpiPpttLib/AcpiPpttLib.inf}              |   2 +-
 .../AcpiRawLib/AcpiRawLib.inf}                |   9 +-
 .../AcpiSpcrLib/AcpiSpcrLib.inf}              |   9 +-
 .../AcpiSratLib/AcpiSratLib.inf}              |   2 +-
 .../SsdtCpuTopologyLib.inf}                   |   9 +-
 .../AcpiSsdtPcieLib/SsdtPcieLib.inf}          |   2 +-
 .../SsdtSerialPortLib.inf}                    |   6 +-
 .../FdtHwInfoParserLib/FdtHwInfoParserLib.inf |  48 +-
 .../KvmtoolCfgMgrDxe/ConfigurationManager.h   |  10 +-
 .../DynamicTableManagerDxe.h                  |  65 +++
 ...eSpaceObjects.h => ArchNameSpaceObjects.h} | 428 ++++++++--------
 .../Include/ConfigurationManagerObject.h      |   8 +-
 .../Include/Library/AmlLib/AmlLib.h           |   1 +
 .../Include/Library/SsdtPcieSupportLib.h      |  12 +-
 .../Include/Library/SsdtSerialPortFixupLib.h  |   8 +-
 .../Include/StandardNameSpaceObjects.h        |   1 +
 .../Acpi/Common/AcpiFadtLib/FadtGenerator.h   |  32 ++
 .../AcpiPcctLib}/PcctGenerator.h              |   4 +-
 .../AcpiPpttLib}/PpttGenerator.h              |   0
 .../SsdtCpuTopologyGenerator.h                |  78 ++-
 .../AcpiSsdtPcieLib}/SsdtPcieGenerator.h      |   0
 .../DynamicPlatRepoInternal.h                 |   4 +-
 .../{ => Arm}/BootArch/ArmBootArchParser.h    |   6 +-
 .../GenericTimer/ArmGenericTimerParser.h      |   6 +-
 .../{ => Arm}/Gic/ArmGicCParser.h             |   6 +-
 .../{ => Arm}/Gic/ArmGicDParser.h             |   6 +-
 .../{ => Arm}/Gic/ArmGicDispatcher.h          |   6 +-
 .../{ => Arm}/Gic/ArmGicItsParser.h           |   6 +-
 .../{ => Arm}/Gic/ArmGicMsiFrameParser.h      |   6 +-
 .../{ => Arm}/Gic/ArmGicRParser.h             |   6 +-
 .../FdtHwInfoParserLib/CmObjectDescUtility.h  |   6 +-
 .../FdtHwInfoParserLib/FdtHwInfoParser.h      |  27 +
 .../FdtHwInfoParserInclude.h                  |   1 -
 .../Library/FdtHwInfoParserLib/FdtUtility.h   |   9 +
 ...igSpaceParser.h => PciConfigSpaceParser.h} |  30 +-
 ...mSerialPortParser.h => SerialPortParser.h} |  16 +-
 .../KvmtoolCfgMgrDxe/ConfigurationManager.c   |  20 +-
 .../ArmDynamicTableManagerDxe.c               | 154 ++++++
 .../DynamicTableManagerDxe.c                  | 145 +-----
 .../X86DynamicTableManagerDxe.c               |  44 ++
 .../Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c   |  62 +--
 .../Acpi/Arm/AcpiIortLibArm/IortGenerator.c   | 182 +++----
 .../Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c   | 124 ++---
 .../SsdtCmn600Generator.c                     |  34 +-
 .../AcpiDbg2Lib}/Dbg2Generator.c              |  14 +-
 .../Common/AcpiFadtLib/ArmFadtGenerator.c     |  80 +++
 .../AcpiFadtLib}/FadtGenerator.c              | 115 +----
 .../AcpiMcfgLib}/McfgGenerator.c              |  22 +-
 .../AcpiPcctLib}/PcctGenerator.c              | 148 +++---
 .../AcpiPpttLib}/PpttGenerator.c              |  86 ++--
 .../AcpiRawLib}/RawGenerator.c                |   0
 .../AcpiSpcrLib}/SpcrGenerator.c              |  12 +-
 .../AcpiSratLib}/SratGenerator.c              |  82 ++--
 .../ArmSsdtCpuTopologyGenerator.c             | 179 +++++++
 .../SsdtCpuTopologyGenerator.c                | 282 ++++-------
 .../AcpiSsdtPcieLib}/SsdtPcieGenerator.c      | 112 ++---
 .../SsdtSerialPortGenerator.c                 |  12 +-
 .../Common/AmlLib/CodeGen/AmlCodeGen.c        |   3 +-
 .../Library/Common/AmlLib/Parser/AmlParser.c  |   2 +-
 .../Library/Common/AmlLib/Tree/AmlNode.c      |   2 +-
 .../DynamicPlatRepoLib/CmObjectTokenFixer.c   |  22 +-
 .../DynamicPlatRepoLib/DynamicPlatRepo.c      |  54 +-
 .../Common/DynamicPlatRepoLib/TokenMapper.c   |   8 +-
 .../SsdtPcieSupportLib/SsdtPcieSupportLib.c   |  12 +-
 .../SsdtSerialPortFixupLib.c                  |  38 +-
 .../ConfigurationManagerObjectParser.c        | 460 +++++++++---------
 .../Common/TableHelperLib/TableHelper.c       |  32 +-
 .../Arm/ArmFdtHwInfoParser.c                  |  83 ++++
 .../FdtHwInfoParserLib/Arm/ArmFdtUtility.c    | 114 +++++
 .../{ => Arm}/BootArch/ArmBootArchParser.c    |  28 +-
 .../GenericTimer/ArmGenericTimerParser.c      |  36 +-
 .../{ => Arm}/Gic/ArmGicCParser.c             | 121 ++---
 .../{ => Arm}/Gic/ArmGicDParser.c             |  30 +-
 .../{ => Arm}/Gic/ArmGicDispatcher.c          |  18 +-
 .../{ => Arm}/Gic/ArmGicItsParser.c           |  40 +-
 .../{ => Arm}/Gic/ArmGicMsiFrameParser.c      |  32 +-
 .../{ => Arm}/Gic/ArmGicRParser.c             |  36 +-
 .../FdtHwInfoParserLib/CmObjectDescUtility.c  |  10 +-
 .../FdtHwInfoParserLib/FdtHwInfoParser.c      |  78 +--
 .../Library/FdtHwInfoParserLib/FdtUtility.c   |  71 ---
 ...igSpaceParser.c => PciConfigSpaceParser.c} |  71 ++-
 ...mSerialPortParser.c => SerialPortParser.c} |  94 ++--
 DynamicTablesPkg/DynamicTablesPkg.ci.yaml     |   7 +-
 89 files changed, 2382 insertions(+), 1997 deletions(-)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf => Common/AcpiDbg2Lib/AcpiDbg2Lib.inf} (85%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf => Common/AcpiFadtLib/AcpiFadtLib.inf} (82%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf => Common/AcpiMcfgLib/AcpiMcfgLib.inf} (85%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf => Common/AcpiPcctLib/AcpiPcctLib.inf} (90%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf => Common/AcpiPpttLib/AcpiPpttLib.inf} (90%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiRawLibArm/AcpiRawLibArm.inf => Common/AcpiRawLib/AcpiRawLib.inf} (85%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf => Common/AcpiSpcrLib/AcpiSpcrLib.inf} (86%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSratLibArm/AcpiSratLibArm.inf => Common/AcpiSratLib/AcpiSratLib.inf} (90%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf => Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf} (81%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf => Common/AcpiSsdtPcieLib/SsdtPcieLib.inf} (91%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf => Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf} (87%)
 create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.h
 rename DynamicTablesPkg/Include/{ArmNameSpaceObjects.h => ArchNameSpaceObjects.h} (72%)
 create mode 100644 DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.h
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm => Common/AcpiPcctLib}/PcctGenerator.h (81%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm => Common/AcpiPpttLib}/PpttGenerator.h (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm => Common/AcpiSsdtCpuTopologyLib}/SsdtCpuTopologyGenerator.h (60%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm => Common/AcpiSsdtPcieLib}/SsdtPcieGenerator.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/BootArch/ArmBootArchParser.h (90%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/GenericTimer/ArmGenericTimerParser.h (93%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicCParser.h (94%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDParser.h (92%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDispatcher.h (93%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicItsParser.h (91%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicMsiFrameParser.h (90%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicRParser.h (90%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/{ArmPciConfigSpaceParser.h => PciConfigSpaceParser.h} (84%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/{ArmSerialPortParser.h => SerialPortParser.h} (79%)
 create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/ArmDynamicTableManagerDxe.c
 create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/X86DynamicTableManagerDxe.c
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiDbg2LibArm => Common/AcpiDbg2Lib}/Dbg2Generator.c (95%)
 create mode 100644 DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/ArmFadtGenerator.c
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiFadtLibArm => Common/AcpiFadtLib}/FadtGenerator.c (84%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiMcfgLibArm => Common/AcpiMcfgLib}/McfgGenerator.c (92%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm => Common/AcpiPcctLib}/PcctGenerator.c (87%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm => Common/AcpiPpttLib}/PpttGenerator.c (93%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiRawLibArm => Common/AcpiRawLib}/RawGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSpcrLibArm => Common/AcpiSpcrLib}/SpcrGenerator.c (95%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSratLibArm => Common/AcpiSratLib}/SratGenerator.c (91%)
 create mode 100644 DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/ArmSsdtCpuTopologyGenerator.c
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm => Common/AcpiSsdtCpuTopologyLib}/SsdtCpuTopologyGenerator.c (82%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm => Common/AcpiSsdtPcieLib}/SsdtPcieGenerator.c (90%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtSerialPortLibArm => Common/AcpiSsdtSerialPortLib}/SsdtSerialPortGenerator.c (95%)
 create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
 create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/BootArch/ArmBootArchParser.c (82%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/GenericTimer/ArmGenericTimerParser.c (86%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicCParser.c (86%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDParser.c (85%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDispatcher.c (91%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicItsParser.c (83%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicMsiFrameParser.c (84%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicRParser.c (86%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/{ArmPciConfigSpaceParser.c => PciConfigSpaceParser.c} (89%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/{ArmSerialPortParser.c => SerialPortParser.c} (85%)

-- 
2.34.1



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



^ permalink raw reply	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 01/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM parsers to Arm directory
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 02/20] DynamicTablesPkg: Move common ACPI libraries from folder Sunil V L
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

GIC, GenericTimer and BootArch are ARM specific concepts. Move them to
Arm folder and update the references.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../FdtHwInfoParserLib/FdtHwInfoParserLib.inf | 32 +++++++++----------
 .../{ => Arm}/BootArch/ArmBootArchParser.h    |  0
 .../GenericTimer/ArmGenericTimerParser.h      |  0
 .../{ => Arm}/Gic/ArmGicCParser.h             |  0
 .../{ => Arm}/Gic/ArmGicDParser.h             |  0
 .../{ => Arm}/Gic/ArmGicDispatcher.h          |  0
 .../{ => Arm}/Gic/ArmGicItsParser.h           |  0
 .../{ => Arm}/Gic/ArmGicMsiFrameParser.h      |  0
 .../{ => Arm}/Gic/ArmGicRParser.h             |  0
 .../{ => Arm}/BootArch/ArmBootArchParser.c    |  2 +-
 .../GenericTimer/ArmGenericTimerParser.c      |  4 +--
 .../{ => Arm}/Gic/ArmGicCParser.c             |  4 +--
 .../{ => Arm}/Gic/ArmGicDParser.c             |  4 +--
 .../{ => Arm}/Gic/ArmGicDispatcher.c          | 12 +++----
 .../{ => Arm}/Gic/ArmGicItsParser.c           |  4 +--
 .../{ => Arm}/Gic/ArmGicMsiFrameParser.c      |  4 +--
 .../{ => Arm}/Gic/ArmGicRParser.c             |  4 +--
 .../FdtHwInfoParserLib/FdtHwInfoParser.c      |  6 ++--
 .../Pci/ArmPciConfigSpaceParser.c             |  2 +-
 19 files changed, 39 insertions(+), 39 deletions(-)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/BootArch/ArmBootArchParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/GenericTimer/ArmGenericTimerParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicCParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDispatcher.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicItsParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicMsiFrameParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicRParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/BootArch/ArmBootArchParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/GenericTimer/ArmGenericTimerParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicCParser.c (96%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicDispatcher.c (92%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicItsParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicMsiFrameParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => Arm}/Gic/ArmGicRParser.c (95%)

diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
index d2c171accaa5..fa768cf664df 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
@@ -22,22 +22,22 @@ [Sources]
   FdtHwInfoParser.h
   FdtUtility.c
   FdtUtility.h
-  BootArch/ArmBootArchParser.c
-  BootArch/ArmBootArchParser.h
-  GenericTimer/ArmGenericTimerParser.c
-  GenericTimer/ArmGenericTimerParser.h
-  Gic/ArmGicCParser.c
-  Gic/ArmGicCParser.h
-  Gic/ArmGicDispatcher.c
-  Gic/ArmGicDispatcher.h
-  Gic/ArmGicDParser.c
-  Gic/ArmGicDParser.h
-  Gic/ArmGicItsParser.c
-  Gic/ArmGicItsParser.h
-  Gic/ArmGicMsiFrameParser.c
-  Gic/ArmGicMsiFrameParser.h
-  Gic/ArmGicRParser.c
-  Gic/ArmGicRParser.h
+  Arm/BootArch/ArmBootArchParser.c
+  Arm/BootArch/ArmBootArchParser.h
+  Arm/GenericTimer/ArmGenericTimerParser.c
+  Arm/GenericTimer/ArmGenericTimerParser.h
+  Arm/Gic/ArmGicCParser.c
+  Arm/Gic/ArmGicCParser.h
+  Arm/Gic/ArmGicDispatcher.c
+  Arm/Gic/ArmGicDispatcher.h
+  Arm/Gic/ArmGicDParser.c
+  Arm/Gic/ArmGicDParser.h
+  Arm/Gic/ArmGicItsParser.c
+  Arm/Gic/ArmGicItsParser.h
+  Arm/Gic/ArmGicMsiFrameParser.c
+  Arm/Gic/ArmGicMsiFrameParser.h
+  Arm/Gic/ArmGicRParser.c
+  Arm/Gic/ArmGicRParser.h
   Pci/ArmPciConfigSpaceParser.c
   Pci/ArmPciConfigSpaceParser.h
   Serial/ArmSerialPortParser.c
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/BootArch/ArmBootArchParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/BootArch/ArmBootArchParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/GenericTimer/ArmGenericTimerParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/GenericTimer/ArmGenericTimerParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicCParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicCParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDispatcher.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDispatcher.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicItsParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicItsParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicMsiFrameParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicMsiFrameParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicRParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.h
similarity index 100%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicRParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/BootArch/ArmBootArchParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
similarity index 95%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/BootArch/ArmBootArchParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
index b07b6b8b666a..d217e33424b1 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/BootArch/ArmBootArchParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
@@ -10,7 +10,7 @@
 
 #include "FdtHwInfoParser.h"
 #include "CmObjectDescUtility.h"
-#include "BootArch/ArmBootArchParser.h"
+#include "Arm/BootArch/ArmBootArchParser.h"
 
 /** List of "compatible" property values for Psci nodes.
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/GenericTimer/ArmGenericTimerParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
similarity index 95%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/GenericTimer/ArmGenericTimerParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
index 988a81221dab..6488399ed812 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/GenericTimer/ArmGenericTimerParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
@@ -10,8 +10,8 @@
 
 #include "FdtHwInfoParser.h"
 #include "CmObjectDescUtility.h"
-#include "GenericTimer/ArmGenericTimerParser.h"
-#include "Gic/ArmGicDispatcher.h"
+#include "Arm/GenericTimer/ArmGenericTimerParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
 
 /** List of "compatible" property values for timer nodes.
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicCParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
similarity index 96%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicCParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
index ee82f7a0b461..cf577b47242e 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicCParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
@@ -13,8 +13,8 @@
 
 #include "FdtHwInfoParser.h"
 #include "CmObjectDescUtility.h"
-#include "Gic/ArmGicCParser.h"
-#include "Gic/ArmGicDispatcher.h"
+#include "Arm/Gic/ArmGicCParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
 
 /** List of "compatible" property values for CPU nodes.
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
similarity index 95%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
index b7f569672980..906ef8b8585e 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
@@ -11,8 +11,8 @@
 
 #include "CmObjectDescUtility.h"
 #include "FdtHwInfoParser.h"
-#include "Gic/ArmGicDispatcher.h"
-#include "Gic/ArmGicDParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
+#include "Arm/Gic/ArmGicDParser.h"
 
 /** Parse a Gic compatible interrupt-controller node,
     extracting GicD information.
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDispatcher.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
similarity index 92%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDispatcher.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
index 1f3af1f968a9..ca34d24a78d9 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDispatcher.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
@@ -10,12 +10,12 @@
 **/
 
 #include "FdtHwInfoParser.h"
-#include "Gic/ArmGicCParser.h"
-#include "Gic/ArmGicDispatcher.h"
-#include "Gic/ArmGicDParser.h"
-#include "Gic/ArmGicItsParser.h"
-#include "Gic/ArmGicMsiFrameParser.h"
-#include "Gic/ArmGicRParser.h"
+#include "Arm/Gic/ArmGicCParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
+#include "Arm/Gic/ArmGicDParser.h"
+#include "Arm/Gic/ArmGicItsParser.h"
+#include "Arm/Gic/ArmGicMsiFrameParser.h"
+#include "Arm/Gic/ArmGicRParser.h"
 
 /** List of "compatible" property values for GicV2 interrupt nodes.
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicItsParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
similarity index 95%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicItsParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
index f23818fbd047..6d4bde6a141a 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicItsParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
@@ -10,8 +10,8 @@
 
 #include "CmObjectDescUtility.h"
 #include "FdtHwInfoParser.h"
-#include "Gic/ArmGicDispatcher.h"
-#include "Gic/ArmGicItsParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
+#include "Arm/Gic/ArmGicItsParser.h"
 
 /** Parse a Gic compatible interrupt-controller node,
     extracting GicIts information.
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicMsiFrameParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
similarity index 95%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicMsiFrameParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
index c474cb25fe6f..dff5beff91be 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicMsiFrameParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
@@ -11,8 +11,8 @@
 
 #include "CmObjectDescUtility.h"
 #include "FdtHwInfoParser.h"
-#include "Gic/ArmGicDispatcher.h"
-#include "Gic/ArmGicMsiFrameParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
+#include "Arm/Gic/ArmGicMsiFrameParser.h"
 
 /** List of "compatible" property values for Msi-frame nodes.
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicRParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
similarity index 95%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicRParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
index 0f9c7bb3fea2..de2e1dd1f1e3 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicRParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
@@ -10,8 +10,8 @@
 
 #include "CmObjectDescUtility.h"
 #include "FdtHwInfoParser.h"
-#include "Gic/ArmGicDispatcher.h"
-#include "Gic/ArmGicRParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
+#include "Arm/Gic/ArmGicRParser.h"
 
 /** Parse a Gic compatible interrupt-controller node,
     extracting GicR information.
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c
index 376de078bcb1..78bf9c9efae4 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c
@@ -6,9 +6,9 @@
 **/
 
 #include "FdtHwInfoParser.h"
-#include "BootArch/ArmBootArchParser.h"
-#include "GenericTimer/ArmGenericTimerParser.h"
-#include "Gic/ArmGicDispatcher.h"
+#include "Arm/BootArch/ArmBootArchParser.h"
+#include "Arm/GenericTimer/ArmGenericTimerParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
 #include "Pci/ArmPciConfigSpaceParser.h"
 #include "Serial/ArmSerialPortParser.h"
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
index 2ffff1ccd27f..68b048498121 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
@@ -17,7 +17,7 @@
 
 #include "FdtHwInfoParser.h"
 #include "Pci/ArmPciConfigSpaceParser.h"
-#include "Gic/ArmGicDispatcher.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
 
 /** List of "compatible" property values for host PCIe bridges nodes.
 
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 02/20] DynamicTablesPkg: Move common ACPI libraries from folder
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 01/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM parsers to Arm directory Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 03/20] DynamicTablesPkg: Update ACPI common libraries BASE_NAME Sunil V L
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

Several ACPI tables are common across architectures. Move below common
ACPI table generator libraries which are common for architectures out of
Arm folder so that they can be used by other architectures like RISC-V.

Common tables are: DBG2, FADT, MCFG, PCCT, PPTT, SPCR, SRAT, SSDT (CPU,
PCIe)

Arm specific are: MADT, GTDT, IORT

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 DynamicTablesPkg/DynamicTables.dsc.inc        | 45 +++++++++----------
 .../AcpiDbg2Lib/AcpiDbg2Lib.inf}              |  0
 .../AcpiFadtLib/AcpiFadtLib.inf}              |  0
 .../AcpiMcfgLib/AcpiMcfgLib.inf}              |  0
 .../AcpiPcctLib/AcpiPcctLib.inf}              |  0
 .../AcpiPpttLib/AcpiPpttLib.inf}              |  0
 .../AcpiRawLib/AcpiRawLib.inf}                |  0
 .../AcpiSpcrLib/AcpiSpcrLib.inf}              |  0
 .../AcpiSratLib/AcpiSratLib.inf}              |  0
 .../SsdtCpuTopologyLib.inf}                   |  0
 .../AcpiSsdtPcieLib/SsdtPcieLib.inf}          |  0
 .../SsdtSerialPortLib.inf}                    |  0
 .../AcpiPcctLib}/PcctGenerator.h              |  0
 .../AcpiPpttLib}/PpttGenerator.h              |  0
 .../SsdtCpuTopologyGenerator.h                |  0
 .../AcpiSsdtPcieLib}/SsdtPcieGenerator.h      |  0
 .../AcpiDbg2Lib}/Dbg2Generator.c              |  0
 .../AcpiFadtLib}/FadtGenerator.c              |  0
 .../AcpiMcfgLib}/McfgGenerator.c              |  0
 .../AcpiPcctLib}/PcctGenerator.c              |  0
 .../AcpiPpttLib}/PpttGenerator.c              |  0
 .../AcpiRawLib}/RawGenerator.c                |  0
 .../AcpiSpcrLib}/SpcrGenerator.c              |  0
 .../AcpiSratLib}/SratGenerator.c              |  0
 .../SsdtCpuTopologyGenerator.c                |  0
 .../AcpiSsdtPcieLib}/SsdtPcieGenerator.c      |  0
 .../SsdtSerialPortGenerator.c                 |  0
 27 files changed, 22 insertions(+), 23 deletions(-)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf => Common/AcpiDbg2Lib/AcpiDbg2Lib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf => Common/AcpiFadtLib/AcpiFadtLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf => Common/AcpiMcfgLib/AcpiMcfgLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf => Common/AcpiPcctLib/AcpiPcctLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf => Common/AcpiPpttLib/AcpiPpttLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiRawLibArm/AcpiRawLibArm.inf => Common/AcpiRawLib/AcpiRawLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf => Common/AcpiSpcrLib/AcpiSpcrLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSratLibArm/AcpiSratLibArm.inf => Common/AcpiSratLib/AcpiSratLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf => Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf => Common/AcpiSsdtPcieLib/SsdtPcieLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf => Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf} (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm => Common/AcpiPcctLib}/PcctGenerator.h (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm => Common/AcpiPpttLib}/PpttGenerator.h (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm => Common/AcpiSsdtCpuTopologyLib}/SsdtCpuTopologyGenerator.h (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm => Common/AcpiSsdtPcieLib}/SsdtPcieGenerator.h (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiDbg2LibArm => Common/AcpiDbg2Lib}/Dbg2Generator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiFadtLibArm => Common/AcpiFadtLib}/FadtGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiMcfgLibArm => Common/AcpiMcfgLib}/McfgGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm => Common/AcpiPcctLib}/PcctGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm => Common/AcpiPpttLib}/PpttGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiRawLibArm => Common/AcpiRawLib}/RawGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSpcrLibArm => Common/AcpiSpcrLib}/SpcrGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSratLibArm => Common/AcpiSratLib}/SratGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm => Common/AcpiSsdtCpuTopologyLib}/SsdtCpuTopologyGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm => Common/AcpiSsdtPcieLib}/SsdtPcieGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtSerialPortLibArm => Common/AcpiSsdtSerialPortLib}/SsdtSerialPortGenerator.c (100%)

diff --git a/DynamicTablesPkg/DynamicTables.dsc.inc b/DynamicTablesPkg/DynamicTables.dsc.inc
index 8c99574097ad..e5e8a06f814b 100644
--- a/DynamicTablesPkg/DynamicTables.dsc.inc
+++ b/DynamicTablesPkg/DynamicTables.dsc.inc
@@ -37,49 +37,48 @@ [Components.ARM, Components.AARCH64]
   #
   # Generators
   #
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
   DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf
   DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf
   DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf
 
   # AML Fixup
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf
   DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600LibArm.inf
 
   # AML Codegen
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf
-  DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
+  DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
 
   #
   # Dynamic Table Factory Dxe
   #
   DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf {
     <LibraryClasses>
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
       NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf
       NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf
       NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf
 
       # AML Fixup
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf
       NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600LibArm.inf
 
       # AML Codegen
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf
-      NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
+      NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
   }
-
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.h
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.h
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.h
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.h
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.h
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.h
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.h
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.h
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/RawGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/RawGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
similarity index 100%
rename from DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c
rename to DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 03/20] DynamicTablesPkg: Update ACPI common libraries BASE_NAME
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 01/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM parsers to Arm directory Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 02/20] DynamicTablesPkg: Move common ACPI libraries from folder Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 04/20] DynamicTablesPkg: Rename ArmNameSpaceObjects to ArchNameSpaceObjects Sunil V L
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

Update the BASE_NAME in the libraries moved out of ARM.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf       | 15 +++++++--------
 .../Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf       |  9 +--------
 .../Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf       |  9 +--------
 .../Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf       |  2 +-
 .../Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf       |  2 +-
 .../Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf |  9 +--------
 .../Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf       |  9 +--------
 .../Acpi/Common/AcpiSratLib/AcpiSratLib.inf       |  2 +-
 .../AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf |  6 ++++--
 .../Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf   |  2 +-
 .../AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf   |  6 ++++--
 11 files changed, 23 insertions(+), 48 deletions(-)

diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
index f7b7c1c025a6..32dcd20c082b 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x00010019
-  BASE_NAME      = AcpiDbg2LibArm
+  BASE_NAME      = AcpiDbg2Lib
   FILE_GUID      = A17BA4F0-3DEB-4FE5-BD27-EC008E541B22
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
@@ -19,16 +19,20 @@ [Defines]
 [Sources]
   Dbg2Generator.c
 
+[Packages.ARM, Packages.AARCH64]
+  ArmPlatformPkg/ArmPlatformPkg.dec
+
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
   DynamicTablesPkg/DynamicTablesPkg.dec
 
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+  PL011UartLib
+
 [LibraryClasses]
   BaseLib
-  PL011UartLib
   SsdtSerialPortFixupLib
 
 [FixedPcd]
@@ -36,8 +40,3 @@ [FixedPcd]
   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits
   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
-
-[Protocols]
-
-[Guids]
-
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
index 8fe34013d420..c9cd850faac0 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x00010019
-  BASE_NAME      = AcpiFadtLibArm
+  BASE_NAME      = AcpiFadtLib
   FILE_GUID      = 686FE5FE-B944-485F-8B1C-7D60E0056487
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
@@ -27,10 +27,3 @@ [Packages]
 
 [LibraryClasses]
   BaseLib
-
-[Pcd]
-
-[Protocols]
-
-[Guids]
-
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
index 1c7f085274e6..36c343d3875a 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x00010019
-  BASE_NAME      = AcpiMcfgLibArm
+  BASE_NAME      = AcpiMcfgLib
   FILE_GUID      = 8C9BDCB2-72D4-4F30-A12D-1145C3807FF7
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
@@ -27,10 +27,3 @@ [Packages]
 
 [LibraryClasses]
   BaseLib
-
-[Pcd]
-
-[Protocols]
-
-[Guids]
-
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf
index da54585c2dd9..666bdcab2225 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/AcpiPcctLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x0001001B
-  BASE_NAME      = AcpiPcctLibArm
+  BASE_NAME      = AcpiPcctLib
   FILE_GUID      = 38FE945C-D6ED-4CD6-8D20-FCEF3260D15A
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf
index 2c7d19513d6c..a1c91a6eab74 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/AcpiPpttLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x0001001B
-  BASE_NAME      = AcpiPpttLibArm
+  BASE_NAME      = AcpiPpttLib
   FILE_GUID      = FA102D52-5A92-4F95-A097-1D53F9CF5959
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf
index f2ab1b7111fb..8b461ea05b86 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiRawLib/AcpiRawLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x00010019
-  BASE_NAME      = AcpiRawLibArm
+  BASE_NAME      = AcpiRawLib
   FILE_GUID      = 20F31568-D687-49BA-B326-CCD9D38EDE16
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
@@ -27,10 +27,3 @@ [Packages]
 
 [LibraryClasses]
   BaseLib
-
-[Pcd]
-
-[Protocols]
-
-[Guids]
-
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf
index e11f878ec83e..80a61022da48 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/AcpiSpcrLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x00010019
-  BASE_NAME      = AcpiSpcrLibArm
+  BASE_NAME      = AcpiSpcrLib
   FILE_GUID      = 55088136-7B78-4974-B1EE-F630150D0DE7
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
@@ -28,10 +28,3 @@ [Packages]
 [LibraryClasses]
   BaseLib
   SsdtSerialPortFixupLib
-
-[Pcd]
-
-[Protocols]
-
-[Guids]
-
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
index 5891dc4d1c7c..2f23f4e668e5 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x0001001B
-  BASE_NAME      = AcpiSratLibArm
+  BASE_NAME      = AcpiSratLib
   FILE_GUID      = 2CE21E0A-A39C-4B26-BC0E-526178036ACD
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
index 3e2d15474980..2d38fb30fb09 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x0001001B
-  BASE_NAME      = SsdtCpuTopologyLibArm
+  BASE_NAME      = SsdtCpuTopologyLib
   FILE_GUID      = F2835EB6-4B05-48D4-A475-147DA0F3755C
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
@@ -20,11 +20,13 @@ [Sources]
   SsdtCpuTopologyGenerator.c
   SsdtCpuTopologyGenerator.h
 
+[Packages.ARM, Packages.AARCH64]
+  ArmPlatformPkg/ArmPlatformPkg.dec
+
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
   DynamicTablesPkg/DynamicTablesPkg.dec
 
 [LibraryClasses]
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
index c2a1acb57066..440b0d721214 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x0001001B
-  BASE_NAME      = SsdtPcieLibArm
+  BASE_NAME      = SsdtPcieLib
   FILE_GUID      = E431D7FD-26BF-4E3D-9064-5B13B0439057
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf
index 36e61ea9b132..24d7db5645c1 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf
@@ -8,7 +8,7 @@
 
 [Defines]
   INF_VERSION    = 0x0001001B
-  BASE_NAME      = SsdtSerialPortLibArm
+  BASE_NAME      = SsdtSerialPortLib
   FILE_GUID      = D1F92325-2DFB-435C-9B4C-A6B864F19230
   VERSION_STRING = 1.0
   MODULE_TYPE    = DXE_DRIVER
@@ -19,11 +19,13 @@ [Defines]
 [Sources]
   SsdtSerialPortGenerator.c
 
+[Packages.ARM, Packages.AARCH64]
+  ArmPlatformPkg/ArmPlatformPkg.dec
+
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
   DynamicTablesPkg/DynamicTablesPkg.dec
 
 [LibraryClasses]
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 04/20] DynamicTablesPkg: Rename ArmNameSpaceObjects to ArchNameSpaceObjects
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (2 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 03/20] DynamicTablesPkg: Update ACPI common libraries BASE_NAME Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 05/20] DynamicTablesPkg: DynamicPlatRepoLib: Rename ArmObjList as ArchObjList Sunil V L
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

Currently, ArmNameSpaceObjects defines information which is ARM specific
as well as common across architectures. There may be few more
architecture specific information for each architecture. Creating
multiple Namespace object types for each architecture and one for
common seems to be overkill and doesn't help much is memory
requirements. So, just rename the current ArmNameSpaceObjects to
ArchNameSpaceObjects so that any architecture can make use of these
definitions.

Since the change affects multiple files and platforms, the patch is
quite big. But if the approach is fine, this can be split into multiple
patches according to driver/module/platform.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../KvmtoolCfgMgrDxe/ConfigurationManager.h   |  10 +-
 ...eSpaceObjects.h => ArchNameSpaceObjects.h} | 428 ++++++++--------
 .../Include/ConfigurationManagerObject.h      |   4 +-
 .../Include/Library/SsdtPcieSupportLib.h      |  12 +-
 .../Include/Library/SsdtSerialPortFixupLib.h  |   8 +-
 .../Acpi/Common/AcpiPcctLib/PcctGenerator.h   |   4 +-
 .../SsdtCpuTopologyGenerator.h                |  30 +-
 .../DynamicPlatRepoInternal.h                 |   4 +-
 .../Arm/BootArch/ArmBootArchParser.h          |   6 +-
 .../Arm/GenericTimer/ArmGenericTimerParser.h  |   6 +-
 .../Arm/Gic/ArmGicCParser.h                   |   6 +-
 .../Arm/Gic/ArmGicDParser.h                   |   6 +-
 .../Arm/Gic/ArmGicDispatcher.h                |   6 +-
 .../Arm/Gic/ArmGicItsParser.h                 |   6 +-
 .../Arm/Gic/ArmGicMsiFrameParser.h            |   6 +-
 .../Arm/Gic/ArmGicRParser.h                   |   6 +-
 .../FdtHwInfoParserLib/CmObjectDescUtility.h  |   6 +-
 .../Pci/ArmPciConfigSpaceParser.h             |  20 +-
 .../Serial/ArmSerialPortParser.h              |   8 +-
 .../KvmtoolCfgMgrDxe/ConfigurationManager.c   |  18 +-
 .../Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c   |  54 +--
 .../Acpi/Arm/AcpiIortLibArm/IortGenerator.c   | 160 +++---
 .../Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c   | 114 ++---
 .../SsdtCmn600Generator.c                     |  32 +-
 .../Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c   |  12 +-
 .../Acpi/Common/AcpiFadtLib/FadtGenerator.c   |  48 +-
 .../Acpi/Common/AcpiMcfgLib/McfgGenerator.c   |  20 +-
 .../Acpi/Common/AcpiPcctLib/PcctGenerator.c   | 136 +++---
 .../Acpi/Common/AcpiPpttLib/PpttGenerator.c   |  78 +--
 .../Acpi/Common/AcpiSpcrLib/SpcrGenerator.c   |  10 +-
 .../Acpi/Common/AcpiSratLib/SratGenerator.c   |  70 +--
 .../SsdtCpuTopologyGenerator.c                | 122 ++---
 .../AcpiSsdtPcieLib/SsdtPcieGenerator.c       | 104 ++--
 .../SsdtSerialPortGenerator.c                 |  10 +-
 .../DynamicPlatRepoLib/CmObjectTokenFixer.c   |  20 +-
 .../DynamicPlatRepoLib/DynamicPlatRepo.c      |  42 +-
 .../Common/DynamicPlatRepoLib/TokenMapper.c   |   6 +-
 .../SsdtPcieSupportLib/SsdtPcieSupportLib.c   |  12 +-
 .../SsdtSerialPortFixupLib.c                  |  38 +-
 .../ConfigurationManagerObjectParser.c        | 458 +++++++++---------
 .../Arm/BootArch/ArmBootArchParser.c          |  18 +-
 .../Arm/GenericTimer/ArmGenericTimerParser.c  |  32 +-
 .../Arm/Gic/ArmGicCParser.c                   | 116 ++---
 .../Arm/Gic/ArmGicDParser.c                   |  26 +-
 .../Arm/Gic/ArmGicDispatcher.c                |   6 +-
 .../Arm/Gic/ArmGicItsParser.c                 |  36 +-
 .../Arm/Gic/ArmGicMsiFrameParser.c            |  28 +-
 .../Arm/Gic/ArmGicRParser.c                   |  32 +-
 .../FdtHwInfoParserLib/CmObjectDescUtility.c  |  10 +-
 .../Pci/ArmPciConfigSpaceParser.c             |  52 +-
 .../Serial/ArmSerialPortParser.c              |  76 +--
 51 files changed, 1289 insertions(+), 1289 deletions(-)
 rename DynamicTablesPkg/Include/{ArmNameSpaceObjects.h => ArchNameSpaceObjects.h} (72%)

diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
index 3373948bc4eb..1764f0612798 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
@@ -83,27 +83,27 @@ typedef struct PlatformRepositoryInfo {
   ///
   /// Power management profile information
   ///
-  CM_ARM_POWER_MANAGEMENT_PROFILE_INFO     PmProfileInfo;
+  CM_ARCH_POWER_MANAGEMENT_PROFILE_INFO    PmProfileInfo;
 
   ///
   /// ITS Group node
   ///
-  CM_ARM_ITS_GROUP_NODE                    ItsGroupInfo;
+  CM_ARCH_ITS_GROUP_NODE                   ItsGroupInfo;
 
   ///
   /// ITS Identifier array
   ///
-  CM_ARM_ITS_IDENTIFIER                    ItsIdentifierArray[1];
+  CM_ARCH_ITS_IDENTIFIER                   ItsIdentifierArray[1];
 
   ///
   /// PCI Root complex node
   ///
-  CM_ARM_ROOT_COMPLEX_NODE                 RootComplexInfo;
+  CM_ARCH_ROOT_COMPLEX_NODE                RootComplexInfo;
 
   ///
   /// Array of DeviceID mapping
   ///
-  CM_ARM_ID_MAPPING                        DeviceIdMapping[1];
+  CM_ARCH_ID_MAPPING                       DeviceIdMapping[1];
 
   ///
   /// Dynamic platform repository.
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchNameSpaceObjects.h
similarity index 72%
rename from DynamicTablesPkg/Include/ArmNameSpaceObjects.h
rename to DynamicTablesPkg/Include/ArchNameSpaceObjects.h
index 8c00bdac20bb..5d1f33411949 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArchNameSpaceObjects.h
@@ -10,101 +10,101 @@
     - Std or STD - Standard
 **/
 
-#ifndef ARM_NAMESPACE_OBJECTS_H_
-#define ARM_NAMESPACE_OBJECTS_H_
+#ifndef ARCH_NAMESPACE_OBJECTS_H_
+#define ARCH_NAMESPACE_OBJECTS_H_
 
 #include <AmlCpcInfo.h>
 #include <StandardNameSpaceObjects.h>
 
 #pragma pack(1)
 
-/** The EARM_OBJECT_ID enum describes the Object IDs
-    in the ARM Namespace
+/** The EARCH_OBJECT_ID enum describes the Object IDs
+    in the ARCH Namespace
 */
-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
-  EArmObjMax
-} EARM_OBJECT_ID;
+typedef enum ArchObjectID {
+  EArchObjReserved,                                             ///<  0 - Reserved
+  EArchObjBootArchInfo,                                         ///<  1 - Boot Architecture Info
+  EArchObjCpuInfo,                                              ///<  2 - CPU Info
+  EArchObjPowerManagementProfileInfo,                           ///<  3 - Power Management Profile Info
+  EArchObjGicCInfo,                                             ///<  4 - GIC CPU Interface Info
+  EArchObjGicDInfo,                                             ///<  5 - GIC Distributor Info
+  EArchObjGicMsiFrameInfo,                                      ///<  6 - GIC MSI Frame Info
+  EArchObjGicRedistributorInfo,                                 ///<  7 - GIC Redistributor Info
+  EArchObjGicItsInfo,                                           ///<  8 - GIC ITS Info
+  EArchObjSerialConsolePortInfo,                                ///<  9 - Serial Console Port Info
+  EArchObjSerialDebugPortInfo,                                  ///< 10 - Serial Debug Port Info
+  EArchObjGenericTimerInfo,                                     ///< 11 - Generic Timer Info
+  EArchObjPlatformGTBlockInfo,                                  ///< 12 - Platform GT Block Info
+  EArchObjGTBlockTimerFrameInfo,                                ///< 13 - Generic Timer Block Frame Info
+  EArchObjPlatformGenericWatchdogInfo,                          ///< 14 - Platform Generic Watchdog
+  EArchObjPciConfigSpaceInfo,                                   ///< 15 - PCI Configuration Space Info
+  EArchObjHypervisorVendorIdentity,                             ///< 16 - Hypervisor Vendor Id
+  EArchObjFixedFeatureFlags,                                    ///< 17 - Fixed feature flags for FADT
+  EArchObjItsGroup,                                             ///< 18 - ITS Group
+  EArchObjNamedComponent,                                       ///< 19 - Named Component
+  EArchObjRootComplex,                                          ///< 20 - Root Complex
+  EArchObjSmmuV1SmmuV2,                                         ///< 21 - SMMUv1 or SMMUv2
+  EArchObjSmmuV3,                                               ///< 22 - SMMUv3
+  EArchObjPmcg,                                                 ///< 23 - PMCG
+  EArchObjGicItsIdentifierArray,                                ///< 24 - GIC ITS Identifier Array
+  EArchObjIdMappingArray,                                       ///< 25 - ID Mapping Array
+  EArchObjSmmuInterruptArray,                                   ///< 26 - SMMU Interrupt Array
+  EArchObjProcHierarchyInfo,                                    ///< 27 - Processor Hierarchy Info
+  EArchObjCacheInfo,                                            ///< 28 - Cache Info
+  EArchObjReserved29,                                           ///< 29 - Reserved
+  EArchObjCmRef,                                                ///< 30 - CM Object Reference
+  EArchObjMemoryAffinityInfo,                                   ///< 31 - Memory Affinity Info
+  EArchObjDeviceHandleAcpi,                                     ///< 32 - Device Handle Acpi
+  EArchObjDeviceHandlePci,                                      ///< 33 - Device Handle Pci
+  EArchObjGenericInitiatorAffinityInfo,                         ///< 34 - Generic Initiator Affinity
+  EArchObjSerialPortInfo,                                       ///< 35 - Generic Serial Port Info
+  EArchObjCmn600Info,                                           ///< 36 - CMN-600 Info
+  EArchObjLpiInfo,                                              ///< 37 - Lpi Info
+  EArchObjPciAddressMapInfo,                                    ///< 38 - Pci Address Map Info
+  EArchObjPciInterruptMapInfo,                                  ///< 39 - Pci Interrupt Map Info
+  EArchObjRmr,                                                  ///< 40 - Reserved Memory Range Node
+  EArchObjMemoryRangeDescriptor,                                ///< 41 - Memory Range Descriptor
+  EArchObjCpcInfo,                                              ///< 42 - Continuous Performance Control Info
+  EArchObjPccSubspaceType0Info,                                 ///< 43 - Pcc Subspace Type 0 Info
+  EArchObjPccSubspaceType1Info,                                 ///< 44 - Pcc Subspace Type 2 Info
+  EArchObjPccSubspaceType2Info,                                 ///< 45 - Pcc Subspace Type 2 Info
+  EArchObjPccSubspaceType3Info,                                 ///< 46 - Pcc Subspace Type 3 Info
+  EArchObjPccSubspaceType4Info,                                 ///< 47 - Pcc Subspace Type 4 Info
+  EArchObjPccSubspaceType5Info,                                 ///< 48 - Pcc Subspace Type 5 Info
+  EArchObjEtInfo,                                               ///< 49 - Embedded Trace Extension/Module Info
+  EArchObjMax
+} EARCH_OBJECT_ID;
 
 /** A structure that describes the
     ARM Boot Architecture flags.
 
-    ID: EArmObjBootArchInfo
+    ID: EArchObjBootArchInfo
 */
-typedef struct CmArmBootArchInfo {
+typedef struct CmArchBootArchInfo {
   /** This is the ARM_BOOT_ARCH flags field of the FADT Table
       described in the ACPI Table Specification.
   */
   UINT16    BootArchFlags;
-} CM_ARM_BOOT_ARCH_INFO;
+} CM_ARCH_BOOT_ARCH_INFO;
 
 /** A structure that describes the
     Power Management Profile Information for the Platform.
 
-    ID: EArmObjPowerManagementProfileInfo
+    ID: EArchObjPowerManagementProfileInfo
 */
-typedef struct CmArmPowerManagementProfileInfo {
+typedef struct CmArchPowerManagementProfileInfo {
   /** This is the Preferred_PM_Profile field of the FADT Table
       described in the ACPI Specification
   */
   UINT8    PowerManagementProfile;
-} CM_ARM_POWER_MANAGEMENT_PROFILE_INFO;
+} CM_ARCH_POWER_MANAGEMENT_PROFILE_INFO;
 
 /** A structure that describes the
     GIC CPU Interface for the Platform.
 
-    ID: EArmObjGicCInfo
+    ID: EArchObjGicCInfo
 */
-typedef struct CmArmGicCInfo {
+typedef struct CmArchGicCInfo {
   /// The GIC CPU Interface number.
   UINT32             CPUInterfaceNumber;
 
@@ -201,7 +201,7 @@ typedef struct CmArmGicCInfo {
   UINT32             AffinityFlags;
 
   /** Optional field: Reference Token for the Cpc info of this processor.
-      i.e. a token referencing a CM_ARM_CPC_INFO object.
+      i.e. a token referencing a CM_ARCH_CPC_INFO object.
   */
   CM_OBJECT_TOKEN    CpcToken;
 
@@ -214,17 +214,17 @@ typedef struct CmArmGicCInfo {
 
   /** Optional field: Reference Token for the Embedded Trace device info for
       this processing element.
-      i.e. a token referencing a CM_ARM_ET_INFO object.
+      i.e. a token referencing a CM_ARCH_ET_INFO object.
   */
   CM_OBJECT_TOKEN    EtToken;
-} CM_ARM_GICC_INFO;
+} CM_ARCH_GICC_INFO;
 
 /** A structure that describes the
     GIC Distributor information for the Platform.
 
-    ID: EArmObjGicDInfo
+    ID: EArchObjGicDInfo
 */
-typedef struct CmArmGicDInfo {
+typedef struct CmArchGicDInfo {
   /// The Physical Base address for the GIC Distributor.
   UINT64    PhysicalBaseAddress;
 
@@ -239,14 +239,14 @@ typedef struct CmArmGicDInfo {
       ACPI Specification.
   */
   UINT8     GicVersion;
-} CM_ARM_GICD_INFO;
+} CM_ARCH_GICD_INFO;
 
 /** A structure that describes the
     GIC MSI Frame information for the Platform.
 
-    ID: EArmObjGicMsiFrameInfo
+    ID: EArchObjGicMsiFrameInfo
 */
-typedef struct CmArmGicMsiFrameInfo {
+typedef struct CmArchGicMsiFrameInfo {
   /// The GIC MSI Frame ID
   UINT32    GicMsiFrameId;
 
@@ -264,14 +264,14 @@ typedef struct CmArmGicMsiFrameInfo {
 
   /// SPI Base used by this frame
   UINT16    SPIBase;
-} CM_ARM_GIC_MSI_FRAME_INFO;
+} CM_ARCH_GIC_MSI_FRAME_INFO;
 
 /** A structure that describes the
     GIC Redistributor information for the Platform.
 
-    ID: EArmObjGicRedistributorInfo
+    ID: EArchObjGicRedistributorInfo
 */
-typedef struct CmArmGicRedistInfo {
+typedef struct CmArchGicRedistInfo {
   /** The physical address of a page range
       containing all GIC Redistributors.
   */
@@ -279,14 +279,14 @@ typedef struct CmArmGicRedistInfo {
 
   /// Length of the GIC Redistributor Discovery page range
   UINT32    DiscoveryRangeLength;
-} CM_ARM_GIC_REDIST_INFO;
+} CM_ARCH_GIC_REDIST_INFO;
 
 /** A structure that describes the
     GIC Interrupt Translation Service information for the Platform.
 
-    ID: EArmObjGicItsInfo
+    ID: EArchObjGicItsInfo
 */
-typedef struct CmArmGicItsInfo {
+typedef struct CmArchGicItsInfo {
   /// The GIC ITS ID
   UINT32    GicItsId;
 
@@ -298,16 +298,16 @@ typedef struct CmArmGicItsInfo {
       in the SRAT table.
   */
   UINT32    ProximityDomain;
-} CM_ARM_GIC_ITS_INFO;
+} CM_ARCH_GIC_ITS_INFO;
 
 /** A structure that describes the
     Serial Port information for the Platform.
 
-    ID: EArmObjSerialConsolePortInfo or
-        EArmObjSerialDebugPortInfo or
-        EArmObjSerialPortInfo
+    ID: EArchObjSerialConsolePortInfo or
+        EArchObjSerialDebugPortInfo or
+        EArchObjSerialPortInfo
 */
-typedef struct CmArmSerialPortInfo {
+typedef struct CmArchSerialPortInfo {
   /// The physical base address for the serial port
   UINT64    BaseAddress;
 
@@ -328,14 +328,14 @@ typedef struct CmArmSerialPortInfo {
 
   /// The access size
   UINT8     AccessSize;
-} CM_ARM_SERIAL_PORT_INFO;
+} CM_ARCH_SERIAL_PORT_INFO;
 
 /** A structure that describes the
     Generic Timer information for the Platform.
 
-    ID: EArmObjGenericTimerInfo
+    ID: EArchObjGenericTimerInfo
 */
-typedef struct CmArmGenericTimerInfo {
+typedef struct CmArchGenericTimerInfo {
   /// The physical base address for the counter control frame
   UINT64    CounterControlBaseAddress;
 
@@ -371,14 +371,14 @@ typedef struct CmArmGenericTimerInfo {
 
   /// Flags for the virtual EL2 timer
   UINT32    VirtualPL2TimerFlags;
-} CM_ARM_GENERIC_TIMER_INFO;
+} CM_ARCH_GENERIC_TIMER_INFO;
 
 /** A structure that describes the
     Platform Generic Block Timer information for the Platform.
 
-    ID: EArmObjPlatformGTBlockInfo
+    ID: EArchObjPlatformGTBlockInfo
 */
-typedef struct CmArmGTBlockInfo {
+typedef struct CmArchGTBlockInfo {
   /// The physical base address for the GT Block Timer structure
   UINT64             GTBlockPhysicalAddress;
 
@@ -387,14 +387,14 @@ typedef struct CmArmGTBlockInfo {
 
   /// Reference token for the GT Block timer frame list
   CM_OBJECT_TOKEN    GTBlockTimerFrameToken;
-} CM_ARM_GTBLOCK_INFO;
+} CM_ARCH_GTBLOCK_INFO;
 
 /** A structure that describes the
     Platform Generic Block Timer Frame information for the Platform.
 
-    ID: EArmObjGTBlockTimerFrameInfo
+    ID: EArchObjGTBlockTimerFrameInfo
 */
-typedef struct CmArmGTBlockTimerFrameInfo {
+typedef struct CmArchGTBlockTimerFrameInfo {
   /// The Generic Timer frame number
   UINT8     FrameNumber;
 
@@ -424,14 +424,14 @@ typedef struct CmArmGTBlockTimerFrameInfo {
       Timer frame Structure in the ACPI Specification.
   */
   UINT32    CommonFlags;
-} CM_ARM_GTBLOCK_TIMER_FRAME_INFO;
+} CM_ARCH_GTBLOCK_TIMER_FRAME_INFO;
 
 /** A structure that describes the
     Arm Generic Watchdog information for the Platform.
 
-    ID: EArmObjPlatformGenericWatchdogInfo
+    ID: EArchObjPlatformGenericWatchdogInfo
 */
-typedef struct CmArmGenericWatchdogInfo {
+typedef struct CmArchGenericWatchdogInfo {
   /// The physical base address of the Arm Watchdog control frame
   UINT64    ControlFrameAddress;
 
@@ -445,14 +445,14 @@ typedef struct CmArmGenericWatchdogInfo {
       structure in the ACPI specification.
   */
   UINT32    Flags;
-} CM_ARM_GENERIC_WATCHDOG_INFO;
+} CM_ARCH_GENERIC_WATCHDOG_INFO;
 
 /** A structure that describes the
     PCI Configuration Space information for the Platform.
 
-    ID: EArmObjPciConfigSpaceInfo
+    ID: EArchObjPciConfigSpaceInfo
 */
-typedef struct CmArmPciConfigSpaceInfo {
+typedef struct CmArchPciConfigSpaceInfo {
   /// The physical base address for the PCI segment
   UINT64             BaseAddress;
 
@@ -466,40 +466,40 @@ typedef struct CmArmPciConfigSpaceInfo {
   UINT8              EndBusNumber;
 
   /// Optional field: Reference Token for address mapping.
-  /// Token identifying a CM_ARM_OBJ_REF structure.
+  /// Token identifying a CM_ARCH_OBJ_REF structure.
   CM_OBJECT_TOKEN    AddressMapToken;
 
   /// Optional field: Reference Token for interrupt mapping.
-  /// Token identifying a CM_ARM_OBJ_REF structure.
+  /// Token identifying a CM_ARCH_OBJ_REF structure.
   CM_OBJECT_TOKEN    InterruptMapToken;
-} CM_ARM_PCI_CONFIG_SPACE_INFO;
+} CM_ARCH_PCI_CONFIG_SPACE_INFO;
 
 /** A structure that describes the
     Hypervisor Vendor ID information for the Platform.
 
-    ID: EArmObjHypervisorVendorIdentity
+    ID: EArchObjHypervisorVendorIdentity
 */
-typedef struct CmArmHypervisorVendorId {
+typedef struct CmArchHypervisorVendorId {
   /// The hypervisor Vendor ID
   UINT64    HypervisorVendorId;
-} CM_ARM_HYPERVISOR_VENDOR_ID;
+} CM_ARCH_HYPERVISOR_VENDOR_ID;
 
 /** A structure that describes the
     Fixed feature flags for the Platform.
 
-    ID: EArmObjFixedFeatureFlags
+    ID: EArchObjFixedFeatureFlags
 */
-typedef struct CmArmFixedFeatureFlags {
+typedef struct CmArchFixedFeatureFlags {
   /// The Fixed feature flags
   UINT32    Flags;
-} CM_ARM_FIXED_FEATURE_FLAGS;
+} CM_ARCH_FIXED_FEATURE_FLAGS;
 
 /** A structure that describes the
     ITS Group node for the Platform.
 
-    ID: EArmObjItsGroup
+    ID: EArchObjItsGroup
 */
-typedef struct CmArmItsGroupNode {
+typedef struct CmArchItsGroupNode {
   /// An unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// The number of ITS identifiers in the ITS node
@@ -509,14 +509,14 @@ typedef struct CmArmItsGroupNode {
 
   /// Unique identifier for this node.
   UINT32             Identifier;
-} CM_ARM_ITS_GROUP_NODE;
+} CM_ARCH_ITS_GROUP_NODE;
 
 /** A structure that describes the
     Named component node for the Platform.
 
-    ID: EArmObjNamedComponent
+    ID: EArchObjNamedComponent
 */
-typedef struct CmArmNamedComponentNode {
+typedef struct CmArchNamedComponentNode {
   /// An unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Number of ID mappings
@@ -544,14 +544,14 @@ typedef struct CmArmNamedComponentNode {
 
   /// Unique identifier for this node.
   UINT32             Identifier;
-} CM_ARM_NAMED_COMPONENT_NODE;
+} CM_ARCH_NAMED_COMPONENT_NODE;
 
 /** A structure that describes the
     Root complex node for the Platform.
 
-    ID: EArmObjRootComplex
+    ID: EArchObjRootComplex
 */
-typedef struct CmArmRootComplexNode {
+typedef struct CmArchRootComplexNode {
   /// An unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Number of ID mappings
@@ -579,14 +579,14 @@ typedef struct CmArmRootComplexNode {
 
   /// Unique identifier for this node.
   UINT32             Identifier;
-} CM_ARM_ROOT_COMPLEX_NODE;
+} CM_ARCH_ROOT_COMPLEX_NODE;
 
 /** A structure that describes the
     SMMUv1 or SMMUv2 node for the Platform.
 
-    ID: EArmObjSmmuV1SmmuV2
+    ID: EArchObjSmmuV1SmmuV2
 */
-typedef struct CmArmSmmuV1SmmuV2Node {
+typedef struct CmArchSmmuV1SmmuV2Node {
   /// An unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Number of ID mappings
@@ -624,14 +624,14 @@ typedef struct CmArmSmmuV1SmmuV2Node {
 
   /// Unique identifier for this node.
   UINT32             Identifier;
-} CM_ARM_SMMUV1_SMMUV2_NODE;
+} CM_ARCH_SMMUV1_SMMUV2_NODE;
 
 /** A structure that describes the
     SMMUv3 node for the Platform.
 
-    ID: EArmObjSmmuV3
+    ID: EArchObjSmmuV3
 */
-typedef struct CmArmSmmuV3Node {
+typedef struct CmArchSmmuV3Node {
   /// An unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Number of ID mappings
@@ -663,14 +663,14 @@ typedef struct CmArmSmmuV3Node {
 
   /// Unique identifier for this node.
   UINT32             Identifier;
-} CM_ARM_SMMUV3_NODE;
+} CM_ARCH_SMMUV3_NODE;
 
 /** A structure that describes the
     PMCG node for the Platform.
 
-    ID: EArmObjPmcg
+    ID: EArchObjPmcg
 */
-typedef struct CmArmPmcgNode {
+typedef struct CmArchPmcgNode {
   /// An unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Number of ID mappings
@@ -690,24 +690,24 @@ typedef struct CmArmPmcgNode {
 
   /// Unique identifier for this node.
   UINT32             Identifier;
-} CM_ARM_PMCG_NODE;
+} CM_ARCH_PMCG_NODE;
 
 /** A structure that describes the
     GIC ITS Identifiers for an ITS Group node.
 
-    ID: EArmObjGicItsIdentifierArray
+    ID: EArchObjGicItsIdentifierArray
 */
-typedef struct CmArmGicItsIdentifier {
+typedef struct CmArchGicItsIdentifier {
   /// The ITS Identifier
   UINT32    ItsId;
-} CM_ARM_ITS_IDENTIFIER;
+} CM_ARCH_ITS_IDENTIFIER;
 
 /** A structure that describes the
     ID Mappings for the Platform.
 
-    ID: EArmObjIdMappingArray
+    ID: EArchObjIdMappingArray
 */
-typedef struct CmArmIdMapping {
+typedef struct CmArchIdMapping {
   /// Input base
   UINT32             InputBase;
   /// Number of input IDs
@@ -718,12 +718,12 @@ typedef struct CmArmIdMapping {
   CM_OBJECT_TOKEN    OutputReferenceToken;
   /// Flags
   UINT32             Flags;
-} CM_ARM_ID_MAPPING;
+} CM_ARCH_ID_MAPPING;
 
 /** A structure that describes the Arm
     Generic Interrupts.
 */
-typedef struct CmArmGenericInterrupt {
+typedef struct CmArchGenericInterrupt {
   /// Interrupt number
   UINT32    Interrupt;
 
@@ -733,16 +733,16 @@ typedef struct CmArmGenericInterrupt {
   /// BIT1: 0: Interrupt is Active high
   ///       1: Interrupt is Active low
   UINT32    Flags;
-} CM_ARM_GENERIC_INTERRUPT;
+} CM_ARCH_GENERIC_INTERRUPT;
 
 /** A structure that describes the SMMU interrupts for the Platform.
 
     Interrupt   Interrupt number.
     Flags       Interrupt flags as defined for SMMU node.
 
-    ID: EArmObjSmmuInterruptArray
+    ID: EArchObjSmmuInterruptArray
 */
-typedef CM_ARM_GENERIC_INTERRUPT CM_ARM_SMMU_INTERRUPT;
+typedef CM_ARCH_GENERIC_INTERRUPT CM_ARCH_SMMU_INTERRUPT;
 
 /** A structure that describes the AML Extended Interrupts.
 
@@ -752,21 +752,21 @@ typedef CM_ARM_GENERIC_INTERRUPT CM_ARM_SMMU_INTERRUPT;
                 resource descriptor.
                 See EFI_ACPI_EXTENDED_INTERRUPT_FLAG_xxx in Acpi10.h
 */
-typedef CM_ARM_GENERIC_INTERRUPT CM_ARM_EXTENDED_INTERRUPT;
+typedef CM_ARCH_GENERIC_INTERRUPT CM_ARCH_EXTENDED_INTERRUPT;
 
 /** A structure that describes the Processor Hierarchy Node (Type 0) in PPTT
 
-    ID: EArmObjProcHierarchyInfo
+    ID: EArchObjProcHierarchyInfo
 */
-typedef struct CmArmProcHierarchyInfo {
+typedef struct CmArchProcHierarchyInfo {
   /// A unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Processor structure flags (ACPI 6.3 - January 2019, PPTT, Table 5-155)
   UINT32             Flags;
-  /// Token for the parent CM_ARM_PROC_HIERARCHY_INFO object in the processor
+  /// Token for the parent CM_ARCH_PROC_HIERARCHY_INFO object in the processor
   /// topology. A value of CM_NULL_TOKEN means this node has no parent.
   CM_OBJECT_TOKEN    ParentToken;
-  /// Token of the associated CM_ARM_GICC_INFO object which has the
+  /// Token of the associated CM_ARCH_GICC_INFO object which has the
   /// corresponding ACPI Processor ID. A value of CM_NULL_TOKEN means this
   /// node represents a group of associated processors and it does not have an
   /// associated GIC CPU interface.
@@ -774,13 +774,13 @@ typedef struct CmArmProcHierarchyInfo {
   /// Number of resources private to this Node
   UINT32             NoOfPrivateResources;
   /// Token of the array which contains references to the resources private to
-  /// this CM_ARM_PROC_HIERARCHY_INFO instance. This field is ignored if
+  /// this CM_ARCH_PROC_HIERARCHY_INFO instance. This field is ignored if
   /// the NoOfPrivateResources is 0, in which case it is recommended to set
   /// this field to CM_NULL_TOKEN.
   CM_OBJECT_TOKEN    PrivateResourcesArrayToken;
   /// Optional field: Reference Token for the Lpi state of this processor.
-  /// Token identifying a CM_ARM_OBJ_REF structure, itself referencing
-  /// CM_ARM_LPI_INFO objects.
+  /// Token identifying a CM_ARCH_OBJ_REF structure, itself referencing
+  /// CM_ARCH_LPI_INFO objects.
   CM_OBJECT_TOKEN    LpiToken;
   /// Set to TRUE if UID should override index for name and _UID
   /// for processor container nodes and name of processors.
@@ -793,17 +793,17 @@ typedef struct CmArmProcHierarchyInfo {
   /// If OverrideNameUidEnabled is TRUE then this value will be used for
   /// the UID of processor containers.
   UINT32             OverrideUid;
-} CM_ARM_PROC_HIERARCHY_INFO;
+} CM_ARCH_PROC_HIERARCHY_INFO;
 
 /** A structure that describes the Cache Type Structure (Type 1) in PPTT
 
-    ID: EArmObjCacheInfo
+    ID: EArchObjCacheInfo
 */
-typedef struct CmArmCacheInfo {
+typedef struct CmArchCacheInfo {
   /// A unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Reference token for the next level of cache that is private to the same
-  /// CM_ARM_PROC_HIERARCHY_INFO instance. A value of CM_NULL_TOKEN means this
+  /// CM_ARCH_PROC_HIERARCHY_INFO instance. A value of CM_NULL_TOKEN means this
   /// entry represents the last cache level appropriate to the processor
   /// hierarchy node structures using this entry.
   CM_OBJECT_TOKEN    NextLevelOfCacheToken;
@@ -823,29 +823,29 @@ typedef struct CmArmCacheInfo {
   UINT16             LineSize;
   /// Unique ID for the cache
   UINT32             CacheId;
-} CM_ARM_CACHE_INFO;
+} CM_ARCH_CACHE_INFO;
 
 /** A structure that describes a reference to another Configuration Manager
     object.
 
     This is useful for creating an array of reference tokens. The framework
     can then query the configuration manager for these arrays using the
-    object ID EArmObjCmRef.
+    object ID EArchObjCmRef.
 
     This can be used is to represent one-to-many relationships between objects.
 
-    ID: EArmObjCmRef
+    ID: EArchObjCmRef
 */
-typedef struct CmArmObjRef {
+typedef struct CmArchObjRef {
   /// Token of the CM object being referenced
   CM_OBJECT_TOKEN    ReferenceToken;
-} CM_ARM_OBJ_REF;
+} CM_ARCH_OBJ_REF;
 
 /** A structure that describes the Memory Affinity Structure (Type 1) in SRAT
 
-    ID: EArmObjMemoryAffinityInfo
+    ID: EArchObjMemoryAffinityInfo
 */
-typedef struct CmArmMemoryAffinityInfo {
+typedef struct CmArchMemoryAffinityInfo {
   /// The proximity domain to which the "range of memory" belongs.
   UINT32    ProximityDomain;
 
@@ -857,27 +857,27 @@ typedef struct CmArmMemoryAffinityInfo {
 
   /// Flags
   UINT32    Flags;
-} CM_ARM_MEMORY_AFFINITY_INFO;
+} CM_ARCH_MEMORY_AFFINITY_INFO;
 
 /** A structure that describes the ACPI Device Handle (Type 0) in the
     Generic Initiator Affinity structure in SRAT
 
-    ID: EArmObjDeviceHandleAcpi
+    ID: EArchObjDeviceHandleAcpi
 */
-typedef struct CmArmDeviceHandleAcpi {
+typedef struct CmArchDeviceHandleAcpi {
   /// Hardware ID
   UINT64    Hid;
 
   /// Unique Id
   UINT32    Uid;
-} CM_ARM_DEVICE_HANDLE_ACPI;
+} CM_ARCH_DEVICE_HANDLE_ACPI;
 
 /** A structure that describes the PCI Device Handle (Type 1) in the
     Generic Initiator Affinity structure in SRAT
 
-    ID: EArmObjDeviceHandlePci
+    ID: EArchObjDeviceHandlePci
 */
-typedef struct CmArmDeviceHandlePci {
+typedef struct CmArchDeviceHandlePci {
   /// PCI Segment Number
   UINT16    SegmentNumber;
 
@@ -889,13 +889,13 @@ typedef struct CmArmDeviceHandlePci {
 
   /// PCI Function Number - Max 8 functions (Bits 2:0 of BDF)
   UINT8     FunctionNumber;
-} CM_ARM_DEVICE_HANDLE_PCI;
+} CM_ARCH_DEVICE_HANDLE_PCI;
 
 /** A structure that describes the Generic Initiator Affinity structure in SRAT
 
-    ID: EArmObjGenericInitiatorAffinityInfo
+    ID: EArchObjGenericInitiatorAffinityInfo
 */
-typedef struct CmArmGenericInitiatorAffinityInfo {
+typedef struct CmArchGenericInitiatorAffinityInfo {
   /// The proximity domain to which the generic initiator belongs.
   UINT32             ProximityDomain;
 
@@ -907,13 +907,13 @@ typedef struct CmArmGenericInitiatorAffinityInfo {
 
   /// Reference Token for the Device Handle
   CM_OBJECT_TOKEN    DeviceHandleToken;
-} CM_ARM_GENERIC_INITIATOR_AFFINITY_INFO;
+} CM_ARCH_GENERIC_INITIATOR_AFFINITY_INFO;
 
 /** A structure that describes the CMN-600 hardware.
 
-    ID: EArmObjCmn600Info
+    ID: EArchObjCmn600Info
 */
-typedef struct CmArmCmn600Info {
+typedef struct CmArchCmn600Info {
   /// The PERIPHBASE address.
   /// Corresponds to the Configuration Node Region (CFGR) base address.
   UINT64    PeriphBaseAddress;
@@ -936,19 +936,19 @@ typedef struct CmArmCmn600Info {
   /// DtcCount determines the number of DTC Interrupts that
   /// are populated. If DTC count is 2 then DtcInterrupt[2]
   /// and DtcInterrupt[3] are ignored.
-  /// Note: The size of CM_ARM_CMN_600_INFO structure remains
+  /// Note: The size of CM_ARCH_CMN_600_INFO structure remains
   /// constant and does not vary with the DTC count.
-  CM_ARM_EXTENDED_INTERRUPT    DtcInterrupt[4];
-} CM_ARM_CMN_600_INFO;
+  CM_ARCH_EXTENDED_INTERRUPT    DtcInterrupt[4];
+} CM_ARCH_CMN_600_INFO;
 
 /** A structure that describes the Lpi information.
 
   The Low Power Idle states are described in DSDT/SSDT and associated
   to cpus/clusters in the cpu topology.
 
-  ID: EArmObjLpiInfo
+  ID: EArchObjLpiInfo
 */
-typedef struct CmArmLpiInfo {
+typedef struct CmArchLpiInfo {
   /** Minimum Residency. Time in microseconds after which a
       state becomes more energy efficient than any shallower state.
   */
@@ -1002,15 +1002,15 @@ typedef struct CmArmLpiInfo {
   /** String representing the Lpi state
   */
   CHAR8                                     StateName[16];
-} CM_ARM_LPI_INFO;
+} CM_ARCH_LPI_INFO;
 
 /** A structure that describes a PCI Address Map.
 
   The memory-ranges used by the PCI bus are described by this object.
 
-  ID: EArmObjPciAddressMapInfo
+  ID: EArchObjPciAddressMapInfo
 */
-typedef struct CmArmPciAddressMapInfo {
+typedef struct CmArchPciAddressMapInfo {
   /** Pci address space code
 
   Available values are:
@@ -1029,7 +1029,7 @@ typedef struct CmArmPciAddressMapInfo {
 
   /// Address size
   UINT64    AddressSize;
-} CM_ARM_PCI_ADDRESS_MAP_INFO;
+} CM_ARCH_PCI_ADDRESS_MAP_INFO;
 
 /** A structure that describes a PCI Interrupt Map.
 
@@ -1038,9 +1038,9 @@ typedef struct CmArmPciAddressMapInfo {
   Cf Devicetree Specification - Release v0.3
   s2.4.3 "Interrupt Nexus Properties"
 
-  ID: EArmObjPciInterruptMapInfo
+  ID: EArchObjPciInterruptMapInfo
 */
-typedef struct CmArmPciInterruptMapInfo {
+typedef struct CmArchPciInterruptMapInfo {
   /// Pci Bus.
   /// Value on 8 bits (max 255).
   UINT8    PciBus;
@@ -1058,22 +1058,22 @@ typedef struct CmArmPciInterruptMapInfo {
   Device-tree bindings are shifted by 1:
       "INTA=1, INTB=2, INTC=3, INTD=4"
   */
-  UINT8                       PciInterrupt;
+  UINT8                        PciInterrupt;
 
   /** Interrupt controller interrupt.
 
   Cf Devicetree Specification - Release v0.3
   s2.4.3 "Interrupt Nexus Properties": "parent interrupt specifier"
   */
-  CM_ARM_GENERIC_INTERRUPT    IntcInterrupt;
-} CM_ARM_PCI_INTERRUPT_MAP_INFO;
+  CM_ARCH_GENERIC_INTERRUPT    IntcInterrupt;
+} CM_ARCH_PCI_INTERRUPT_MAP_INFO;
 
 /** A structure that describes the
     RMR node for the Platform.
 
-    ID: EArmObjRmr
+    ID: EArchObjRmr
 */
-typedef struct CmArmRmrNode {
+typedef struct CmArchRmrNode {
   /// An unique token used to identify this object
   CM_OBJECT_TOKEN    Token;
   /// Number of ID mappings
@@ -1091,14 +1091,14 @@ typedef struct CmArmRmrNode {
   UINT32             MemRangeDescCount;
   /// Reference token for the Memory Range descriptor array
   CM_OBJECT_TOKEN    MemRangeDescToken;
-} CM_ARM_RMR_NODE;
+} CM_ARCH_RMR_NODE;
 
 /** A structure that describes the
     Memory Range descriptor.
 
-    ID: EArmObjMemoryRangeDescriptor
+    ID: EArchObjMemoryRangeDescriptor
 */
-typedef struct CmArmRmrDescriptor {
+typedef struct CmArchRmrDescriptor {
   /// Base address of Reserved Memory Range,
   /// aligned to a page size of 64K.
   UINT64    BaseAddress;
@@ -1106,7 +1106,7 @@ typedef struct CmArmRmrDescriptor {
   /// Length of the Reserved Memory range.
   /// Must be a multiple of the page size of 64K.
   UINT64    Length;
-} CM_ARM_MEMORY_RANGE_DESCRIPTOR;
+} CM_ARCH_MEMORY_RANGE_DESCRIPTOR;
 
 /** A structure that describes the Cpc information.
 
@@ -1122,9 +1122,9 @@ typedef struct CmArmRmrDescriptor {
 
   Cf. ACPI 6.4, s8.4.7.1 _CPC (Continuous Performance Control)
 
-  ID: EArmObjCpcInfo
+  ID: EArchObjCpcInfo
 */
-typedef AML_CPC_INFO CM_ARM_CPC_INFO;
+typedef AML_CPC_INFO CM_ARCH_CPC_INFO;
 
 /** A structure that describes a
     PCC Mailbox Register.
@@ -1169,7 +1169,7 @@ typedef struct PccSubspaceChannelTimingInfo {
 /** A structure that describes a
     Generic PCC Subspace (Type 0).
 */
-typedef struct CmArmPccSubspaceGenericInfo {
+typedef struct CmArchPccSubspaceGenericInfo {
   /** Subspace Id.
 
   Cf. ACPI 6.4, s14.7 Referencing the PCC address space
@@ -1201,16 +1201,16 @@ typedef struct CmArmPccSubspaceGenericInfo {
 /** A structure that describes a
     PCC Subspace of type 0 (Generic).
 
-    ID: EArmObjPccSubspaceType0Info
+    ID: EArchObjPccSubspaceType0Info
 */
-typedef PCC_SUBSPACE_GENERIC_INFO CM_ARM_PCC_SUBSPACE_TYPE0_INFO;
+typedef PCC_SUBSPACE_GENERIC_INFO CM_ARCH_PCC_SUBSPACE_TYPE0_INFO;
 
 /** A structure that describes a
     PCC Subspace of type 1 (HW-Reduced).
 
-    ID: EArmObjPccSubspaceType1Info
+    ID: EArchObjPccSubspaceType1Info
 */
-typedef struct CmArmPccSubspaceType1Info {
+typedef struct CmArchPccSubspaceType1Info {
   /** Generic Pcc information.
 
     The Subspace of Type0 contains information that can be re-used
@@ -1219,15 +1219,15 @@ typedef struct CmArmPccSubspaceType1Info {
   PCC_SUBSPACE_GENERIC_INFO    GenericPccInfo;
 
   /// Platform Interrupt.
-  CM_ARM_GENERIC_INTERRUPT     PlatIrq;
-} CM_ARM_PCC_SUBSPACE_TYPE1_INFO;
+  CM_ARCH_GENERIC_INTERRUPT    PlatIrq;
+} CM_ARCH_PCC_SUBSPACE_TYPE1_INFO;
 
 /** A structure that describes a
     PCC Subspace of type 2 (HW-Reduced).
 
-    ID: EArmObjPccSubspaceType2Info
+    ID: EArchObjPccSubspaceType2Info
 */
-typedef struct CmArmPccSubspaceType2Info {
+typedef struct CmArchPccSubspaceType2Info {
   /** Generic Pcc information.
 
     The Subspace of Type0 contains information that can be re-used
@@ -1236,18 +1236,18 @@ typedef struct CmArmPccSubspaceType2Info {
   PCC_SUBSPACE_GENERIC_INFO    GenericPccInfo;
 
   /// Platform Interrupt.
-  CM_ARM_GENERIC_INTERRUPT     PlatIrq;
+  CM_ARCH_GENERIC_INTERRUPT    PlatIrq;
 
   /// Platform Interrupt Register.
   PCC_MAILBOX_REGISTER_INFO    PlatIrqAckReg;
-} CM_ARM_PCC_SUBSPACE_TYPE2_INFO;
+} CM_ARCH_PCC_SUBSPACE_TYPE2_INFO;
 
 /** A structure that describes a
     PCC Subspace of type 3 (Extended)
 
-    ID: EArmObjPccSubspaceType3Info
+    ID: EArchObjPccSubspaceType3Info
 */
-typedef struct CmArmPccSubspaceType3Info {
+typedef struct CmArchPccSubspaceType3Info {
   /** Generic Pcc information.
 
     The Subspace of Type0 contains information that can be re-used
@@ -1256,7 +1256,7 @@ typedef struct CmArmPccSubspaceType3Info {
   PCC_SUBSPACE_GENERIC_INFO    GenericPccInfo;
 
   /// Platform Interrupt.
-  CM_ARM_GENERIC_INTERRUPT     PlatIrq;
+  CM_ARCH_GENERIC_INTERRUPT    PlatIrq;
 
   /// Platform Interrupt Register.
   PCC_MAILBOX_REGISTER_INFO    PlatIrqAckReg;
@@ -1271,21 +1271,21 @@ typedef struct CmArmPccSubspaceType3Info {
   /// Error Status Register.
   /// The WriteMask field is not used.
   PCC_MAILBOX_REGISTER_INFO    ErrorStatusReg;
-} CM_ARM_PCC_SUBSPACE_TYPE3_INFO;
+} CM_ARCH_PCC_SUBSPACE_TYPE3_INFO;
 
 /** A structure that describes a
     PCC Subspace of type 4 (Extended)
 
-    ID: EArmObjPccSubspaceType4Info
+    ID: EArchObjPccSubspaceType4Info
 */
-typedef CM_ARM_PCC_SUBSPACE_TYPE3_INFO CM_ARM_PCC_SUBSPACE_TYPE4_INFO;
+typedef CM_ARCH_PCC_SUBSPACE_TYPE3_INFO CM_ARCH_PCC_SUBSPACE_TYPE4_INFO;
 
 /** A structure that describes a
     PCC Subspace of type 5 (HW-Registers).
 
-    ID: EArmObjPccSubspaceType5Info
+    ID: EArchObjPccSubspaceType5Info
 */
-typedef struct CmArmPccSubspaceType5Info {
+typedef struct CmArchPccSubspaceType5Info {
   /** Generic Pcc information.
 
     The Subspace of Type0 contains information that can be re-used
@@ -1300,7 +1300,7 @@ typedef struct CmArmPccSubspaceType5Info {
   UINT16                       Version;
 
   /// Platform Interrupt.
-  CM_ARM_GENERIC_INTERRUPT     PlatIrq;
+  CM_ARCH_GENERIC_INTERRUPT    PlatIrq;
 
   /// Command Complete Check Register.
   /// The WriteMask field is not used.
@@ -1309,7 +1309,7 @@ typedef struct CmArmPccSubspaceType5Info {
   /// Error Status Register.
   /// The WriteMask field is not used.
   PCC_MAILBOX_REGISTER_INFO    ErrorStatusReg;
-} CM_ARM_PCC_SUBSPACE_TYPE5_INFO;
+} CM_ARCH_PCC_SUBSPACE_TYPE5_INFO;
 
 /** An enum describing the Arm Embedded Trace device type.
 */
@@ -1321,12 +1321,12 @@ typedef enum ArmEtType {
 
 /** A structure that describes the Embedded Trace Extension/Module.
 
-    ID: EArmObjEtInfo
+    ID: EArchObjEtInfo
 */
-typedef struct CmArmEtInfo {
+typedef struct CmArchEtInfo {
   ARM_ET_TYPE    EtType;
-} CM_ARM_ET_INFO;
+} CM_ARCH_ET_INFO;
 
 #pragma pack()
 
-#endif // ARM_NAMESPACE_OBJECTS_H_
+#endif // ARCH_NAMESPACE_OBJECTS_H_
diff --git a/DynamicTablesPkg/Include/ConfigurationManagerObject.h b/DynamicTablesPkg/Include/ConfigurationManagerObject.h
index 74ad25d5d94a..e7f888f12eee 100644
--- a/DynamicTablesPkg/Include/ConfigurationManagerObject.h
+++ b/DynamicTablesPkg/Include/ConfigurationManagerObject.h
@@ -12,7 +12,7 @@
 #ifndef CONFIGURATION_MANAGER_OBJECT_H_
 #define CONFIGURATION_MANAGER_OBJECT_H_
 
-#include <ArmNameSpaceObjects.h>
+#include <ArchNameSpaceObjects.h>
 #include <StandardNameSpaceObjects.h>
 
 #pragma pack(1)
@@ -179,7 +179,7 @@ typedef struct CmObjDescriptor {
 
   @retval Returns an ARM Configuration Manager Object ID.
 **/
-#define CREATE_CM_ARM_OBJECT_ID(ObjectId) \
+#define CREATE_CM_ARCH_OBJECT_ID(ObjectId) \
           (CREATE_CM_OBJECT_ID (EObjNameSpaceArm, ObjectId))
 
 /** This macro returns a Configuration Manager Object ID
diff --git a/DynamicTablesPkg/Include/Library/SsdtPcieSupportLib.h b/DynamicTablesPkg/Include/Library/SsdtPcieSupportLib.h
index 4171dabc33d8..5dc24b8b8890 100644
--- a/DynamicTablesPkg/Include/Library/SsdtPcieSupportLib.h
+++ b/DynamicTablesPkg/Include/Library/SsdtPcieSupportLib.h
@@ -43,8 +43,8 @@ typedef struct MappingTable {
 EFI_STATUS
 EFIAPI
 AddOscMethod (
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO  *PciInfo,
-  IN  OUT   AML_OBJECT_NODE_HANDLE            PciNode
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciInfo,
+  IN  OUT   AML_OBJECT_NODE_HANDLE             PciNode
   );
 
 /** Generate Pci slots devices.
@@ -66,10 +66,10 @@ AddOscMethod (
 EFI_STATUS
 EFIAPI
 GeneratePciSlots (
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO  *PciInfo,
-  IN      CONST MAPPING_TABLE                 *MappingTable,
-  IN            UINT32                        Uid,
-  IN  OUT       AML_OBJECT_NODE_HANDLE        PciNode
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciInfo,
+  IN      CONST MAPPING_TABLE                  *MappingTable,
+  IN            UINT32                         Uid,
+  IN  OUT       AML_OBJECT_NODE_HANDLE         PciNode
   );
 
 #endif // SSDT_PCIE_SUPPORT_LIB_H_
diff --git a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h b/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
index 4835f314c4f1..37137e89602c 100644
--- a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
+++ b/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
@@ -30,7 +30,7 @@ EFI_STATUS
 EFIAPI
 BuildSsdtSerialPortTable (
   IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO   *AcpiTableInfo,
-  IN  CONST CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo,
+  IN  CONST CM_ARCH_SERIAL_PORT_INFO     *SerialPortInfo,
   IN  CONST CHAR8                        *Name,
   IN  CONST UINT64                       Uid,
   OUT       EFI_ACPI_DESCRIPTION_HEADER  **Table
@@ -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_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_SERIAL_PORT_INFO  *SerialPortInfoTable,
+  IN        UINT32                    SerialPortCount
   );
 
 #endif // SSDT_SERIAL_PORT_LIB_H_
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.h
index 0631a1f5b74b..cfd5aea01941 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.h
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.h
@@ -19,7 +19,7 @@
 */
 typedef struct MappingTable {
   /// Mapping table for Subspace Ids.
-  /// Subspace ID/Index <-> CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO pointer
+  /// Subspace ID/Index <-> CM_ARCH_PCC_SUBSPACE_TYPE[X]_INFO pointer
   VOID      **Table;
 
   /// Number of entries in the Table.
@@ -34,7 +34,7 @@ typedef struct AcpiPcctGenerator {
 
   // Private fields are defined from here.
 
-  /// Table to map: Subspace ID/Index <-> CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO pointer
+  /// Table to map: Subspace ID/Index <-> CM_ARCH_PCC_SUBSPACE_TYPE[X]_INFO pointer
   MAPPING_TABLE           MappingTable;
 } ACPI_PCCT_GENERATOR;
 
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
index 0c7a0b0601ab..57ff8009b59d 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
@@ -69,29 +69,29 @@
 
 /** A structure used to handle the Lpi structures referencing.
 
-  A CM_ARM_PROC_HIERARCHY_INFO structure references a CM_ARM_OBJ_REF.
-  This CM_ARM_OBJ_REF references CM_ARM_LPI_INFO structures.
+  A CM_ARCH_PROC_HIERARCHY_INFO structure references a CM_ARCH_OBJ_REF.
+  This CM_ARCH_OBJ_REF references CM_ARCH_LPI_INFO structures.
 
   Example:
   (Cpu0)                                   (Cpu1)
-  CM_ARM_PROC_HIERARCHY_INFO               CM_ARM_PROC_HIERARCHY_INFO
+  CM_ARCH_PROC_HIERARCHY_INFO               CM_ARCH_PROC_HIERARCHY_INFO
               |                                       |
               +----------------------------------------
               |
               v
   (List of references to Lpi states)
-  CM_ARM_OBJ_REF
+  CM_ARCH_OBJ_REF
               |
               +----------------------------------------
               |                                       |
               v                                       v
   (A first Lpi state)                       (A second Lpi state)
-  CM_ARM_LPI_INFO[0]                        CM_ARM_LPI_INFO[1]
+  CM_ARCH_LPI_INFO[0]                        CM_ARCH_LPI_INFO[1]
 
-  Here, Cpu0 and Cpu1 have the same Lpi states. Both CM_ARM_PROC_HIERARCHY_INFO
-  structures reference the same CM_ARM_OBJ_REF. An entry is created in the
+  Here, Cpu0 and Cpu1 have the same Lpi states. Both CM_ARCH_PROC_HIERARCHY_INFO
+  structures reference the same CM_ARCH_OBJ_REF. An entry is created in the
   TokenTable such as:
-  0 <-> CM_ARM_OBJ_REF
+  0 <-> CM_ARCH_OBJ_REF
 
   This will lead to the creation of this pseudo-ASL code where Cpu0 and Cpu1
   return the same object at \_SB.L000:
@@ -118,7 +118,7 @@
 */
 typedef struct TokenTable {
   /// TokenTable, a table allowing to map:
-  /// Index <-> CM_OBJECT_TOKEN (to CM_ARM_LPI_INFO structures).
+  /// Index <-> CM_OBJECT_TOKEN (to CM_ARCH_LPI_INFO structures).
   CM_OBJECT_TOKEN    *Table;
 
   /// Last used index of the TokenTable.
@@ -130,16 +130,16 @@ typedef struct TokenTable {
 */
 typedef struct AcpiCpuTopologyGenerator {
   /// ACPI Table generator header
-  ACPI_TABLE_GENERATOR          Header;
+  ACPI_TABLE_GENERATOR           Header;
 
   // Private fields are defined from here.
 
   /// Private object used to handle token referencing.
-  TOKEN_TABLE                   TokenTable;
-  /// List of CM_ARM_PROC_HIERARCHY_INFO CM objects.
-  CM_ARM_PROC_HIERARCHY_INFO    *ProcNodeList;
-  /// Count of CM_ARM_PROC_HIERARCHY_INFO CM objects.
-  UINT32                        ProcNodeCount;
+  TOKEN_TABLE                    TokenTable;
+  /// List of CM_ARCH_PROC_HIERARCHY_INFO CM objects.
+  CM_ARCH_PROC_HIERARCHY_INFO    *ProcNodeList;
+  /// Count of CM_ARCH_PROC_HIERARCHY_INFO CM objects.
+  UINT32                         ProcNodeCount;
 } ACPI_CPU_TOPOLOGY_GENERATOR;
 
 #pragma pack()
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h
index eaee5d4ce9d9..2b09f2ad882d 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h
@@ -60,12 +60,12 @@ typedef struct DynamicPlatformRepositoryInfo {
 
   /// Link lists of CmObj from the ArmNameSpace
   /// that are added in the Transient state.
-  LIST_ENTRY             ArmCmObjList[EArmObjMax];
+  LIST_ENTRY             ArmCmObjList[EArchObjMax];
 
   /// Structure Members used in Finalized state.
   /// An array of CmObj Descriptors from the ArmNameSpace
   /// This array is populated when the Repo is finalized.
-  CM_OBJ_DESCRIPTOR      ArmCmObjArray[EArmObjMax];
+  CM_OBJ_DESCRIPTOR      ArmCmObjArray[EArchObjMax];
 
   /// A token mapper for the objects in the ArmNamespaceObjectArray
   /// The Token mapper is populated when the Repo is finalized in
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.h
index 51654f0e1ea8..3c309efcef8e 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.h
@@ -11,12 +11,12 @@
 #ifndef ARM_BOOT_ARCH_PARSER_H_
 #define ARM_BOOT_ARCH_PARSER_H_
 
-/** CM_ARM_BOOT_ARCH_INFO parser function.
+/** CM_ARCH_BOOT_ARCH_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmBootArchInfo {
+  typedef struct CmArchBootArchInfo {
     UINT16  BootArchFlags;                    // {Populated}
-  } CM_ARM_BOOT_ARCH_INFO;
+  } CM_ARCH_BOOT_ARCH_INFO;
 
   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/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.h
index d7fa278c90f9..27fc2164c444 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.h
@@ -21,10 +21,10 @@ typedef enum FdtTimerInterruptItems {
   FdtMaxTimerItem         ///< Max timer item
 } FDT_TIMER_INTERRUPT_ITEMS;
 
-/** CM_ARM_BOOT_ARCH_INFO parser function.
+/** CM_ARCH_BOOT_ARCH_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmGenericTimerInfo {
+  typedef struct CmArchGenericTimerInfo {
     UINT64  CounterControlBaseAddress;        // {default}
     UINT64  CounterReadBaseAddress;           // {default}
     UINT32  SecurePL1TimerGSIV;               // {Populated}
@@ -37,7 +37,7 @@ typedef enum FdtTimerInterruptItems {
     UINT32  NonSecurePL2TimerFlags;           // {Populated}
     UINT32  VirtualPL2TimerGSIV;              // {default}
     UINT32  VirtualPL2TimerFlags;             // {default}
-  } CM_ARM_GENERIC_TIMER_INFO;
+  } CM_ARCH_GENERIC_TIMER_INFO;
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.h
index 539f39cecb22..edb7c2e2f554 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.h
@@ -16,12 +16,12 @@
 */
 #define BSA_PMU_IRQ  23
 
-/** CM_ARM_GICC_INFO parser function.
+/** CM_ARCH_GICC_INFO parser function.
 
   This parser expects FdtBranch to be the "\cpus" node node.
   At most one CmObj is created.
   The following structure is populated:
-  typedef struct CmArmGicCInfo {
+  typedef struct CmArchGicCInfo {
     UINT32  CPUInterfaceNumber;               // {Populated}
     UINT32  AcpiProcessorUid;                 // {Populated}
     UINT32  Flags;                            // {Populated}
@@ -39,7 +39,7 @@
     UINT32  ProximityDomain;                  // {default = 0}
     UINT32  ClockDomain;                      // {default = 0}
     UINT32  AffinityFlags;                    // {default = 0}
-  } CM_ARM_GICC_INFO;
+  } CM_ARCH_GICC_INFO;
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.h
index b9581f0eb905..e0b4a3b7460e 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.h
@@ -12,16 +12,16 @@
 #ifndef ARM_GICD_PARSER_H_
 #define ARM_GICD_PARSER_H_
 
-/** CM_ARM_GICD_INFO parser function.
+/** CM_ARCH_GICD_INFO parser function.
 
   This parser expects FdtBranch to be a Gic interrupt-controller node.
   At most one CmObj is created.
   The following structure is populated:
-  typedef struct CmArmGicDInfo {
+  typedef struct CmArchGicDInfo {
     UINT64  PhysicalBaseAddress;              // {Populated}
     UINT32  SystemVectorBase;
     UINT8   GicVersion;                       // {Populated}
-  } CM_ARM_GICD_INFO;
+  } CM_ARCH_GICD_INFO;
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.h
index aa942f7d1f49..44e3d8b36ee2 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.h
@@ -41,9 +41,9 @@ GetGicVersion (
 /** Gic dispatcher.
 
   This disptacher populates the following structures:
-   - CM_ARM_GICC_INFO
-   - CM_ARM_GICD_INFO
-   - CM_ARM_GIC_MSI_FRAME_INFO
+   - CM_ARCH_GICC_INFO
+   - CM_ARCH_GICD_INFO
+   - CM_ARCH_GIC_MSI_FRAME_INFO
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.h
index be944493e4d8..1c0879f991fd 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.h
@@ -11,15 +11,15 @@
 #ifndef ARM_GIC_ITS_PARSER_H_
 #define ARM_GIC_ITS_PARSER_H_
 
-/** CM_ARM_GIC_ITS_INFO parser function.
+/** CM_ARCH_GIC_ITS_INFO parser function.
 
   This parser expects FdtBranch to be a Gic interrupt-controller node.
   Gic version must be v3 or higher.
-  typedef struct CmArmGicItsInfo {
+  typedef struct CmArchGicItsInfo {
     UINT32  GicItsId;                         // {Populated}
     UINT64  PhysicalBaseAddress;              // {Populated}
     UINT32  ProximityDomain;                  // {default = 0}
-  } CM_ARM_GIC_ITS_INFO;
+  } CM_ARCH_GIC_ITS_INFO;
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.h
index 2821a784f7da..ded8d38741ef 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.h
@@ -12,16 +12,16 @@
 #ifndef ARM_GIC_MSI_FRAME_PARSER_H_
 #define ARM_GIC_MSI_FRAME_PARSER_H_
 
-/** CM_ARM_GIC_MSI_FRAME_INFO parser function.
+/** CM_ARCH_GIC_MSI_FRAME_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmGicMsiFrameInfo {
+  typedef struct CmArchGicMsiFrameInfo {
     UINT32  GicMsiFrameId;                    // {Populated}
     UINT64  PhysicalBaseAddress;              // {Populated}
     UINT32  Flags;                            // {default = 0}
     UINT16  SPICount;
     UINT16  SPIBase;
-  } CM_ARM_GIC_MSI_FRAME_INFO;
+  } CM_ARCH_GIC_MSI_FRAME_INFO;
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.h
index c2b7eabfed1c..f47999a52891 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.h
@@ -11,14 +11,14 @@
 #ifndef ARM_GICR_PARSER_H_
 #define ARM_GICR_PARSER_H_
 
-/** CM_ARM_GIC_REDIST_INFO parser function.
+/** CM_ARCH_GIC_REDIST_INFO parser function.
 
   This parser expects FdtBranch to be a Gic interrupt-controller node.
   Gic version must be v3 or higher.
-  typedef struct CmArmGicRedistInfo {
+  typedef struct CmArchGicRedistInfo {
     UINT64  DiscoveryRangeBaseAddress;        // {Populated}
     UINT32  DiscoveryRangeLength;             // {Populated}
-  } CM_ARM_GIC_REDIST_INFO;
+  } CM_ARCH_GIC_REDIST_INFO;
 
   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/Library/FdtHwInfoParserLib/CmObjectDescUtility.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.h
index 270e0c3528f9..8d1ab16abb8f 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.h
@@ -98,11 +98,11 @@ AddMultipleCmObj (
 
 /** Add multiple CmObj to the Configuration Manager.
 
-  Get one token referencing a EArmObjCmRef CmObj itself referencing
+  Get one token referencing a EArchObjCmRef CmObj itself referencing
   the input CmObj. In the table below, RefToken is returned.
 
   Token referencing an      Array of tokens             Array of CmObj
-  array of EArmObjCmRef     referencing each            from the input:
+  array of EArchObjCmRef     referencing each            from the input:
   CmObj:                    CmObj from the input:
 
   RefToken         --->     CmObjToken[0]        --->   CmObj[0]
@@ -113,7 +113,7 @@ AddMultipleCmObj (
   @param  [in]  CmObjDesc         CmObjDesc containing multiple CmObj
                                   to add.
   @param  [out] Token             If success, token referencing an array
-                                  of EArmObjCmRef CmObj, themselves
+                                  of EArchObjCmRef CmObj, themselves
                                   referencing the input CmObjs.
 
   @retval EFI_SUCCESS             The function completed successfully.
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h
index 6e0027abeab6..bfe724a69e55 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h
@@ -83,38 +83,38 @@ typedef enum PciMappingTable {
 */
 typedef struct PciParserTable {
   /// PCI Configuration Space Info
-  CM_ARM_PCI_CONFIG_SPACE_INFO    PciConfigSpaceInfo;
+  CM_ARCH_PCI_CONFIG_SPACE_INFO    PciConfigSpaceInfo;
 
   /// Store the address mapping and interrupt mapping as CmObjDesc
   /// before adding them to the Configuration Manager.
-  CM_OBJ_DESCRIPTOR               Mapping[PciMappingTableMax];
+  CM_OBJ_DESCRIPTOR                Mapping[PciMappingTableMax];
 } PCI_PARSER_TABLE;
 
 #pragma pack()
 
-/** CM_ARM_PCI_CONFIG_SPACE_INFO parser function.
+/** CM_ARCH_PCI_CONFIG_SPACE_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmPciConfigSpaceInfo {
+  typedef struct CmArchPciConfigSpaceInfo {
     UINT64  BaseAddress;                          // {Populated}
     UINT16  PciSegmentGroupNumber;                // {Populated}
     UINT8   StartBusNumber;                       // {Populated}
     UINT8   EndBusNumber;                         // {Populated}
-  } CM_ARM_PCI_CONFIG_SPACE_INFO;
+  } CM_ARCH_PCI_CONFIG_SPACE_INFO;
 
-  typedef struct CmArmPciAddressMapInfo {
+  typedef struct CmArchPciAddressMapInfo {
     UINT8                     SpaceCode;          // {Populated}
     UINT64                    PciAddress;         // {Populated}
     UINT64                    CpuAddress;         // {Populated}
     UINT64                    AddressSize;        // {Populated}
-  } CM_ARM_PCI_ADDRESS_MAP_INFO;
+  } CM_ARCH_PCI_ADDRESS_MAP_INFO;
 
-  typedef struct CmArmPciInterruptMapInfo {
+  typedef struct CmArchPciInterruptMapInfo {
     UINT8                       PciBus;           // {Populated}
     UINT8                       PciDevice;        // {Populated}
     UINT8                       PciInterrupt;     // {Populated}
-    CM_ARM_GENERIC_INTERRUPT    IntcInterrupt;    // {Populated}
-  } CM_ARM_PCI_INTERRUPT_MAP_INFO;
+    CM_ARCH_GENERIC_INTERRUPT    IntcInterrupt;    // {Populated}
+  } CM_ARCH_PCI_INTERRUPT_MAP_INFO;
 
   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/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
index de08e57e6c57..b3e227472772 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_SERIAL_PORT_INFO structure for
   the following CM_OBJ_ID:
-   - EArmObjSerialConsolePortInfo
-   - EArmObjSerialDebugPortInfo
-   - EArmObjSerialPortInfo
+   - EArchObjSerialConsolePortInfo
+   - EArchObjSerialDebugPortInfo
+   - EArchObjSerialPortInfo
 
   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/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
index 68b9d2bf0513..342d068f94fc 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
@@ -416,7 +416,7 @@ GetDeviceIdMappingArray (
   }
 
   CmObject->ObjectId = CmObjectId;
-  CmObject->Size     = sizeof (CM_ARM_ID_MAPPING);
+  CmObject->Size     = sizeof (CM_ARCH_ID_MAPPING);
   CmObject->Data     = (VOID *)Token;
   CmObject->Count    = 1;
   return EFI_SUCCESS;
@@ -662,7 +662,7 @@ GetStandardNameSpaceObject (
       //
       Status = DynamicPlatRepoGetObject (
                  PlatformRepo->DynamicPlatformRepo,
-                 CREATE_CM_ARM_OBJECT_ID (EArmObjPciConfigSpaceInfo),
+                 CREATE_CM_ARCH_OBJECT_ID (EArchObjPciConfigSpaceInfo),
                  CM_NULL_TOKEN,
                  &CmObjDesc
                  );
@@ -683,7 +683,7 @@ GetStandardNameSpaceObject (
       //
       Status = DynamicPlatRepoGetObject (
                  PlatformRepo->DynamicPlatformRepo,
-                 CREATE_CM_ARM_OBJECT_ID (EArmObjGicDInfo),
+                 CREATE_CM_ARCH_OBJECT_ID (EArchObjGicDInfo),
                  CM_NULL_TOKEN,
                  &CmObjDesc
                  );
@@ -692,7 +692,7 @@ GetStandardNameSpaceObject (
         return Status;
       }
 
-      if (((CM_ARM_GICD_INFO *)CmObjDesc.Data)->GicVersion < 3) {
+      if (((CM_ARCH_GICD_INFO *)CmObjDesc.Data)->GicVersion < 3) {
         //
         // IORT is only required for GicV3/4
         //
@@ -761,7 +761,7 @@ GetArmNameSpaceObject (
   // First check among the static objects.
   //
   switch (GET_CM_OBJECT_ID (CmObjectId)) {
-    case EArmObjPowerManagementProfileInfo:
+    case EArchObjPowerManagementProfileInfo:
       Status = HandleCmObject (
                  CmObjectId,
                  &PlatformRepo->PmProfileInfo,
@@ -771,7 +771,7 @@ GetArmNameSpaceObject (
                  );
       break;
 
-    case EArmObjItsGroup:
+    case EArchObjItsGroup:
       Status = HandleCmObject (
                  CmObjectId,
                  &PlatformRepo->ItsGroupInfo,
@@ -781,7 +781,7 @@ GetArmNameSpaceObject (
                  );
       break;
 
-    case EArmObjGicItsIdentifierArray:
+    case EArchObjGicItsIdentifierArray:
       Status = HandleCmObjectRefByToken (
                  This,
                  CmObjectId,
@@ -794,7 +794,7 @@ GetArmNameSpaceObject (
                  );
       break;
 
-    case EArmObjRootComplex:
+    case EArchObjRootComplex:
       Status = HandleCmObject (
                  CmObjectId,
                  &PlatformRepo->RootComplexInfo,
@@ -804,7 +804,7 @@ GetArmNameSpaceObject (
                  );
       break;
 
-    case EArmObjIdMappingArray:
+    case EArchObjIdMappingArray:
       Status = HandleCmObjectRefByToken (
                  This,
                  CmObjectId,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
index 2b5fb308719b..a9b9d30d9f73 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
@@ -26,10 +26,10 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjGenericTimerInfo
-  - EArmObjPlatformGenericWatchdogInfo (OPTIONAL)
-  - EArmObjPlatformGTBlockInfo (OPTIONAL)
-  - EArmObjGTBlockTimerFrameInfo (OPTIONAL)
+  - EArchObjGenericTimerInfo
+  - EArchObjPlatformGenericWatchdogInfo (OPTIONAL)
+  - EArchObjPlatformGTBlockInfo (OPTIONAL)
+  - EArchObjGTBlockTimerFrameInfo (OPTIONAL)
 */
 
 /** This macro expands to a function that retrieves the Generic
@@ -37,8 +37,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGenericTimerInfo,
-  CM_ARM_GENERIC_TIMER_INFO
+  EArchObjGenericTimerInfo,
+  CM_ARCH_GENERIC_TIMER_INFO
   );
 
 /** This macro expands to a function that retrieves the Arm Generic
@@ -46,8 +46,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPlatformGenericWatchdogInfo,
-  CM_ARM_GENERIC_WATCHDOG_INFO
+  EArchObjPlatformGenericWatchdogInfo,
+  CM_ARCH_GENERIC_WATCHDOG_INFO
   );
 
 /** This macro expands to a function that retrieves the Platform Generic
@@ -55,8 +55,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPlatformGTBlockInfo,
-  CM_ARM_GTBLOCK_INFO
+  EArchObjPlatformGTBlockInfo,
+  CM_ARCH_GTBLOCK_INFO
   );
 
 /** This macro expands to a function that retrieves the Generic
@@ -64,8 +64,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGTBlockTimerFrameInfo,
-  CM_ARM_GTBLOCK_TIMER_FRAME_INFO
+  EArchObjGTBlockTimerFrameInfo,
+  CM_ARCH_GTBLOCK_TIMER_FRAME_INFO
   );
 
 /** Add the Generic Timer Information to the GTDT table.
@@ -96,13 +96,13 @@ AddGenericTimerInfo (
   IN  CONST UINT32                                               AcpiTableRevision
   )
 {
-  EFI_STATUS                 Status;
-  CM_ARM_GENERIC_TIMER_INFO  *GenericTimerInfo;
+  EFI_STATUS                  Status;
+  CM_ARCH_GENERIC_TIMER_INFO  *GenericTimerInfo;
 
   ASSERT (CfgMgrProtocol != NULL);
   ASSERT (Gtdt != NULL);
 
-  Status = GetEArmObjGenericTimerInfo (
+  Status = GetEArchObjGenericTimerInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GenericTimerInfo,
@@ -156,7 +156,7 @@ VOID
 AddGenericWatchdogList (
   IN EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE  *CONST  Gtdt,
   IN CONST UINT32                                          WatchdogOffset,
-  IN CONST CM_ARM_GENERIC_WATCHDOG_INFO                    *WatchdogInfoList,
+  IN CONST CM_ARCH_GENERIC_WATCHDOG_INFO                   *WatchdogInfoList,
   IN       UINT32                                          WatchdogCount
   )
 {
@@ -217,8 +217,8 @@ IsGtFrameNumberEqual (
 
   ASSERT ((Frame1 != NULL) && (Frame2 != NULL));
 
-  FrameNumber1 = ((CM_ARM_GTBLOCK_TIMER_FRAME_INFO *)Frame1)->FrameNumber;
-  FrameNumber2 = ((CM_ARM_GTBLOCK_TIMER_FRAME_INFO *)Frame2)->FrameNumber;
+  FrameNumber1 = ((CM_ARCH_GTBLOCK_TIMER_FRAME_INFO *)Frame1)->FrameNumber;
+  FrameNumber2 = ((CM_ARCH_GTBLOCK_TIMER_FRAME_INFO *)Frame2)->FrameNumber;
 
   if (FrameNumber1 == FrameNumber2) {
     DEBUG ((
@@ -250,7 +250,7 @@ STATIC
 EFI_STATUS
 AddGTBlockTimerFrames (
   IN       EFI_ACPI_6_4_GTDT_GT_BLOCK_TIMER_STRUCTURE  *GtBlockFrame,
-  IN CONST CM_ARM_GTBLOCK_TIMER_FRAME_INFO             *GTBlockTimerFrameList,
+  IN CONST CM_ARCH_GTBLOCK_TIMER_FRAME_INFO            *GTBlockTimerFrameList,
   IN       UINT32                                      GTBlockFrameCount
   )
 {
@@ -262,7 +262,7 @@ AddGTBlockTimerFrames (
   IsFrameNumberDuplicated = FindDuplicateValue (
                               GTBlockTimerFrameList,
                               GTBlockFrameCount,
-                              sizeof (CM_ARM_GTBLOCK_TIMER_FRAME_INFO),
+                              sizeof (CM_ARCH_GTBLOCK_TIMER_FRAME_INFO),
                               IsGtFrameNumberEqual
                               );
   // Duplicate entry was found so timer frame numbers provided are invalid
@@ -332,14 +332,14 @@ AddGTBlockList (
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL     *CONST  CfgMgrProtocol,
   IN EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE    *CONST  Gtdt,
   IN CONST UINT32                                            GTBlockOffset,
-  IN CONST CM_ARM_GTBLOCK_INFO                               *GTBlockInfo,
+  IN CONST CM_ARCH_GTBLOCK_INFO                              *GTBlockInfo,
   IN       UINT32                                            BlockTimerCount
   )
 {
   EFI_STATUS                                  Status;
   EFI_ACPI_6_4_GTDT_GT_BLOCK_STRUCTURE        *GTBlock;
   EFI_ACPI_6_4_GTDT_GT_BLOCK_TIMER_STRUCTURE  *GtBlockFrame;
-  CM_ARM_GTBLOCK_TIMER_FRAME_INFO             *GTBlockTimerFrameList;
+  CM_ARCH_GTBLOCK_TIMER_FRAME_INFO            *GTBlockTimerFrameList;
   UINT32                                      GTBlockTimerFrameCount;
   UINTN                                       Length;
 
@@ -352,7 +352,7 @@ AddGTBlockList (
   while (BlockTimerCount-- != 0) {
     DEBUG ((DEBUG_INFO, "GTDT: GTBlock = 0x%p\n", GTBlock));
 
-    Status = GetEArmObjGTBlockTimerFrameInfo (
+    Status = GetEArchObjGTBlockTimerFrameInfo (
                CfgMgrProtocol,
                GTBlockInfo->GTBlockTimerFrameToken,
                &GTBlockTimerFrameList,
@@ -461,8 +461,8 @@ BuildGtdtTable (
   UINT32                                        PlatformTimerCount;
   UINT32                                        WatchdogCount;
   UINT32                                        BlockTimerCount;
-  CM_ARM_GENERIC_WATCHDOG_INFO                  *WatchdogInfoList;
-  CM_ARM_GTBLOCK_INFO                           *GTBlockInfo;
+  CM_ARCH_GENERIC_WATCHDOG_INFO                 *WatchdogInfoList;
+  CM_ARCH_GTBLOCK_INFO                          *GTBlockInfo;
   EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE  *Gtdt;
   UINT32                                        Idx;
   UINT32                                        GTBlockOffset;
@@ -490,7 +490,7 @@ BuildGtdtTable (
   }
 
   *Table = NULL;
-  Status = GetEArmObjPlatformGTBlockInfo (
+  Status = GetEArchObjPlatformGTBlockInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GTBlockInfo,
@@ -506,7 +506,7 @@ BuildGtdtTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjPlatformGenericWatchdogInfo (
+  Status = GetEArchObjPlatformGenericWatchdogInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &WatchdogInfoList,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
index f28973c1a862..3075b6a137b3 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
@@ -31,17 +31,17 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjItsGroup
-  - EArmObjNamedComponent
-  - EArmObjRootComplex
-  - EArmObjSmmuV1SmmuV2
-  - EArmObjSmmuV3
-  - EArmObjPmcg
-  - EArmObjRmr
-  - EArmObjGicItsIdentifierArray
-  - EArmObjIdMappingArray
-  - EArmObjSmmuInterruptArray
-  - EArmObjMemoryRangeDescriptor
+  - EArchObjItsGroup
+  - EArchObjNamedComponent
+  - EArchObjRootComplex
+  - EArchObjSmmuV1SmmuV2
+  - EArchObjSmmuV3
+  - EArchObjPmcg
+  - EArchObjRmr
+  - EArchObjGicItsIdentifierArray
+  - EArchObjIdMappingArray
+  - EArchObjSmmuInterruptArray
+  - EArchObjMemoryRangeDescriptor
 */
 
 /** This macro expands to a function that retrieves the ITS
@@ -49,8 +49,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjItsGroup,
-  CM_ARM_ITS_GROUP_NODE
+  EArchObjItsGroup,
+  CM_ARCH_ITS_GROUP_NODE
   );
 
 /** This macro expands to a function that retrieves the
@@ -58,8 +58,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjNamedComponent,
-  CM_ARM_NAMED_COMPONENT_NODE
+  EArchObjNamedComponent,
+  CM_ARCH_NAMED_COMPONENT_NODE
   );
 
 /** This macro expands to a function that retrieves the
@@ -67,8 +67,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjRootComplex,
-  CM_ARM_ROOT_COMPLEX_NODE
+  EArchObjRootComplex,
+  CM_ARCH_ROOT_COMPLEX_NODE
   );
 
 /** This macro expands to a function that retrieves the
@@ -76,8 +76,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjSmmuV1SmmuV2,
-  CM_ARM_SMMUV1_SMMUV2_NODE
+  EArchObjSmmuV1SmmuV2,
+  CM_ARCH_SMMUV1_SMMUV2_NODE
   );
 
 /** This macro expands to a function that retrieves the
@@ -85,8 +85,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjSmmuV3,
-  CM_ARM_SMMUV3_NODE
+  EArchObjSmmuV3,
+  CM_ARCH_SMMUV3_NODE
   );
 
 /** This macro expands to a function that retrieves the
@@ -94,8 +94,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPmcg,
-  CM_ARM_PMCG_NODE
+  EArchObjPmcg,
+  CM_ARCH_PMCG_NODE
   );
 
 /** This macro expands to a function that retrieves the
@@ -103,8 +103,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjRmr,
-  CM_ARM_RMR_NODE
+  EArchObjRmr,
+  CM_ARCH_RMR_NODE
   );
 
 /** This macro expands to a function that retrieves the
@@ -112,8 +112,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjMemoryRangeDescriptor,
-  CM_ARM_MEMORY_RANGE_DESCRIPTOR
+  EArchObjMemoryRangeDescriptor,
+  CM_ARCH_MEMORY_RANGE_DESCRIPTOR
   );
 
 /** This macro expands to a function that retrieves the
@@ -121,8 +121,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicItsIdentifierArray,
-  CM_ARM_ITS_IDENTIFIER
+  EArchObjGicItsIdentifierArray,
+  CM_ARCH_ITS_IDENTIFIER
   );
 
 /** This macro expands to a function that retrieves the
@@ -130,8 +130,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjIdMappingArray,
-  CM_ARM_ID_MAPPING
+  EArchObjIdMappingArray,
+  CM_ARCH_ID_MAPPING
   );
 
 /** This macro expands to a function that retrieves the
@@ -139,8 +139,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjSmmuInterruptArray,
-  CM_ARM_SMMU_INTERRUPT
+  EArchObjSmmuInterruptArray,
+  CM_ARCH_SMMU_INTERRUPT
   );
 
 /** Returns the size of the ITS Group node.
@@ -152,7 +152,7 @@ GET_OBJECT_LIST (
 STATIC
 UINT32
 GetItsGroupNodeSize (
-  IN  CONST CM_ARM_ITS_GROUP_NODE  *Node
+  IN  CONST CM_ARCH_ITS_GROUP_NODE  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -183,7 +183,7 @@ STATIC
 UINT64
 GetSizeofItsGroupNodes (
   IN      CONST UINT32                         NodeStartOffset,
-  IN      CONST CM_ARM_ITS_GROUP_NODE          *NodeList,
+  IN      CONST CM_ARCH_ITS_GROUP_NODE         *NodeList,
   IN            UINT32                         NodeCount,
   IN OUT        IORT_NODE_INDEXER     **CONST  NodeIndexer
   )
@@ -226,7 +226,7 @@ GetSizeofItsGroupNodes (
 STATIC
 UINT32
 GetNamedComponentNodeSize (
-  IN  CONST CM_ARM_NAMED_COMPONENT_NODE  *Node
+  IN  CONST CM_ARCH_NAMED_COMPONENT_NODE  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -260,7 +260,7 @@ STATIC
 UINT64
 GetSizeofNamedComponentNodes (
   IN      CONST UINT32                              NodeStartOffset,
-  IN      CONST CM_ARM_NAMED_COMPONENT_NODE         *NodeList,
+  IN      CONST CM_ARCH_NAMED_COMPONENT_NODE        *NodeList,
   IN            UINT32                              NodeCount,
   IN OUT        IORT_NODE_INDEXER          **CONST  NodeIndexer
   )
@@ -303,7 +303,7 @@ GetSizeofNamedComponentNodes (
 STATIC
 UINT32
 GetRootComplexNodeSize (
-  IN  CONST CM_ARM_ROOT_COMPLEX_NODE  *Node
+  IN  CONST CM_ARCH_ROOT_COMPLEX_NODE  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -335,7 +335,7 @@ STATIC
 UINT64
 GetSizeofRootComplexNodes (
   IN      CONST UINT32                              NodeStartOffset,
-  IN      CONST CM_ARM_ROOT_COMPLEX_NODE            *NodeList,
+  IN      CONST CM_ARCH_ROOT_COMPLEX_NODE           *NodeList,
   IN            UINT32                              NodeCount,
   IN OUT        IORT_NODE_INDEXER          **CONST  NodeIndexer
   )
@@ -378,7 +378,7 @@ GetSizeofRootComplexNodes (
 STATIC
 UINT32
 GetSmmuV1V2NodeSize (
-  IN  CONST CM_ARM_SMMUV1_SMMUV2_NODE  *Node
+  IN  CONST CM_ARCH_SMMUV1_SMMUV2_NODE  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -416,7 +416,7 @@ STATIC
 UINT64
 GetSizeofSmmuV1V2Nodes (
   IN      CONST UINT32                              NodeStartOffset,
-  IN      CONST CM_ARM_SMMUV1_SMMUV2_NODE           *NodeList,
+  IN      CONST CM_ARCH_SMMUV1_SMMUV2_NODE          *NodeList,
   IN            UINT32                              NodeCount,
   IN OUT        IORT_NODE_INDEXER          **CONST  NodeIndexer
   )
@@ -459,7 +459,7 @@ GetSizeofSmmuV1V2Nodes (
 STATIC
 UINT32
 GetSmmuV3NodeSize (
-  IN  CONST CM_ARM_SMMUV3_NODE  *Node
+  IN  CONST CM_ARCH_SMMUV3_NODE  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -491,7 +491,7 @@ STATIC
 UINT64
 GetSizeofSmmuV3Nodes (
   IN      CONST UINT32                       NodeStartOffset,
-  IN      CONST CM_ARM_SMMUV3_NODE           *NodeList,
+  IN      CONST CM_ARCH_SMMUV3_NODE          *NodeList,
   IN            UINT32                       NodeCount,
   IN OUT        IORT_NODE_INDEXER   **CONST  NodeIndexer
   )
@@ -534,7 +534,7 @@ GetSizeofSmmuV3Nodes (
 STATIC
 UINT32
 GetPmcgNodeSize (
-  IN  CONST CM_ARM_PMCG_NODE  *Node
+  IN  CONST CM_ARCH_PMCG_NODE  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -566,7 +566,7 @@ STATIC
 UINT64
 GetSizeofPmcgNodes (
   IN      CONST UINT32                     NodeStartOffset,
-  IN      CONST CM_ARM_PMCG_NODE           *NodeList,
+  IN      CONST CM_ARCH_PMCG_NODE          *NodeList,
   IN            UINT32                     NodeCount,
   IN OUT        IORT_NODE_INDEXER **CONST  NodeIndexer
   )
@@ -609,7 +609,7 @@ GetSizeofPmcgNodes (
 STATIC
 UINT32
 GetRmrNodeSize (
-  IN  CONST CM_ARM_RMR_NODE  *Node
+  IN  CONST CM_ARCH_RMR_NODE  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -644,7 +644,7 @@ STATIC
 UINT64
 GetSizeofRmrNodes (
   IN      CONST UINT32                     NodeStartOffset,
-  IN      CONST CM_ARM_RMR_NODE            *NodeList,
+  IN      CONST CM_ARCH_RMR_NODE           *NodeList,
   IN            UINT32                     NodeCount,
   IN OUT        IORT_NODE_INDEXER **CONST  NodeIndexer
   )
@@ -760,7 +760,7 @@ AddIdMappingArray (
   )
 {
   EFI_STATUS           Status;
-  CM_ARM_ID_MAPPING    *IdMappings;
+  CM_ARCH_ID_MAPPING   *IdMappings;
   UINT32               IdMappingCount;
   ACPI_IORT_GENERATOR  *Generator;
 
@@ -769,7 +769,7 @@ AddIdMappingArray (
   Generator = (ACPI_IORT_GENERATOR *)This;
 
   // Get the Id Mapping Array
-  Status = GetEArmObjIdMappingArray (
+  Status = GetEArchObjIdMappingArray (
              CfgMgrProtocol,
              IdMappingToken,
              &IdMappings,
@@ -849,14 +849,14 @@ AddItsGroupNodes (
   IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
   IN  CONST EFI_ACPI_6_0_IO_REMAPPING_TABLE               *Iort,
   IN  CONST UINT32                                        NodesStartOffset,
-  IN  CONST CM_ARM_ITS_GROUP_NODE                         *NodeList,
+  IN  CONST CM_ARCH_ITS_GROUP_NODE                        *NodeList,
   IN        UINT32                                        NodeCount
   )
 {
   EFI_STATUS                          Status;
   EFI_ACPI_6_0_IO_REMAPPING_ITS_NODE  *ItsGroupNode;
   UINT32                              *ItsIds;
-  CM_ARM_ITS_IDENTIFIER               *ItsIdentifier;
+  CM_ARCH_ITS_IDENTIFIER              *ItsIdentifier;
   UINT32                              ItsIdentifierCount;
   UINT32                              IdIndex;
   UINT64                              NodeLength;
@@ -901,7 +901,7 @@ AddItsGroupNodes (
     ItsIds                          = (UINT32 *)((UINT8 *)ItsGroupNode +
                                                  sizeof (EFI_ACPI_6_0_IO_REMAPPING_ITS_NODE));
 
-    Status = GetEArmObjGicItsIdentifierArray (
+    Status = GetEArchObjGicItsIdentifierArray (
                CfgMgrProtocol,
                NodeList->ItsIdToken,
                &ItsIdentifier,
@@ -966,7 +966,7 @@ AddNamedComponentNodes (
   IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO             *CONST  AcpiTableInfo,
   IN      CONST EFI_ACPI_6_0_IO_REMAPPING_TABLE                *Iort,
   IN      CONST UINT32                                         NodesStartOffset,
-  IN      CONST CM_ARM_NAMED_COMPONENT_NODE                    *NodeList,
+  IN      CONST CM_ARCH_NAMED_COMPONENT_NODE                   *NodeList,
   IN            UINT32                                         NodeCount
   )
 {
@@ -1111,7 +1111,7 @@ AddRootComplexNodes (
   IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO             *CONST  AcpiTableInfo,
   IN      CONST EFI_ACPI_6_0_IO_REMAPPING_TABLE                *Iort,
   IN      CONST UINT32                                         NodesStartOffset,
-  IN      CONST CM_ARM_ROOT_COMPLEX_NODE                       *NodeList,
+  IN      CONST CM_ARCH_ROOT_COMPLEX_NODE                      *NodeList,
   IN            UINT32                                         NodeCount
   )
 {
@@ -1236,14 +1236,14 @@ AddSmmuInterruptArray (
   IN      CONST CM_OBJECT_TOKEN                               InterruptToken
   )
 {
-  EFI_STATUS             Status;
-  CM_ARM_SMMU_INTERRUPT  *SmmuInterrupt;
-  UINT32                 SmmuInterruptCount;
+  EFI_STATUS              Status;
+  CM_ARCH_SMMU_INTERRUPT  *SmmuInterrupt;
+  UINT32                  SmmuInterruptCount;
 
   ASSERT (InterruptArray != NULL);
 
   // Get the SMMU Interrupt Array
-  Status = GetEArmObjSmmuInterruptArray (
+  Status = GetEArchObjSmmuInterruptArray (
              CfgMgrProtocol,
              InterruptToken,
              &SmmuInterrupt,
@@ -1302,7 +1302,7 @@ AddSmmuV1V2Nodes (
   IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
   IN      CONST EFI_ACPI_6_0_IO_REMAPPING_TABLE               *Iort,
   IN      CONST UINT32                                        NodesStartOffset,
-  IN      CONST CM_ARM_SMMUV1_SMMUV2_NODE                     *NodeList,
+  IN      CONST CM_ARCH_SMMUV1_SMMUV2_NODE                    *NodeList,
   IN            UINT32                                        NodeCount
   )
 {
@@ -1515,7 +1515,7 @@ AddSmmuV3Nodes (
   IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
   IN      CONST EFI_ACPI_6_0_IO_REMAPPING_TABLE               *Iort,
   IN      CONST UINT32                                        NodesStartOffset,
-  IN      CONST CM_ARM_SMMUV3_NODE                            *NodeList,
+  IN      CONST CM_ARCH_SMMUV3_NODE                           *NodeList,
   IN            UINT32                                        NodeCount
   )
 {
@@ -1654,7 +1654,7 @@ AddPmcgNodes (
   IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
   IN      CONST EFI_ACPI_6_0_IO_REMAPPING_TABLE               *Iort,
   IN      CONST UINT32                                        NodesStartOffset,
-  IN      CONST CM_ARM_PMCG_NODE                              *NodeList,
+  IN      CONST CM_ARCH_PMCG_NODE                             *NodeList,
   IN            UINT32                                        NodeCount
   )
 {
@@ -1794,14 +1794,14 @@ AddMemRangeDescArray (
   IN  CONST CM_OBJECT_TOKEN                                   DescToken
   )
 {
-  EFI_STATUS                      Status;
-  CM_ARM_MEMORY_RANGE_DESCRIPTOR  *MemRangeDesc;
-  UINT32                          MemRangeDescCount;
+  EFI_STATUS                       Status;
+  CM_ARCH_MEMORY_RANGE_DESCRIPTOR  *MemRangeDesc;
+  UINT32                           MemRangeDescCount;
 
   ASSERT (DescArray != NULL);
 
   // Get the Id Mapping Array
-  Status = GetEArmObjMemoryRangeDescriptor (
+  Status = GetEArchObjMemoryRangeDescriptor (
              CfgMgrProtocol,
              DescToken,
              &MemRangeDesc,
@@ -1863,7 +1863,7 @@ AddRmrNodes (
   IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
   IN      CONST EFI_ACPI_6_0_IO_REMAPPING_TABLE               *Iort,
   IN      CONST UINT32                                        NodesStartOffset,
-  IN      CONST CM_ARM_RMR_NODE                               *NodeList,
+  IN      CONST CM_ARCH_RMR_NODE                              *NodeList,
   IN            UINT32                                        NodeCount
   )
 {
@@ -2088,13 +2088,13 @@ BuildIortTable (
   UINT32  PmcgOffset;
   UINT32  RmrOffset;
 
-  CM_ARM_ITS_GROUP_NODE        *ItsGroupNodeList;
-  CM_ARM_NAMED_COMPONENT_NODE  *NamedComponentNodeList;
-  CM_ARM_ROOT_COMPLEX_NODE     *RootComplexNodeList;
-  CM_ARM_SMMUV1_SMMUV2_NODE    *SmmuV1V2NodeList;
-  CM_ARM_SMMUV3_NODE           *SmmuV3NodeList;
-  CM_ARM_PMCG_NODE             *PmcgNodeList;
-  CM_ARM_RMR_NODE              *RmrNodeList;
+  CM_ARCH_ITS_GROUP_NODE        *ItsGroupNodeList;
+  CM_ARCH_NAMED_COMPONENT_NODE  *NamedComponentNodeList;
+  CM_ARCH_ROOT_COMPLEX_NODE     *RootComplexNodeList;
+  CM_ARCH_SMMUV1_SMMUV2_NODE    *SmmuV1V2NodeList;
+  CM_ARCH_SMMUV3_NODE           *SmmuV3NodeList;
+  CM_ARCH_PMCG_NODE             *PmcgNodeList;
+  CM_ARCH_RMR_NODE              *RmrNodeList;
 
   EFI_ACPI_6_0_IO_REMAPPING_TABLE  *Iort;
   IORT_NODE_INDEXER                *NodeIndexer;
@@ -2137,7 +2137,7 @@ BuildIortTable (
   *Table    = NULL;
 
   // Get the ITS group node info
-  Status = GetEArmObjItsGroup (
+  Status = GetEArchObjItsGroup (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &ItsGroupNodeList,
@@ -2156,7 +2156,7 @@ BuildIortTable (
   IortNodeCount = ItsGroupNodeCount;
 
   // Get the Named component node info
-  Status = GetEArmObjNamedComponent (
+  Status = GetEArchObjNamedComponent (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &NamedComponentNodeList,
@@ -2175,7 +2175,7 @@ BuildIortTable (
   IortNodeCount += NamedComponentNodeCount;
 
   // Get the Root complex node info
-  Status = GetEArmObjRootComplex (
+  Status = GetEArchObjRootComplex (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &RootComplexNodeList,
@@ -2194,7 +2194,7 @@ BuildIortTable (
   IortNodeCount += RootComplexNodeCount;
 
   // Get the SMMU v1/v2 node info
-  Status = GetEArmObjSmmuV1SmmuV2 (
+  Status = GetEArchObjSmmuV1SmmuV2 (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SmmuV1V2NodeList,
@@ -2213,7 +2213,7 @@ BuildIortTable (
   IortNodeCount += SmmuV1V2NodeCount;
 
   // Get the SMMUv3 node info
-  Status = GetEArmObjSmmuV3 (
+  Status = GetEArchObjSmmuV3 (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SmmuV3NodeList,
@@ -2232,7 +2232,7 @@ BuildIortTable (
   IortNodeCount += SmmuV3NodeCount;
 
   // Get the PMCG node info
-  Status = GetEArmObjPmcg (
+  Status = GetEArchObjPmcg (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PmcgNodeList,
@@ -2254,7 +2254,7 @@ BuildIortTable (
       EFI_ACPI_IO_REMAPPING_TABLE_REVISION_05)
   {
     // Get the RMR node info
-    Status = GetEArmObjRmr (
+    Status = GetEArchObjRmr (
                CfgMgrProtocol,
                CM_NULL_TOKEN,
                &RmrNodeList,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
index df8734ed7f51..8b629e186d80 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
@@ -26,11 +26,11 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjGicCInfo
-  - EArmObjGicDInfo
-  - EArmObjGicMsiFrameInfo (OPTIONAL)
-  - EArmObjGicRedistributorInfo (OPTIONAL)
-  - EArmObjGicItsInfo (OPTIONAL)
+  - EArchObjGicCInfo
+  - EArchObjGicDInfo
+  - EArchObjGicMsiFrameInfo (OPTIONAL)
+  - EArchObjGicRedistributorInfo (OPTIONAL)
+  - EArchObjGicItsInfo (OPTIONAL)
 */
 
 /** This macro expands to a function that retrieves the GIC
@@ -38,8 +38,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicCInfo,
-  CM_ARM_GICC_INFO
+  EArchObjGicCInfo,
+  CM_ARCH_GICC_INFO
   );
 
 /** This macro expands to a function that retrieves the GIC
@@ -48,8 +48,8 @@ GET_OBJECT_LIST (
 
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicDInfo,
-  CM_ARM_GICD_INFO
+  EArchObjGicDInfo,
+  CM_ARCH_GICD_INFO
   );
 
 /** This macro expands to a function that retrieves the GIC
@@ -57,8 +57,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicMsiFrameInfo,
-  CM_ARM_GIC_MSI_FRAME_INFO
+  EArchObjGicMsiFrameInfo,
+  CM_ARCH_GIC_MSI_FRAME_INFO
   );
 
 /** This macro expands to a function that retrieves the GIC
@@ -67,8 +67,8 @@ GET_OBJECT_LIST (
 
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicRedistributorInfo,
-  CM_ARM_GIC_REDIST_INFO
+  EArchObjGicRedistributorInfo,
+  CM_ARCH_GIC_REDIST_INFO
   );
 
 /** This macro expands to a function that retrieves the GIC
@@ -77,8 +77,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicItsInfo,
-  CM_ARM_GIC_ITS_INFO
+  EArchObjGicItsInfo,
+  CM_ARCH_GIC_ITS_INFO
   );
 
 /** This function updates the GIC CPU Interface Information in the
@@ -91,9 +91,9 @@ GET_OBJECT_LIST (
 STATIC
 VOID
 AddGICC (
-  IN        EFI_ACPI_6_5_GIC_STRUCTURE  *CONST  Gicc,
-  IN  CONST CM_ARM_GICC_INFO            *CONST  GicCInfo,
-  IN  CONST UINT8                               MadtRev
+  IN        EFI_ACPI_6_5_GIC_STRUCTURE  *CONST   Gicc,
+  IN  CONST CM_ARCH_GICC_INFO            *CONST  GicCInfo,
+  IN  CONST UINT8                                MadtRev
   )
 {
   ASSERT (Gicc != NULL);
@@ -183,8 +183,8 @@ IsAcpiUidEqual (
 
   ASSERT ((GicCInfo1 != NULL) && (GicCInfo2 != NULL));
 
-  Uid1 = ((CM_ARM_GICC_INFO *)GicCInfo1)->AcpiProcessorUid;
-  Uid2 = ((CM_ARM_GICC_INFO *)GicCInfo2)->AcpiProcessorUid;
+  Uid1 = ((CM_ARCH_GICC_INFO *)GicCInfo1)->AcpiProcessorUid;
+  Uid2 = ((CM_ARCH_GICC_INFO *)GicCInfo2)->AcpiProcessorUid;
 
   if (Uid1 == Uid2) {
     DEBUG ((
@@ -220,7 +220,7 @@ STATIC
 EFI_STATUS
 AddGICCList (
   IN  EFI_ACPI_6_5_GIC_STRUCTURE  *Gicc,
-  IN  CONST CM_ARM_GICC_INFO      *GicCInfo,
+  IN  CONST CM_ARCH_GICC_INFO     *GicCInfo,
   IN        UINT32                GicCCount,
   IN  CONST UINT8                 MadtRev
   )
@@ -233,7 +233,7 @@ AddGICCList (
   IsAcpiProcUidDuplicated = FindDuplicateValue (
                               GicCInfo,
                               GicCCount,
-                              sizeof (CM_ARM_GICC_INFO),
+                              sizeof (CM_ARCH_GICC_INFO),
                               IsAcpiUidEqual
                               );
   // Duplicate ACPI Processor UID was found so the GICC info provided
@@ -257,8 +257,8 @@ AddGICCList (
 STATIC
 VOID
 AddGICD (
-  EFI_ACPI_6_5_GIC_DISTRIBUTOR_STRUCTURE  *CONST  Gicd,
-  CONST CM_ARM_GICD_INFO                  *CONST  GicDInfo
+  EFI_ACPI_6_5_GIC_DISTRIBUTOR_STRUCTURE  *CONST   Gicd,
+  CONST CM_ARCH_GICD_INFO                  *CONST  GicDInfo
   )
 {
   ASSERT (Gicd != NULL);
@@ -294,8 +294,8 @@ AddGICD (
 STATIC
 VOID
 AddGICMsiFrame (
-  IN  EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE  *CONST  GicMsiFrame,
-  IN  CONST CM_ARM_GIC_MSI_FRAME_INFO       *CONST  GicMsiFrameInfo
+  IN  EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE  *CONST   GicMsiFrame,
+  IN  CONST CM_ARCH_GIC_MSI_FRAME_INFO       *CONST  GicMsiFrameInfo
   )
 {
   ASSERT (GicMsiFrame != NULL);
@@ -322,7 +322,7 @@ STATIC
 VOID
 AddGICMsiFrameInfoList (
   IN  EFI_ACPI_6_5_GIC_MSI_FRAME_STRUCTURE  *GicMsiFrame,
-  IN  CONST CM_ARM_GIC_MSI_FRAME_INFO       *GicMsiFrameInfo,
+  IN  CONST CM_ARCH_GIC_MSI_FRAME_INFO      *GicMsiFrameInfo,
   IN        UINT32                          GicMsiFrameCount
   )
 {
@@ -342,8 +342,8 @@ AddGICMsiFrameInfoList (
 STATIC
 VOID
 AddGICRedistributor (
-  IN  EFI_ACPI_6_5_GICR_STRUCTURE   *CONST  Gicr,
-  IN  CONST CM_ARM_GIC_REDIST_INFO  *CONST  GicRedistributorInfo
+  IN  EFI_ACPI_6_5_GICR_STRUCTURE   *CONST   Gicr,
+  IN  CONST CM_ARCH_GIC_REDIST_INFO  *CONST  GicRedistributorInfo
   )
 {
   ASSERT (Gicr != NULL);
@@ -366,9 +366,9 @@ AddGICRedistributor (
 STATIC
 VOID
 AddGICRedistributorList (
-  IN  EFI_ACPI_6_5_GICR_STRUCTURE   *Gicr,
-  IN  CONST CM_ARM_GIC_REDIST_INFO  *GicRInfo,
-  IN        UINT32                  GicRCount
+  IN  EFI_ACPI_6_5_GICR_STRUCTURE    *Gicr,
+  IN  CONST CM_ARCH_GIC_REDIST_INFO  *GicRInfo,
+  IN        UINT32                   GicRCount
   )
 {
   ASSERT (Gicr != NULL);
@@ -387,8 +387,8 @@ AddGICRedistributorList (
 STATIC
 VOID
 AddGICInterruptTranslationService (
-  IN  EFI_ACPI_6_5_GIC_ITS_STRUCTURE  *CONST  GicIts,
-  IN  CONST CM_ARM_GIC_ITS_INFO       *CONST  GicItsInfo
+  IN  EFI_ACPI_6_5_GIC_ITS_STRUCTURE  *CONST   GicIts,
+  IN  CONST CM_ARCH_GIC_ITS_INFO       *CONST  GicItsInfo
   )
 {
   ASSERT (GicIts != NULL);
@@ -413,7 +413,7 @@ STATIC
 VOID
 AddGICItsList (
   IN  EFI_ACPI_6_5_GIC_ITS_STRUCTURE  *GicIts,
-  IN  CONST CM_ARM_GIC_ITS_INFO       *GicItsInfo,
+  IN  CONST CM_ARCH_GIC_ITS_INFO      *GicItsInfo,
   IN        UINT32                    GicItsCount
   )
 {
@@ -457,23 +457,23 @@ BuildMadtTable (
   OUT       EFI_ACPI_DESCRIPTION_HEADER          **CONST  Table
   )
 {
-  EFI_STATUS                 Status;
-  UINT32                     TableSize;
-  UINT32                     GicCCount;
-  UINT32                     GicDCount;
-  UINT32                     GicMSICount;
-  UINT32                     GicRedistCount;
-  UINT32                     GicItsCount;
-  CM_ARM_GICC_INFO           *GicCInfo;
-  CM_ARM_GICD_INFO           *GicDInfo;
-  CM_ARM_GIC_MSI_FRAME_INFO  *GicMSIInfo;
-  CM_ARM_GIC_REDIST_INFO     *GicRedistInfo;
-  CM_ARM_GIC_ITS_INFO        *GicItsInfo;
-  UINT32                     GicCOffset;
-  UINT32                     GicDOffset;
-  UINT32                     GicMSIOffset;
-  UINT32                     GicRedistOffset;
-  UINT32                     GicItsOffset;
+  EFI_STATUS                  Status;
+  UINT32                      TableSize;
+  UINT32                      GicCCount;
+  UINT32                      GicDCount;
+  UINT32                      GicMSICount;
+  UINT32                      GicRedistCount;
+  UINT32                      GicItsCount;
+  CM_ARCH_GICC_INFO           *GicCInfo;
+  CM_ARCH_GICD_INFO           *GicDInfo;
+  CM_ARCH_GIC_MSI_FRAME_INFO  *GicMSIInfo;
+  CM_ARCH_GIC_REDIST_INFO     *GicRedistInfo;
+  CM_ARCH_GIC_ITS_INFO        *GicItsInfo;
+  UINT32                      GicCOffset;
+  UINT32                      GicDOffset;
+  UINT32                      GicMSIOffset;
+  UINT32                      GicRedistOffset;
+  UINT32                      GicItsOffset;
 
   EFI_ACPI_6_5_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER  *Madt;
 
@@ -500,7 +500,7 @@ BuildMadtTable (
 
   *Table = NULL;
 
-  Status = GetEArmObjGicCInfo (
+  Status = GetEArchObjGicCInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicCInfo,
@@ -525,7 +525,7 @@ BuildMadtTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjGicDInfo (
+  Status = GetEArchObjGicDInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicDInfo,
@@ -562,7 +562,7 @@ BuildMadtTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjGicMsiFrameInfo (
+  Status = GetEArchObjGicMsiFrameInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicMSIInfo,
@@ -577,7 +577,7 @@ BuildMadtTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjGicRedistributorInfo (
+  Status = GetEArchObjGicRedistributorInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicRedistInfo,
@@ -592,7 +592,7 @@ BuildMadtTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjGicItsInfo (
+  Status = GetEArchObjGicItsInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicItsInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c
index b990686d40a3..a717ef00f5d9 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c
@@ -37,7 +37,7 @@ extern CHAR8  ssdtcmn600template_aml_code[];
   Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjCmn600Info
+  - EArchObjCmn600Info
 */
 
 /** This macro expands to a function that retrieves the CMN-600
@@ -45,8 +45,8 @@ extern CHAR8  ssdtcmn600template_aml_code[];
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjCmn600Info,
-  CM_ARM_CMN_600_INFO
+  EArchObjCmn600Info,
+  CM_ARCH_CMN_600_INFO
   );
 
 /** Check the CMN-600 Information.
@@ -61,14 +61,14 @@ STATIC
 EFI_STATUS
 EFIAPI
 ValidateCmn600Info (
-  IN  CONST CM_ARM_CMN_600_INFO  *Cmn600InfoList,
-  IN  CONST UINT32               Cmn600Count
+  IN  CONST CM_ARCH_CMN_600_INFO  *Cmn600InfoList,
+  IN  CONST UINT32                Cmn600Count
   )
 {
-  UINT32                          Index;
-  UINT32                          DtcIndex;
-  CONST CM_ARM_CMN_600_INFO       *Cmn600Info;
-  CONST CM_ARM_GENERIC_INTERRUPT  *DtcInterrupt;
+  UINT32                           Index;
+  UINT32                           DtcIndex;
+  CONST CM_ARCH_CMN_600_INFO       *Cmn600Info;
+  CONST CM_ARCH_GENERIC_INTERRUPT  *DtcInterrupt;
 
   if ((Cmn600InfoList == NULL) ||
       (Cmn600Count == 0))
@@ -225,16 +225,16 @@ STATIC
 EFI_STATUS
 EFIAPI
 FixupCmn600Info (
-  IN  CONST CM_ARM_CMN_600_INFO          *Cmn600Info,
+  IN  CONST CM_ARCH_CMN_600_INFO         *Cmn600Info,
   IN  CONST CHAR8                        *Name,
   IN  CONST UINT64                       Uid,
   OUT       EFI_ACPI_DESCRIPTION_HEADER  **Table
   )
 {
-  EFI_STATUS                      Status;
-  EFI_STATUS                      Status1;
-  UINT8                           Index;
-  CONST CM_ARM_GENERIC_INTERRUPT  *DtcInt;
+  EFI_STATUS                       Status;
+  EFI_STATUS                       Status1;
+  UINT8                            Index;
+  CONST CM_ARCH_GENERIC_INTERRUPT  *DtcInt;
 
   EFI_ACPI_DESCRIPTION_HEADER  *SsdtCmn600Template;
   AML_ROOT_NODE_HANDLE         RootNodeHandle;
@@ -518,7 +518,7 @@ BuildSsdtCmn600TableEx (
 {
   EFI_STATUS                   Status;
   UINT64                       Index;
-  CM_ARM_CMN_600_INFO          *Cmn600Info;
+  CM_ARCH_CMN_600_INFO         *Cmn600Info;
   UINT32                       Cmn600Count;
   CHAR8                        NewName[AML_NAME_SEG_SIZE + 1];
   EFI_ACPI_DESCRIPTION_HEADER  **TableList;
@@ -534,7 +534,7 @@ BuildSsdtCmn600TableEx (
   *Table = NULL;
 
   // Get CMN-600 information.
-  Status = GetEArmObjCmn600Info (
+  Status = GetEArchObjCmn600Info (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &Cmn600Info,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
index f6dfb3d94c10..1cd92718a9bd 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
@@ -33,7 +33,7 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjSerialDebugPortInfo
+  - EArchObjSerialDebugPortInfo
 */
 
 #pragma pack(1)
@@ -182,8 +182,8 @@ DBG2_TABLE  AcpiDbg2 = {
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjSerialDebugPortInfo,
-  CM_ARM_SERIAL_PORT_INFO
+  EArchObjSerialDebugPortInfo,
+  CM_ARCH_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_SERIAL_PORT_INFO  *CONST  SerialPortInfo
   )
 {
   EFI_STATUS          Status;
@@ -330,7 +330,7 @@ BuildDbg2TableEx (
   )
 {
   EFI_STATUS                   Status;
-  CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo;
+  CM_ARCH_SERIAL_PORT_INFO     *SerialPortInfo;
   UINT32                       SerialPortCount;
   EFI_ACPI_DESCRIPTION_HEADER  **TableList;
 
@@ -358,7 +358,7 @@ BuildDbg2TableEx (
 
   *Table = NULL;
 
-  Status = GetEArmObjSerialDebugPortInfo (
+  Status = GetEArchObjSerialDebugPortInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
index 57aaaf85e64a..0c5024f73a74 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
@@ -25,9 +25,9 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjPowerManagementProfileInfo
-  - EArmObjBootArchInfo
-  - EArmObjHypervisorVendorIdentity (OPTIONAL)
+  - EArchObjPowerManagementProfileInfo
+  - EArchObjBootArchInfo
+  - EArchObjHypervisorVendorIdentity (OPTIONAL)
 */
 
 /** This macro defines the FADT flag options for ARM Platforms.
@@ -203,8 +203,8 @@ EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE  AcpiFadt = {
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPowerManagementProfileInfo,
-  CM_ARM_POWER_MANAGEMENT_PROFILE_INFO
+  EArchObjPowerManagementProfileInfo,
+  CM_ARCH_POWER_MANAGEMENT_PROFILE_INFO
   );
 
 /** This macro expands to a function that retrieves the Boot
@@ -212,8 +212,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjBootArchInfo,
-  CM_ARM_BOOT_ARCH_INFO
+  EArchObjBootArchInfo,
+  CM_ARCH_BOOT_ARCH_INFO
   );
 
 /** This macro expands to a function that retrieves the Hypervisor
@@ -221,8 +221,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjHypervisorVendorIdentity,
-  CM_ARM_HYPERVISOR_VENDOR_ID
+  EArchObjHypervisorVendorIdentity,
+  CM_ARCH_HYPERVISOR_VENDOR_ID
   );
 
 /** This macro expands to a function that retrieves the Fixed
@@ -230,8 +230,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjFixedFeatureFlags,
-  CM_ARM_FIXED_FEATURE_FLAGS
+  EArchObjFixedFeatureFlags,
+  CM_ARCH_FIXED_FEATURE_FLAGS
   );
 
 /** Update the Power Management Profile information in the FADT Table.
@@ -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_POWER_MANAGEMENT_PROFILE_INFO  *PmProfile;
 
   ASSERT (CfgMgrProtocol != NULL);
 
   // Get the Power Management Profile from the Platform Configuration Manager
-  Status = GetEArmObjPowerManagementProfileInfo (
+  Status = GetEArchObjPowerManagementProfileInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PmProfile,
@@ -307,12 +307,12 @@ FadtAddBootArchInfo (
   )
 {
   EFI_STATUS             Status;
-  CM_ARM_BOOT_ARCH_INFO  *BootArchInfo;
+  CM_ARCH_BOOT_ARCH_INFO  *BootArchInfo;
 
   ASSERT (CfgMgrProtocol != NULL);
 
   // Get the Boot Architecture flags from the Platform Configuration Manager
-  Status = GetEArmObjBootArchInfo (
+  Status = GetEArchObjBootArchInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &BootArchInfo,
@@ -358,13 +358,13 @@ FadtAddHypervisorVendorId (
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol
   )
 {
-  EFI_STATUS                   Status;
-  CM_ARM_HYPERVISOR_VENDOR_ID  *HypervisorVendorInfo;
+  EFI_STATUS                    Status;
+  CM_ARCH_HYPERVISOR_VENDOR_ID  *HypervisorVendorInfo;
 
   ASSERT (CfgMgrProtocol != NULL);
 
   // Get the Hypervisor Vendor ID from the Platform Configuration Manager
-  Status = GetEArmObjHypervisorVendorIdentity (
+  Status = GetEArchObjHypervisorVendorIdentity (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &HypervisorVendorInfo,
@@ -391,7 +391,7 @@ FadtAddHypervisorVendorId (
 
   DEBUG ((
     DEBUG_INFO,
-    "FADT: EArmObjHypervisorVendorIdentity = 0x%lx\n",
+    "FADT: EArchObjHypervisorVendorIdentity = 0x%lx\n",
     HypervisorVendorInfo->HypervisorVendorId
     ));
 
@@ -420,13 +420,13 @@ FadtAddFixedFeatureFlags (
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol
   )
 {
-  EFI_STATUS                  Status;
-  CM_ARM_FIXED_FEATURE_FLAGS  *FixedFeatureFlags;
+  EFI_STATUS                   Status;
+  CM_ARCH_FIXED_FEATURE_FLAGS  *FixedFeatureFlags;
 
   ASSERT (CfgMgrProtocol != NULL);
 
   // Get the Fixed feature flags from the Platform Configuration Manager
-  Status = GetEArmObjFixedFeatureFlags (
+  Status = GetEArchObjFixedFeatureFlags (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &FixedFeatureFlags,
@@ -453,7 +453,7 @@ FadtAddFixedFeatureFlags (
 
   DEBUG ((
     DEBUG_INFO,
-    "FADT: EArmObjFixedFeatureFlags = 0x%x\n",
+    "FADT: EArchObjFixedFeatureFlags = 0x%x\n",
     FixedFeatureFlags->Flags
     ));
 
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
index 004b794a3c0c..0d756788e885 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
@@ -27,7 +27,7 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjPciConfigSpaceInfo
+  - EArchObjPciConfigSpaceInfo
 */
 
 #pragma pack(1)
@@ -52,8 +52,8 @@ typedef
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPciConfigSpaceInfo,
-  CM_ARM_PCI_CONFIG_SPACE_INFO
+  EArchObjPciConfigSpaceInfo,
+  CM_ARCH_PCI_CONFIG_SPACE_INFO
   );
 
 /** Add the PCI Enhanced Configuration Space Information to the MCFG Table.
@@ -70,7 +70,7 @@ VOID
 AddPciConfigurationSpaceList (
   IN       MCFG_TABLE                   *CONST  Mcfg,
   IN CONST UINT32                               PciCfgSpaceOffset,
-  IN CONST CM_ARM_PCI_CONFIG_SPACE_INFO         *PciCfgSpaceInfoList,
+  IN CONST CM_ARCH_PCI_CONFIG_SPACE_INFO        *PciCfgSpaceInfoList,
   IN       UINT32                               PciCfgSpaceCount
   )
 {
@@ -126,11 +126,11 @@ BuildMcfgTable (
   OUT       EFI_ACPI_DESCRIPTION_HEADER          **CONST  Table
   )
 {
-  EFI_STATUS                    Status;
-  UINT32                        TableSize;
-  UINT32                        ConfigurationSpaceCount;
-  CM_ARM_PCI_CONFIG_SPACE_INFO  *PciConfigSpaceInfoList;
-  MCFG_TABLE                    *Mcfg;
+  EFI_STATUS                     Status;
+  UINT32                         TableSize;
+  UINT32                         ConfigurationSpaceCount;
+  CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciConfigSpaceInfoList;
+  MCFG_TABLE                     *Mcfg;
 
   ASSERT (This != NULL);
   ASSERT (AcpiTableInfo != NULL);
@@ -154,7 +154,7 @@ BuildMcfgTable (
   }
 
   *Table = NULL;
-  Status = GetEArmObjPciConfigSpaceInfo (
+  Status = GetEArchObjPciConfigSpaceInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PciConfigSpaceInfoList,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
index 36caf4aaeab7..8e26780a9ce3 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
@@ -29,12 +29,12 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjPccSubspaceType0Info
-  - EArmObjPccSubspaceType1Info
-  - EArmObjPccSubspaceType2Info
-  - EArmObjPccSubspaceType3Info
-  - EArmObjPccSubspaceType4Info
-  - EArmObjPccSubspaceType5Info
+  - EArchObjPccSubspaceType0Info
+  - EArchObjPccSubspaceType1Info
+  - EArchObjPccSubspaceType2Info
+  - EArchObjPccSubspaceType3Info
+  - EArchObjPccSubspaceType4Info
+  - EArchObjPccSubspaceType5Info
 */
 
 /** This macro expands to a function that retrieves the PCC
@@ -42,8 +42,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPccSubspaceType0Info,
-  CM_ARM_PCC_SUBSPACE_TYPE0_INFO
+  EArchObjPccSubspaceType0Info,
+  CM_ARCH_PCC_SUBSPACE_TYPE0_INFO
   );
 
 /** This macro expands to a function that retrieves the PCC
@@ -51,8 +51,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPccSubspaceType1Info,
-  CM_ARM_PCC_SUBSPACE_TYPE1_INFO
+  EArchObjPccSubspaceType1Info,
+  CM_ARCH_PCC_SUBSPACE_TYPE1_INFO
   );
 
 /** This macro expands to a function that retrieves the PCC
@@ -60,8 +60,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPccSubspaceType2Info,
-  CM_ARM_PCC_SUBSPACE_TYPE2_INFO
+  EArchObjPccSubspaceType2Info,
+  CM_ARCH_PCC_SUBSPACE_TYPE2_INFO
   );
 
 /** This macro expands to a function that retrieves the PCC
@@ -69,8 +69,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPccSubspaceType3Info,
-  CM_ARM_PCC_SUBSPACE_TYPE3_INFO
+  EArchObjPccSubspaceType3Info,
+  CM_ARCH_PCC_SUBSPACE_TYPE3_INFO
   );
 
 /** This macro expands to a function that retrieves the PCC
@@ -78,8 +78,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPccSubspaceType4Info,
-  CM_ARM_PCC_SUBSPACE_TYPE4_INFO
+  EArchObjPccSubspaceType4Info,
+  CM_ARCH_PCC_SUBSPACE_TYPE4_INFO
   );
 
 /** This macro expands to a function that retrieves the PCC
@@ -87,8 +87,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPccSubspaceType5Info,
-  CM_ARM_PCC_SUBSPACE_TYPE5_INFO
+  EArchObjPccSubspaceType5Info,
+  CM_ARCH_PCC_SUBSPACE_TYPE5_INFO
   );
 
 /** The Platform is capable of generating an interrupt
@@ -164,11 +164,11 @@ MappingTableFree (
   }
 }
 
-/** Add a new entry for CmArmPccSubspace at Index.
+/** Add a new entry for CmArchPccSubspace at Index.
 
   @param [in] MappingTable      The mapping table structure.
-  @param [in] CmArmPccSubspace  Pointer to a CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO.
-  @param [in] Index             Index at which CmArmPccSubspace must be added.
+  @param [in] CmArchPccSubspace  Pointer to a CM_ARCH_PCC_SUBSPACE_TYPE[X]_INFO.
+  @param [in] Index             Index at which CmArchPccSubspace must be added.
                                 This is the Subspace Id.
 
   @retval EFI_SUCCESS            Success.
@@ -180,13 +180,13 @@ EFI_STATUS
 EFIAPI
 MappingTableAdd (
   IN  MAPPING_TABLE  *MappingTable,
-  IN  VOID           *CmArmPccSubspace,
+  IN  VOID           *CmArchPccSubspace,
   IN  UINT32         Index
   )
 {
   if ((MappingTable == NULL)        ||
       (MappingTable->Table == NULL) ||
-      (CmArmPccSubspace == NULL))
+      (CmArchPccSubspace == NULL))
   {
     ASSERT_EFI_ERROR (EFI_INVALID_PARAMETER);
     return EFI_INVALID_PARAMETER;
@@ -200,14 +200,14 @@ MappingTableAdd (
   }
 
   // Just map the Pcc Subspace in the Table.
-  MappingTable->Table[Index] = CmArmPccSubspace;
+  MappingTable->Table[Index] = CmArchPccSubspace;
   return EFI_SUCCESS;
 }
 
 /** Parse the CmPccArray objects and add them to the MappingTable.
 
   @param [in] MappingTable     The mapping table structure.
-  @param [in] CmPccArray       Pointer to an array of CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO.
+  @param [in] CmPccArray       Pointer to an array of CM_ARCH_PCC_SUBSPACE_TYPE[X]_INFO.
   @param [in] CmPccCount       Count of objects in CmPccArray.
 
   @retval EFI_SUCCESS            Success.
@@ -242,27 +242,27 @@ MapPccSubspaceId (
 
   switch (GenericPcc->Type) {
     case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_GENERIC:
-      CmObjSize = sizeof (CM_ARM_PCC_SUBSPACE_TYPE0_INFO);
+      CmObjSize = sizeof (CM_ARCH_PCC_SUBSPACE_TYPE0_INFO);
       break;
 
     case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS:
-      CmObjSize = sizeof (CM_ARM_PCC_SUBSPACE_TYPE1_INFO);
+      CmObjSize = sizeof (CM_ARCH_PCC_SUBSPACE_TYPE1_INFO);
       break;
 
     case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS:
-      CmObjSize = sizeof (CM_ARM_PCC_SUBSPACE_TYPE2_INFO);
+      CmObjSize = sizeof (CM_ARCH_PCC_SUBSPACE_TYPE2_INFO);
       break;
 
     case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_3_EXTENDED_PCC:
-      CmObjSize = sizeof (CM_ARM_PCC_SUBSPACE_TYPE3_INFO);
+      CmObjSize = sizeof (CM_ARCH_PCC_SUBSPACE_TYPE3_INFO);
       break;
 
     case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_4_EXTENDED_PCC:
-      CmObjSize = sizeof (CM_ARM_PCC_SUBSPACE_TYPE4_INFO);
+      CmObjSize = sizeof (CM_ARCH_PCC_SUBSPACE_TYPE4_INFO);
       break;
 
     case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_5_HW_REGISTERS_COMMUNICATIONS:
-      CmObjSize = sizeof (CM_ARM_PCC_SUBSPACE_TYPE5_INFO);
+      CmObjSize = sizeof (CM_ARCH_PCC_SUBSPACE_TYPE5_INFO);
       break;
 
     default:
@@ -304,7 +304,7 @@ STATIC
 EFI_STATUS
 EFIAPI
 AddSubspaceStructType0 (
-  IN  CM_ARM_PCC_SUBSPACE_TYPE0_INFO      *PccCmObj,
+  IN  CM_ARCH_PCC_SUBSPACE_TYPE0_INFO     *PccCmObj,
   IN  EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC  *PccAcpi
   )
 {
@@ -356,15 +356,15 @@ STATIC
 EFI_STATUS
 EFIAPI
 AddSubspaceStructType1 (
-  IN  CM_ARM_PCC_SUBSPACE_TYPE1_INFO                          *PccCmObj,
+  IN  CM_ARCH_PCC_SUBSPACE_TYPE1_INFO                         *PccCmObj,
   IN  EFI_ACPI_6_4_PCCT_SUBSPACE_1_HW_REDUCED_COMMUNICATIONS  *PccAcpi
   )
 {
-  CM_ARM_PCC_SUBSPACE_TYPE0_INFO    *GenericPccCmObj;
+  CM_ARCH_PCC_SUBSPACE_TYPE0_INFO   *GenericPccCmObj;
   PCC_MAILBOX_REGISTER_INFO         *Doorbell;
   PCC_SUBSPACE_CHANNEL_TIMING_INFO  *ChannelTiming;
 
-  GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
+  GenericPccCmObj = (CM_ARCH_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
 
   if ((PccCmObj == NULL) ||
       (GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS)  ||
@@ -416,16 +416,16 @@ STATIC
 EFI_STATUS
 EFIAPI
 AddSubspaceStructType2 (
-  IN  CM_ARM_PCC_SUBSPACE_TYPE2_INFO                          *PccCmObj,
+  IN  CM_ARCH_PCC_SUBSPACE_TYPE2_INFO                         *PccCmObj,
   IN  EFI_ACPI_6_4_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS  *PccAcpi
   )
 {
-  CM_ARM_PCC_SUBSPACE_TYPE0_INFO    *GenericPccCmObj;
+  CM_ARCH_PCC_SUBSPACE_TYPE0_INFO   *GenericPccCmObj;
   PCC_MAILBOX_REGISTER_INFO         *Doorbell;
   PCC_MAILBOX_REGISTER_INFO         *PlatIrqAck;
   PCC_SUBSPACE_CHANNEL_TIMING_INFO  *ChannelTiming;
 
-  GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
+  GenericPccCmObj = (CM_ARCH_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
 
   if ((PccCmObj == NULL) ||
       (GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS)  ||
@@ -487,11 +487,11 @@ STATIC
 EFI_STATUS
 EFIAPI
 AddSubspaceStructType34 (
-  IN  CM_ARM_PCC_SUBSPACE_TYPE3_INFO             *PccCmObj,
+  IN  CM_ARCH_PCC_SUBSPACE_TYPE3_INFO            *PccCmObj,
   IN  EFI_ACPI_6_4_PCCT_SUBSPACE_3_EXTENDED_PCC  *PccAcpi
   )
 {
-  CM_ARM_PCC_SUBSPACE_TYPE0_INFO    *GenericPccCmObj;
+  CM_ARCH_PCC_SUBSPACE_TYPE0_INFO   *GenericPccCmObj;
   PCC_MAILBOX_REGISTER_INFO         *Doorbell;
   PCC_MAILBOX_REGISTER_INFO         *PlatIrqAck;
   PCC_MAILBOX_REGISTER_INFO         *CmdCompleteCheck;
@@ -499,7 +499,7 @@ AddSubspaceStructType34 (
   PCC_MAILBOX_REGISTER_INFO         *ErrorStatus;
   PCC_SUBSPACE_CHANNEL_TIMING_INFO  *ChannelTiming;
 
-  GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
+  GenericPccCmObj = (CM_ARCH_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
 
   if ((PccCmObj == NULL) ||
       ((GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_3_EXTENDED_PCC) &&
@@ -599,17 +599,17 @@ STATIC
 EFI_STATUS
 EFIAPI
 AddSubspaceStructType5 (
-  IN  CM_ARM_PCC_SUBSPACE_TYPE5_INFO                            *PccCmObj,
+  IN  CM_ARCH_PCC_SUBSPACE_TYPE5_INFO                           *PccCmObj,
   IN  EFI_ACPI_6_4_PCCT_SUBSPACE_5_HW_REGISTERS_COMMUNICATIONS  *PccAcpi
   )
 {
-  CM_ARM_PCC_SUBSPACE_TYPE0_INFO    *GenericPccCmObj;
+  CM_ARCH_PCC_SUBSPACE_TYPE0_INFO   *GenericPccCmObj;
   PCC_MAILBOX_REGISTER_INFO         *Doorbell;
   PCC_MAILBOX_REGISTER_INFO         *CmdCompleteCheck;
   PCC_MAILBOX_REGISTER_INFO         *ErrorStatus;
   PCC_SUBSPACE_CHANNEL_TIMING_INFO  *ChannelTiming;
 
-  GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
+  GenericPccCmObj = (CM_ARCH_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj;
 
   if ((PccCmObj == NULL) ||
       (GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_5_HW_REGISTERS_COMMUNICATIONS)  ||
@@ -705,7 +705,7 @@ PopulatePcctTable (
     switch (((PCC_SUBSPACE_GENERIC_INFO *)CurrentPccSubspace)->Type) {
       case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_GENERIC:
         Status = AddSubspaceStructType0 (
-                   (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)CurrentPccSubspace,
+                   (CM_ARCH_PCC_SUBSPACE_TYPE0_INFO *)CurrentPccSubspace,
                    (EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC *)PccBuffer
                    );
 
@@ -714,7 +714,7 @@ PopulatePcctTable (
 
       case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS:
         Status = AddSubspaceStructType1 (
-                   (CM_ARM_PCC_SUBSPACE_TYPE1_INFO *)CurrentPccSubspace,
+                   (CM_ARCH_PCC_SUBSPACE_TYPE1_INFO *)CurrentPccSubspace,
                    (EFI_ACPI_6_4_PCCT_SUBSPACE_1_HW_REDUCED_COMMUNICATIONS *)PccBuffer
                    );
 
@@ -723,7 +723,7 @@ PopulatePcctTable (
 
       case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS:
         Status = AddSubspaceStructType2 (
-                   (CM_ARM_PCC_SUBSPACE_TYPE2_INFO *)CurrentPccSubspace,
+                   (CM_ARCH_PCC_SUBSPACE_TYPE2_INFO *)CurrentPccSubspace,
                    (EFI_ACPI_6_4_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS *)PccBuffer
                    );
 
@@ -732,7 +732,7 @@ PopulatePcctTable (
 
       case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_3_EXTENDED_PCC:
         Status = AddSubspaceStructType34 (
-                   (CM_ARM_PCC_SUBSPACE_TYPE3_INFO *)CurrentPccSubspace,
+                   (CM_ARCH_PCC_SUBSPACE_TYPE3_INFO *)CurrentPccSubspace,
                    (EFI_ACPI_6_4_PCCT_SUBSPACE_3_EXTENDED_PCC *)PccBuffer
                    );
 
@@ -741,7 +741,7 @@ PopulatePcctTable (
 
       case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_4_EXTENDED_PCC:
         Status = AddSubspaceStructType34 (
-                   (CM_ARM_PCC_SUBSPACE_TYPE4_INFO *)CurrentPccSubspace,
+                   (CM_ARCH_PCC_SUBSPACE_TYPE4_INFO *)CurrentPccSubspace,
                    (EFI_ACPI_6_4_PCCT_SUBSPACE_4_EXTENDED_PCC *)PccBuffer
                    );
 
@@ -750,7 +750,7 @@ PopulatePcctTable (
 
       case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_5_HW_REGISTERS_COMMUNICATIONS:
         Status = AddSubspaceStructType5 (
-                   (CM_ARM_PCC_SUBSPACE_TYPE5_INFO *)CurrentPccSubspace,
+                   (CM_ARCH_PCC_SUBSPACE_TYPE5_INFO *)CurrentPccSubspace,
                    (EFI_ACPI_6_4_PCCT_SUBSPACE_5_HW_REGISTERS_COMMUNICATIONS *)PccBuffer
                    );
 
@@ -822,18 +822,18 @@ BuildPcctTable (
   MAPPING_TABLE  *MappingTable;
   UINT32         MappingTableCount;
 
-  CM_ARM_PCC_SUBSPACE_TYPE0_INFO  *PccType0;
-  UINT32                          PccType0Count;
-  CM_ARM_PCC_SUBSPACE_TYPE1_INFO  *PccType1;
-  UINT32                          PccType1Count;
-  CM_ARM_PCC_SUBSPACE_TYPE2_INFO  *PccType2;
-  UINT32                          PccType2Count;
-  CM_ARM_PCC_SUBSPACE_TYPE3_INFO  *PccType3;
-  UINT32                          PccType3Count;
-  CM_ARM_PCC_SUBSPACE_TYPE4_INFO  *PccType4;
-  UINT32                          PccType4Count;
-  CM_ARM_PCC_SUBSPACE_TYPE5_INFO  *PccType5;
-  UINT32                          PccType5Count;
+  CM_ARCH_PCC_SUBSPACE_TYPE0_INFO  *PccType0;
+  UINT32                           PccType0Count;
+  CM_ARCH_PCC_SUBSPACE_TYPE1_INFO  *PccType1;
+  UINT32                           PccType1Count;
+  CM_ARCH_PCC_SUBSPACE_TYPE2_INFO  *PccType2;
+  UINT32                           PccType2Count;
+  CM_ARCH_PCC_SUBSPACE_TYPE3_INFO  *PccType3;
+  UINT32                           PccType3Count;
+  CM_ARCH_PCC_SUBSPACE_TYPE4_INFO  *PccType4;
+  UINT32                           PccType4Count;
+  CM_ARCH_PCC_SUBSPACE_TYPE5_INFO  *PccType5;
+  UINT32                           PccType5Count;
 
   ASSERT (This != NULL);
   ASSERT (AcpiTableInfo != NULL);
@@ -863,7 +863,7 @@ BuildPcctTable (
 
   // First get all the Pcc Subpace CmObj of type X.
 
-  Status = GetEArmObjPccSubspaceType0Info (
+  Status = GetEArchObjPccSubspaceType0Info (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PccType0,
@@ -874,7 +874,7 @@ BuildPcctTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjPccSubspaceType1Info (
+  Status = GetEArchObjPccSubspaceType1Info (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PccType1,
@@ -885,7 +885,7 @@ BuildPcctTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjPccSubspaceType2Info (
+  Status = GetEArchObjPccSubspaceType2Info (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PccType2,
@@ -896,7 +896,7 @@ BuildPcctTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjPccSubspaceType3Info (
+  Status = GetEArchObjPccSubspaceType3Info (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PccType3,
@@ -907,7 +907,7 @@ BuildPcctTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjPccSubspaceType4Info (
+  Status = GetEArchObjPccSubspaceType4Info (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PccType4,
@@ -918,7 +918,7 @@ BuildPcctTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjPccSubspaceType5Info (
+  Status = GetEArchObjPccSubspaceType5Info (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PccType5,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
index 78fa63ff47e5..36bac2a3a1a4 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
@@ -32,10 +32,10 @@
 
   Requirements:
     The following Configuration Manager Object(s) are used by this Generator:
-    - EArmObjProcHierarchyInfo (REQUIRED)
-    - EArmObjCacheInfo
-    - EArmObjCmRef
-    - EArmObjGicCInfo (REQUIRED)
+    - EArchObjProcHierarchyInfo (REQUIRED)
+    - EArchObjCacheInfo
+    - EArchObjCmRef
+    - EArchObjGicCInfo (REQUIRED)
 */
 
 /**
@@ -44,8 +44,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjProcHierarchyInfo,
-  CM_ARM_PROC_HIERARCHY_INFO
+  EArchObjProcHierarchyInfo,
+  CM_ARCH_PROC_HIERARCHY_INFO
   );
 
 /**
@@ -54,8 +54,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjCacheInfo,
-  CM_ARM_CACHE_INFO
+  EArchObjCacheInfo,
+  CM_ARCH_CACHE_INFO
   );
 
 /**
@@ -64,8 +64,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjCmRef,
-  CM_ARM_OBJ_REF
+  EArchObjCmRef,
+  CM_ARCH_OBJ_REF
   );
 
 /**
@@ -74,8 +74,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicCInfo,
-  CM_ARM_GICC_INFO
+  EArchObjGicCInfo,
+  CM_ARCH_GICC_INFO
   );
 
 /**
@@ -90,7 +90,7 @@ GET_OBJECT_LIST (
 STATIC
 UINT32
 GetProcHierarchyNodeSize (
-  IN  CONST CM_ARM_PROC_HIERARCHY_INFO  *Node
+  IN  CONST CM_ARCH_PROC_HIERARCHY_INFO  *Node
   )
 {
   ASSERT (Node != NULL);
@@ -107,7 +107,7 @@ GetProcHierarchyNodeSize (
 GET_SIZE_OF_PPTT_STRUCTS (
   ProcHierarchyNodes,
   GetProcHierarchyNodeSize (NodesToIndex),
-  CM_ARM_PROC_HIERARCHY_INFO
+  CM_ARCH_PROC_HIERARCHY_INFO
   );
 
 /**
@@ -117,7 +117,7 @@ GET_SIZE_OF_PPTT_STRUCTS (
 GET_SIZE_OF_PPTT_STRUCTS (
   CacheTypeStructs,
   sizeof (EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE),
-  CM_ARM_CACHE_INFO
+  CM_ARCH_CACHE_INFO
   );
 
 /**
@@ -264,7 +264,7 @@ DetectCyclesInTopology (
                                     Protocol Interface.
   @param [in]  PrivResArray         Pointer to the array of private resources.
   @param [in]  PrivResCount         Number of private resources.
-  @param [in]  PrivResArrayToken    Reference Token for the CM_ARM_OBJ_REF
+  @param [in]  PrivResArrayToken    Reference Token for the CM_ARCH_OBJ_REF
                                     array describing node's private resources.
 
   @retval EFI_SUCCESS               Array updated successfully.
@@ -282,7 +282,7 @@ AddPrivateResources (
   )
 {
   EFI_STATUS         Status;
-  CM_ARM_OBJ_REF     *CmObjRefs;
+  CM_ARCH_OBJ_REF    *CmObjRefs;
   UINT32             CmObjRefCount;
   PPTT_NODE_INDEXER  *PpttNodeFound;
 
@@ -308,7 +308,7 @@ AddPrivateResources (
 
   CmObjRefCount = 0;
   // Get the CM Object References
-  Status = GetEArmObjCmRef (
+  Status = GetEArchObjCmRef (
              CfgMgrProtocol,
              PrivResArrayToken,
              &CmObjRefs,
@@ -409,10 +409,10 @@ IsGicCTokenEqual (
   IN        UINTN  Index2
   )
 {
-  PPTT_NODE_INDEXER           *IndexedObject1;
-  PPTT_NODE_INDEXER           *IndexedObject2;
-  CM_ARM_PROC_HIERARCHY_INFO  *ProcNode1;
-  CM_ARM_PROC_HIERARCHY_INFO  *ProcNode2;
+  PPTT_NODE_INDEXER            *IndexedObject1;
+  PPTT_NODE_INDEXER            *IndexedObject2;
+  CM_ARCH_PROC_HIERARCHY_INFO  *ProcNode1;
+  CM_ARCH_PROC_HIERARCHY_INFO  *ProcNode2;
 
   ASSERT (
     (Object1 != NULL) &&
@@ -421,8 +421,8 @@ IsGicCTokenEqual (
 
   IndexedObject1 = (PPTT_NODE_INDEXER *)Object1;
   IndexedObject2 = (PPTT_NODE_INDEXER *)Object2;
-  ProcNode1      = (CM_ARM_PROC_HIERARCHY_INFO *)IndexedObject1->Object;
-  ProcNode2      = (CM_ARM_PROC_HIERARCHY_INFO *)IndexedObject2->Object;
+  ProcNode1      = (CM_ARCH_PROC_HIERARCHY_INFO *)IndexedObject1->Object;
+  ProcNode2      = (CM_ARCH_PROC_HIERARCHY_INFO *)IndexedObject2->Object;
 
   if (IS_ACPI_PROC_ID_VALID (ProcNode1) &&
       IS_ACPI_PROC_ID_VALID (ProcNode2) &&
@@ -476,12 +476,12 @@ AddProcHierarchyNodes (
   UINT32                                 *PrivateResources;
   BOOLEAN                                IsGicCTokenDuplicated;
 
-  CM_ARM_GICC_INFO  *GicCInfoList;
-  UINT32            GicCInfoCount;
-  UINT32            UniqueGicCRefCount;
+  CM_ARCH_GICC_INFO  *GicCInfoList;
+  UINT32             GicCInfoCount;
+  UINT32             UniqueGicCRefCount;
 
-  PPTT_NODE_INDEXER           *PpttNodeFound;
-  CM_ARM_PROC_HIERARCHY_INFO  *ProcInfoNode;
+  PPTT_NODE_INDEXER            *PpttNodeFound;
+  CM_ARCH_PROC_HIERARCHY_INFO  *ProcInfoNode;
 
   PPTT_NODE_INDEXER  *ProcNodeIterator;
   UINT32             NodeCount;
@@ -515,7 +515,7 @@ AddProcHierarchyNodes (
   UniqueGicCRefCount = 0;
 
   while (NodeCount-- != 0) {
-    ProcInfoNode = (CM_ARM_PROC_HIERARCHY_INFO *)ProcNodeIterator->Object;
+    ProcInfoNode = (CM_ARCH_PROC_HIERARCHY_INFO *)ProcNodeIterator->Object;
 
     // Check if the private resource count is within the size limit
     // imposed on the Processor Hierarchy node by the specification.
@@ -575,7 +575,7 @@ AddProcHierarchyNodes (
 
       // Test if the reference is to a 'leaf' node
       if (IS_PROC_NODE_LEAF (
-            ((CM_ARM_PROC_HIERARCHY_INFO *)PpttNodeFound->Object)
+            ((CM_ARCH_PROC_HIERARCHY_INFO *)PpttNodeFound->Object)
             ))
       {
         Status = EFI_INVALID_PARAMETER;
@@ -615,7 +615,7 @@ AddProcHierarchyNodes (
         ));
       return Status;
     } else {
-      Status = GetEArmObjGicCInfo (
+      Status = GetEArchObjGicCInfo (
                  CfgMgrProtocol,
                  ProcInfoNode->GicCToken,
                  &GicCInfoList,
@@ -690,7 +690,7 @@ AddProcHierarchyNodes (
 
   // Knowing the total number of GICC references made and that all GICC Token
   // references are unique, we can test if no GICC instances have been left out.
-  Status = GetEArmObjGicCInfo (
+  Status = GetEArchObjGicCInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicCInfoList,
@@ -786,7 +786,7 @@ AddCacheTypeStructures (
   EFI_STATUS                         Status;
   EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE  *CacheStruct;
   PPTT_NODE_INDEXER                  *PpttNodeFound;
-  CM_ARM_CACHE_INFO                  *CacheInfoNode;
+  CM_ARCH_CACHE_INFO                 *CacheInfoNode;
   PPTT_NODE_INDEXER                  *CacheNodeIterator;
   UINT32                             NodeCount;
   BOOLEAN                            CacheIdUnique;
@@ -812,7 +812,7 @@ AddCacheTypeStructures (
   }
 
   for (NodeIndex = 0; NodeIndex < NodeCount; NodeIndex++) {
-    CacheInfoNode = (CM_ARM_CACHE_INFO *)CacheNodeIterator->Object;
+    CacheInfoNode = (CM_ARCH_CACHE_INFO *)CacheNodeIterator->Object;
 
     // Populate the node header
     CacheStruct->Type        = EFI_ACPI_6_4_PPTT_TYPE_CACHE;
@@ -1072,8 +1072,8 @@ BuildPpttTable (
   UINT32  ProcHierarchyNodeOffset;
   UINT32  CacheStructOffset;
 
-  CM_ARM_PROC_HIERARCHY_INFO  *ProcHierarchyNodeList;
-  CM_ARM_CACHE_INFO           *CacheStructList;
+  CM_ARCH_PROC_HIERARCHY_INFO  *ProcHierarchyNodeList;
+  CM_ARCH_CACHE_INFO           *CacheStructList;
 
   ACPI_PPTT_GENERATOR  *Generator;
 
@@ -1110,7 +1110,7 @@ BuildPpttTable (
 
   // Get the processor hierarchy info and update the processor topology
   // structure count with Processor Hierarchy Nodes (Type 0)
-  Status = GetEArmObjProcHierarchyInfo (
+  Status = GetEArchObjProcHierarchyInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &ProcHierarchyNodeList,
@@ -1130,7 +1130,7 @@ BuildPpttTable (
 
   // Get the cache info and update the processor topology structure count with
   // Cache Type Structures (Type 1)
-  Status = GetEArmObjCacheInfo (
+  Status = GetEArchObjCacheInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &CacheStructList,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
index 59cbacbfbbde..d03c994e538d 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
@@ -33,7 +33,7 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjSerialConsolePortInfo
+  - EArchObjSerialConsolePortInfo
 
 NOTE: This implementation ignores the possibility that the Serial settings may
       be modified from the UEFI Shell.  A more complex handler would be needed
@@ -99,8 +99,8 @@ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE  AcpiSpcr = {
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjSerialConsolePortInfo,
-  CM_ARM_SERIAL_PORT_INFO
+  EArchObjSerialConsolePortInfo,
+  CM_ARCH_SERIAL_PORT_INFO
   )
 
 /** Free any resources allocated for constructing the tables.
@@ -201,7 +201,7 @@ BuildSpcrTableEx (
   )
 {
   EFI_STATUS                   Status;
-  CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo;
+  CM_ARCH_SERIAL_PORT_INFO     *SerialPortInfo;
   UINT32                       SerialPortCount;
   EFI_ACPI_DESCRIPTION_HEADER  **TableList;
 
@@ -229,7 +229,7 @@ BuildSpcrTableEx (
 
   *Table = NULL;
 
-  Status = GetEArmObjSerialConsolePortInfo (
+  Status = GetEArchObjSerialConsolePortInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
index 431995ed3884..c08cd8be2f67 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
@@ -30,12 +30,12 @@
 
   Requirements:
     The following Configuration Manager Object(s) are used by this Generator:
-    - EArmObjGicCInfo (REQUIRED)
-    - EArmObjGicItsInfo (OPTIONAL)
-    - EArmObjMemoryAffinityInfo (OPTIONAL)
-    - EArmObjGenericInitiatorAffinityInfo (OPTIONAL)
-    - EArmObjDeviceHandleAcpi (OPTIONAL)
-    - EArmObjDeviceHandlePci (OPTIONAL)
+    - EArchObjGicCInfo (REQUIRED)
+    - EArchObjGicItsInfo (OPTIONAL)
+    - EArchObjMemoryAffinityInfo (OPTIONAL)
+    - EArchObjGenericInitiatorAffinityInfo (OPTIONAL)
+    - EArchObjDeviceHandleAcpi (OPTIONAL)
+    - EArchObjDeviceHandlePci (OPTIONAL)
 */
 
 /** This macro expands to a function that retrieves the GIC
@@ -43,8 +43,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicCInfo,
-  CM_ARM_GICC_INFO
+  EArchObjGicCInfo,
+  CM_ARCH_GICC_INFO
   );
 
 /** This macro expands to a function that retrieves the GIC
@@ -53,8 +53,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicItsInfo,
-  CM_ARM_GIC_ITS_INFO
+  EArchObjGicItsInfo,
+  CM_ARCH_GIC_ITS_INFO
   );
 
 /**
@@ -63,8 +63,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjMemoryAffinityInfo,
-  CM_ARM_MEMORY_AFFINITY_INFO
+  EArchObjMemoryAffinityInfo,
+  CM_ARCH_MEMORY_AFFINITY_INFO
   );
 
 /**
@@ -73,8 +73,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGenericInitiatorAffinityInfo,
-  CM_ARM_GENERIC_INITIATOR_AFFINITY_INFO
+  EArchObjGenericInitiatorAffinityInfo,
+  CM_ARCH_GENERIC_INITIATOR_AFFINITY_INFO
   );
 
 /**
@@ -83,8 +83,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjDeviceHandleAcpi,
-  CM_ARM_DEVICE_HANDLE_ACPI
+  EArchObjDeviceHandleAcpi,
+  CM_ARCH_DEVICE_HANDLE_ACPI
   );
 
 /**
@@ -93,8 +93,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjDeviceHandlePci,
-  CM_ARM_DEVICE_HANDLE_PCI
+  EArchObjDeviceHandlePci,
+  CM_ARCH_DEVICE_HANDLE_PCI
   );
 
 /** Return the PCI Device information in BDF format
@@ -110,7 +110,7 @@ GET_OBJECT_LIST (
 STATIC
 UINT16
 GetBdf (
-  IN CONST CM_ARM_DEVICE_HANDLE_PCI  *DeviceHandlePci
+  IN CONST CM_ARCH_DEVICE_HANDLE_PCI  *DeviceHandlePci
   )
 {
   UINT16  Bdf;
@@ -139,7 +139,7 @@ AddGICCAffinity (
   IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL         *CONST  CfgMgrProtocol,
   IN EFI_ACPI_6_3_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER *CONST  Srat,
   IN CONST UINT32                                               GicCAffOffset,
-  IN CONST CM_ARM_GICC_INFO                                     *GicCInfo,
+  IN CONST CM_ARCH_GICC_INFO                                    *GicCInfo,
   IN       UINT32                                               GicCCount
   )
 {
@@ -187,7 +187,7 @@ AddGICItsAffinity (
   IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL         *CONST  CfgMgrProtocol,
   IN EFI_ACPI_6_3_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER *CONST  Srat,
   IN CONST UINT32                                               GicItsAffOffset,
-  IN CONST CM_ARM_GIC_ITS_INFO                                  *GicItsInfo,
+  IN CONST CM_ARCH_GIC_ITS_INFO                                 *GicItsInfo,
   IN       UINT32                                               GicItsCount
   )
 {
@@ -235,7 +235,7 @@ AddMemoryAffinity (
   IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL         *CONST  CfgMgrProtocol,
   IN EFI_ACPI_6_3_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER *CONST  Srat,
   IN CONST UINT32                                               MemAffOffset,
-  IN CONST CM_ARM_MEMORY_AFFINITY_INFO                          *MemAffInfo,
+  IN CONST CM_ARCH_MEMORY_AFFINITY_INFO                         *MemAffInfo,
   IN       UINT32                                               MemAffCount
   )
 {
@@ -295,14 +295,14 @@ AddGenericInitiatorAffinity (
   IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL         *CONST  CfgMgrProtocol,
   IN EFI_ACPI_6_3_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER *CONST  Srat,
   IN CONST UINT32                                               GenInitAffOff,
-  IN CONST CM_ARM_GENERIC_INITIATOR_AFFINITY_INFO               *GenInitAffInfo,
+  IN CONST CM_ARCH_GENERIC_INITIATOR_AFFINITY_INFO              *GenInitAffInfo,
   IN       UINT32                                               GenInitAffCount
   )
 {
   EFI_STATUS                                         Status;
   EFI_ACPI_6_3_GENERIC_INITIATOR_AFFINITY_STRUCTURE  *GenInitAff;
-  CM_ARM_DEVICE_HANDLE_ACPI                          *DeviceHandleAcpi;
-  CM_ARM_DEVICE_HANDLE_PCI                           *DeviceHandlePci;
+  CM_ARCH_DEVICE_HANDLE_ACPI                         *DeviceHandleAcpi;
+  CM_ARCH_DEVICE_HANDLE_PCI                          *DeviceHandlePci;
   UINT32                                             DeviceHandleCount;
 
   ASSERT (Srat != NULL);
@@ -331,7 +331,7 @@ AddGenericInitiatorAffinity (
     }
 
     if (GenInitAffInfo->DeviceHandleType == EFI_ACPI_6_3_ACPI_DEVICE_HANDLE) {
-      Status = GetEArmObjDeviceHandleAcpi (
+      Status = GetEArchObjDeviceHandleAcpi (
                  CfgMgrProtocol,
                  GenInitAffInfo->DeviceHandleToken,
                  &DeviceHandleAcpi,
@@ -362,7 +362,7 @@ AddGenericInitiatorAffinity (
     } else if (GenInitAffInfo->DeviceHandleType ==
                EFI_ACPI_6_3_PCI_DEVICE_HANDLE)
     {
-      Status = GetEArmObjDeviceHandlePci (
+      Status = GetEArchObjDeviceHandlePci (
                  CfgMgrProtocol,
                  GenInitAffInfo->DeviceHandleToken,
                  &DeviceHandlePci,
@@ -465,10 +465,10 @@ BuildSratTable (
   UINT32  MemAffOffset;
   UINT32  GenInitiatorAffOffset;
 
-  CM_ARM_GICC_INFO                        *GicCInfo;
-  CM_ARM_GIC_ITS_INFO                     *GicItsInfo;
-  CM_ARM_MEMORY_AFFINITY_INFO             *MemAffInfo;
-  CM_ARM_GENERIC_INITIATOR_AFFINITY_INFO  *GenInitiatorAffInfo;
+  CM_ARCH_GICC_INFO                        *GicCInfo;
+  CM_ARCH_GIC_ITS_INFO                     *GicItsInfo;
+  CM_ARCH_MEMORY_AFFINITY_INFO             *MemAffInfo;
+  CM_ARCH_GENERIC_INITIATOR_AFFINITY_INFO  *GenInitiatorAffInfo;
 
   EFI_ACPI_6_3_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER  *Srat;
 
@@ -497,7 +497,7 @@ BuildSratTable (
 
   *Table = NULL;
 
-  Status = GetEArmObjGicCInfo (
+  Status = GetEArchObjGicCInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicCInfo,
@@ -522,7 +522,7 @@ BuildSratTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjGicItsInfo (
+  Status = GetEArchObjGicItsInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicItsInfo,
@@ -537,7 +537,7 @@ BuildSratTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjMemoryAffinityInfo (
+  Status = GetEArchObjMemoryAffinityInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &MemAffInfo,
@@ -552,7 +552,7 @@ BuildSratTable (
     goto error_handler;
   }
 
-  Status = GetEArmObjGenericInitiatorAffinityInfo (
+  Status = GetEArchObjGenericInitiatorAffinityInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GenInitiatorAffInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
index 724f33c660a8..f7dc5ab0bff1 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
@@ -37,11 +37,11 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjGicCInfo
-  - EArmObjProcHierarchyInfo (OPTIONAL) along with
-  - EArmObjCmRef (OPTIONAL)
-  - EArmObjLpiInfo (OPTIONAL)
-  - GetEArmObjEtInfo (OPTIONAL)
+  - EArchObjGicCInfo
+  - EArchObjProcHierarchyInfo (OPTIONAL) along with
+  - EArchObjCmRef (OPTIONAL)
+  - EArchObjLpiInfo (OPTIONAL)
+  - GetEArchObjEtInfo (OPTIONAL)
 */
 
 /** This macro expands to a function that retrieves the GIC
@@ -49,8 +49,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjGicCInfo,
-  CM_ARM_GICC_INFO
+  EArchObjGicCInfo,
+  CM_ARCH_GICC_INFO
   );
 
 /**
@@ -59,8 +59,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjProcHierarchyInfo,
-  CM_ARM_PROC_HIERARCHY_INFO
+  EArchObjProcHierarchyInfo,
+  CM_ARCH_PROC_HIERARCHY_INFO
   );
 
 /**
@@ -69,8 +69,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjCmRef,
-  CM_ARM_OBJ_REF
+  EArchObjCmRef,
+  CM_ARCH_OBJ_REF
   );
 
 /**
@@ -79,8 +79,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjLpiInfo,
-  CM_ARM_LPI_INFO
+  EArchObjLpiInfo,
+  CM_ARCH_LPI_INFO
   );
 
 /**
@@ -89,8 +89,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjCpcInfo,
-  CM_ARM_CPC_INFO
+  EArchObjCpcInfo,
+  CM_ARCH_CPC_INFO
   );
 
 /**
@@ -99,18 +99,18 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjEtInfo,
-  CM_ARM_ET_INFO
+  EArchObjEtInfo,
+  CM_ARCH_ET_INFO
   );
 
 /** Initialize the TokenTable.
 
-  One entry should be allocated for each CM_ARM_PROC_HIERARCHY_INFO
+  One entry should be allocated for each CM_ARCH_PROC_HIERARCHY_INFO
   structure of the platform. The TokenTable allows to have a mapping:
-  Index <-> CM_OBJECT_TOKEN (to CM_ARM_LPI_INFO structures).
+  Index <-> CM_OBJECT_TOKEN (to CM_ARCH_LPI_INFO structures).
 
-  There will always be less sets of Lpi states (CM_ARM_OBJ_REF)
-  than the number of cpus/clusters (CM_ARM_PROC_HIERARCHY_INFO).
+  There will always be less sets of Lpi states (CM_ARCH_OBJ_REF)
+  than the number of cpus/clusters (CM_ARCH_PROC_HIERARCHY_INFO).
 
   @param [in]  Generator  The SSDT Cpu Topology generator.
   @param [in]  Count      Number of entries to allocate in the TokenTable.
@@ -301,7 +301,7 @@ WriteAslName (
   @param [in]  Generator              The SSDT Cpu Topology generator.
   @param [in]  CfgMgrProtocol         Pointer to the Configuration Manager
                                       Protocol Interface.
-  @param [in]  GicCInfo               Pointer to the CM_ARM_GICC_INFO object
+  @param [in]  GicCInfo               Pointer to the CM_ARCH_GICC_INFO object
                                       describing the Cpu.
   @param [in]  Node                   CPU Node to which the _CPC node is
                                       attached.
@@ -316,14 +316,14 @@ EFIAPI
 CreateAmlCpcNode (
   IN  ACPI_CPU_TOPOLOGY_GENERATOR                         *Generator,
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN  CM_ARM_GICC_INFO                                    *GicCInfo,
+  IN  CM_ARCH_GICC_INFO                                    *GicCInfo,
   IN  AML_OBJECT_NODE_HANDLE                              *Node
   )
 {
   EFI_STATUS       Status;
-  CM_ARM_CPC_INFO  *CpcInfo;
+  CM_ARCH_CPC_INFO  *CpcInfo;
 
-  Status = GetEArmObjCpcInfo (
+  Status = GetEArchObjCpcInfo (
              CfgMgrProtocol,
              GicCInfo->CpcToken,
              &CpcInfo,
@@ -359,7 +359,7 @@ CreateAmlCpcNode (
 
   @param [in]  Generator    The SSDT Cpu Topology generator.
   @param [in]  ParentNode   Parent node to attach the Cpu node to.
-  @param [in]  GicCInfo     CM_ARM_GICC_INFO object used to create the node.
+  @param [in]  GicCInfo     CM_ARCH_GICC_INFO object used to create the node.
   @param [in]  CpuName      Value used to generate the node name.
   @param [out] EtNodePtr   If not NULL, return the created Cpu node.
 
@@ -373,7 +373,7 @@ EFIAPI
 CreateAmlEtd (
   IN   ACPI_CPU_TOPOLOGY_GENERATOR  *Generator,
   IN   AML_NODE_HANDLE              ParentNode,
-  IN   CM_ARM_GICC_INFO             *GicCInfo,
+  IN   CM_ARCH_GICC_INFO             *GicCInfo,
   IN   UINT32                       CpuName,
   OUT  AML_OBJECT_NODE_HANDLE       *EtNodePtr OPTIONAL
   )
@@ -432,7 +432,7 @@ CreateAmlEtd (
   @param [in]  Generator              The SSDT Cpu Topology generator.
   @param [in]  CfgMgrProtocol         Pointer to the Configuration Manager
                                       Protocol Interface.
-  @param [in]  GicCInfo               Pointer to the CM_ARM_GICC_INFO object
+  @param [in]  GicCInfo               Pointer to the CM_ARCH_GICC_INFO object
                                       describing the Cpu.
   @param [in]  CpuName                Value used to generate the CPU node name.
   @param [in]  Node                   CPU Node to which the ET device node is
@@ -449,15 +449,15 @@ EFIAPI
 CreateAmlEtNode (
   IN  ACPI_CPU_TOPOLOGY_GENERATOR                         *Generator,
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN  CM_ARM_GICC_INFO                                    *GicCInfo,
+  IN  CM_ARCH_GICC_INFO                                   *GicCInfo,
   IN        UINT32                                        CpuName,
   IN  AML_OBJECT_NODE_HANDLE                              *Node
   )
 {
   EFI_STATUS      Status;
-  CM_ARM_ET_INFO  *EtInfo;
+  CM_ARCH_ET_INFO  *EtInfo;
 
-  Status = GetEArmObjEtInfo (
+  Status = GetEArchObjEtInfo (
              CfgMgrProtocol,
              GicCInfo->EtToken,
              &EtInfo,
@@ -505,7 +505,7 @@ CreateAmlEtNode (
   }
 
   @param [in]  Generator              The SSDT Cpu Topology generator.
-  @param [in]  ProcHierarchyNodeInfo  CM_ARM_PROC_HIERARCHY_INFO describing
+  @param [in]  ProcHierarchyNodeInfo  CM_ARCH_PROC_HIERARCHY_INFO describing
                                       the Cpu.
   @param [in]  Node                   Node to which the _LPI method is
                                       attached. Can represent a Cpu or a
@@ -520,7 +520,7 @@ EFI_STATUS
 EFIAPI
 CreateAmlLpiMethod (
   IN  ACPI_CPU_TOPOLOGY_GENERATOR  *Generator,
-  IN  CM_ARM_PROC_HIERARCHY_INFO   *ProcHierarchyNodeInfo,
+  IN  CM_ARCH_PROC_HIERARCHY_INFO  *ProcHierarchyNodeInfo,
   IN  AML_OBJECT_NODE_HANDLE       *Node
   )
 {
@@ -617,10 +617,10 @@ GenerateLpiStates (
   UINT32  LastIndex;
 
   AML_OBJECT_NODE_HANDLE  LpiNode;
-  CM_ARM_OBJ_REF          *LpiRefInfo;
+  CM_ARCH_OBJ_REF         *LpiRefInfo;
   UINT32                  LpiRefInfoCount;
   UINT32                  LpiRefIndex;
-  CM_ARM_LPI_INFO         *LpiInfo;
+  CM_ARCH_LPI_INFO        *LpiInfo;
   CHAR8                   AslName[AML_NAME_SEG_SIZE + 1];
 
   ASSERT (Generator != NULL);
@@ -647,7 +647,7 @@ GenerateLpiStates (
     }
 
     // Fetch the LPI objects referenced by the token.
-    Status = GetEArmObjCmRef (
+    Status = GetEArchObjCmRef (
                CfgMgrProtocol,
                Generator->TokenTable.Table[Index],
                &LpiRefInfo,
@@ -659,8 +659,8 @@ GenerateLpiStates (
     }
 
     for (LpiRefIndex = 0; LpiRefIndex < LpiRefInfoCount; LpiRefIndex++) {
-      // For each CM_ARM_LPI_INFO referenced by the token, add an Lpi state.
-      Status = GetEArmObjLpiInfo (
+      // For each CM_ARCH_LPI_INFO referenced by the token, add an Lpi state.
+      Status = GetEArchObjLpiInfo (
                  CfgMgrProtocol,
                  LpiRefInfo[LpiRefIndex].ReferenceToken,
                  &LpiInfo,
@@ -710,7 +710,7 @@ GenerateLpiStates (
 
   @param [in]  Generator    The SSDT Cpu Topology generator.
   @param [in]  ParentNode   Parent node to attach the Cpu node to.
-  @param [in]  GicCInfo     CM_ARM_GICC_INFO object used to create the node.
+  @param [in]  GicCInfo     CM_ARCH_GICC_INFO object used to create the node.
   @param [in]  CpuName      Value used to generate the node name.
   @param [out] CpuNodePtr   If not NULL, return the created Cpu node.
 
@@ -724,7 +724,7 @@ EFIAPI
 CreateAmlCpu (
   IN   ACPI_CPU_TOPOLOGY_GENERATOR  *Generator,
   IN   AML_NODE_HANDLE              ParentNode,
-  IN   CM_ARM_GICC_INFO             *GicCInfo,
+  IN   CM_ARCH_GICC_INFO            *GicCInfo,
   IN   UINT32                       CpuName,
   OUT  AML_OBJECT_NODE_HANDLE       *CpuNodePtr OPTIONAL
   )
@@ -779,7 +779,7 @@ CreateAmlCpu (
   return Status;
 }
 
-/** Create a Cpu in the AML namespace from a CM_ARM_PROC_HIERARCHY_INFO
+/** Create a Cpu in the AML namespace from a CM_ARCH_PROC_HIERARCHY_INFO
     CM object.
 
   @param [in]  Generator              The SSDT Cpu Topology generator.
@@ -787,7 +787,7 @@ CreateAmlCpu (
                                       Protocol Interface.
   @param [in]  ParentNode             Parent node to attach the Cpu node to.
   @param [in]  CpuName                Value used to generate the node name.
-  @param [in]  ProcHierarchyNodeInfo  CM_ARM_PROC_HIERARCHY_INFO describing
+  @param [in]  ProcHierarchyNodeInfo  CM_ARCH_PROC_HIERARCHY_INFO describing
                                       the Cpu.
 
   @retval EFI_SUCCESS             Success.
@@ -802,11 +802,11 @@ CreateAmlCpuFromProcHierarchy (
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
   IN        AML_NODE_HANDLE                               ParentNode,
   IN        UINT32                                        CpuName,
-  IN        CM_ARM_PROC_HIERARCHY_INFO                    *ProcHierarchyNodeInfo
+  IN        CM_ARCH_PROC_HIERARCHY_INFO                   *ProcHierarchyNodeInfo
   )
 {
   EFI_STATUS              Status;
-  CM_ARM_GICC_INFO        *GicCInfo;
+  CM_ARCH_GICC_INFO       *GicCInfo;
   AML_OBJECT_NODE_HANDLE  CpuNode;
 
   ASSERT (Generator != NULL);
@@ -815,7 +815,7 @@ CreateAmlCpuFromProcHierarchy (
   ASSERT (ProcHierarchyNodeInfo != NULL);
   ASSERT (ProcHierarchyNodeInfo->GicCToken != CM_NULL_TOKEN);
 
-  Status = GetEArmObjGicCInfo (
+  Status = GetEArchObjGicCInfo (
              CfgMgrProtocol,
              ProcHierarchyNodeInfo->GicCToken,
              &GicCInfo,
@@ -833,7 +833,7 @@ CreateAmlCpuFromProcHierarchy (
   }
 
   // If a set of Lpi states is associated with the
-  // CM_ARM_PROC_HIERARCHY_INFO, create an _LPI method returning them.
+  // CM_ARCH_PROC_HIERARCHY_INFO, create an _LPI method returning them.
   if (ProcHierarchyNodeInfo->LpiToken != CM_NULL_TOKEN) {
     Status = CreateAmlLpiMethod (Generator, ProcHierarchyNodeInfo, CpuNode);
     if (EFI_ERROR (Status)) {
@@ -872,7 +872,7 @@ CreateAmlCpuFromProcHierarchy (
 
 /** Create a Processor Container in the AML namespace.
 
-  Any CM_ARM_PROC_HIERARCHY_INFO object with the following flags is
+  Any CM_ARCH_PROC_HIERARCHY_INFO object with the following flags is
   assumed to be a processor container:
    - EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL
    - EFI_ACPI_6_3_PPTT_PROCESSOR_ID_INVALID
@@ -890,7 +890,7 @@ CreateAmlCpuFromProcHierarchy (
                                       Protocol Interface.
   @param [in]  ParentNode             Parent node to attach the processor
                                       container node to.
-  @param [in]  ProcHierarchyNodeInfo  CM_ARM_PROC_HIERARCHY_INFO object used
+  @param [in]  ProcHierarchyNodeInfo  CM_ARCH_PROC_HIERARCHY_INFO object used
                                       to create the node.
   @param [in]  ProcContainerIndex     Index used to generate the node name.
   @param [out] ProcContainerNodePtr   If success, contains the created processor
@@ -907,7 +907,7 @@ CreateAmlProcessorContainer (
   IN        ACPI_CPU_TOPOLOGY_GENERATOR                   *Generator,
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
   IN        AML_NODE_HANDLE                               ParentNode,
-  IN        CM_ARM_PROC_HIERARCHY_INFO                    *ProcHierarchyNodeInfo,
+  IN        CM_ARCH_PROC_HIERARCHY_INFO                   *ProcHierarchyNodeInfo,
   IN        UINT16                                        ProcContainerName,
   IN        UINT32                                        ProcContainerUid,
   OUT       AML_OBJECT_NODE_HANDLE                        *ProcContainerNodePtr
@@ -960,7 +960,7 @@ CreateAmlProcessorContainer (
   }
 
   // If a set of Lpi states are associated with the
-  // CM_ARM_PROC_HIERARCHY_INFO, create an _LPI method returning them.
+  // CM_ARCH_PROC_HIERARCHY_INFO, create an _LPI method returning them.
   if (ProcHierarchyNodeInfo->LpiToken != CM_NULL_TOKEN) {
     Status = CreateAmlLpiMethod (
                Generator,
@@ -1036,7 +1036,7 @@ CheckProcNode (
   @param [in] Generator               The SSDT Cpu Topology generator.
   @param [in] CfgMgrProtocol          Pointer to the Configuration Manager
                                       Protocol Interface.
-  @param [in] NodeToken               Token of the CM_ARM_PROC_HIERARCHY_INFO
+  @param [in] NodeToken               Token of the CM_ARCH_PROC_HIERARCHY_INFO
                                       currently handled.
   @param [in] ParentNode              Parent node to attach the created
                                       node to.
@@ -1077,7 +1077,7 @@ CreateAmlCpuTopologyTree (
   ProcContainerName = 0;
 
   for (Index = 0; Index < Generator->ProcNodeCount; Index++) {
-    // Find the children of the CM_ARM_PROC_HIERARCHY_INFO
+    // Find the children of the CM_ARCH_PROC_HIERARCHY_INFO
     // currently being handled (i.e. ParentToken == NodeToken).
     if (Generator->ProcNodeList[Index].ParentToken == NodeToken) {
       // Only Cpus (leaf nodes in this tree) have a GicCToken.
@@ -1180,7 +1180,7 @@ CreateAmlCpuTopologyTree (
   return EFI_SUCCESS;
 }
 
-/** Create the processor hierarchy AML tree from CM_ARM_PROC_HIERARCHY_INFO
+/** Create the processor hierarchy AML tree from CM_ARCH_PROC_HIERARCHY_INFO
     CM objects.
 
   @param [in] Generator        The SSDT Cpu Topology generator.
@@ -1241,7 +1241,7 @@ CreateTopologyFromProcHierarchy (
   return Status;
 }
 
-/** Create the processor hierarchy AML tree from CM_ARM_GICC_INFO
+/** Create the processor hierarchy AML tree from CM_ARCH_GICC_INFO
     CM objects.
 
   A processor container is by extension any non-leave device in the cpu topology.
@@ -1265,7 +1265,7 @@ CreateTopologyFromGicC (
   )
 {
   EFI_STATUS              Status;
-  CM_ARM_GICC_INFO        *GicCInfo;
+  CM_ARCH_GICC_INFO        *GicCInfo;
   UINT32                  GicCInfoCount;
   UINT32                  Index;
   AML_OBJECT_NODE_HANDLE  CpuNode;
@@ -1274,7 +1274,7 @@ CreateTopologyFromGicC (
   ASSERT (CfgMgrProtocol != NULL);
   ASSERT (ScopeNode != NULL);
 
-  Status = GetEArmObjGicCInfo (
+  Status = GetEArchObjGicCInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &GicCInfo,
@@ -1285,7 +1285,7 @@ CreateTopologyFromGicC (
     return Status;
   }
 
-  // For each CM_ARM_GICC_INFO object, create an AML node.
+  // For each CM_ARCH_GICC_INFO object, create an AML node.
   for (Index = 0; Index < GicCInfoCount; Index++) {
     Status = CreateAmlCpu (
                Generator,
@@ -1362,7 +1362,7 @@ BuildSsdtCpuTopologyTable (
   EFI_STATUS                   Status;
   AML_ROOT_NODE_HANDLE         RootNode;
   AML_OBJECT_NODE_HANDLE       ScopeNode;
-  CM_ARM_PROC_HIERARCHY_INFO   *ProcHierarchyNodeList;
+  CM_ARCH_PROC_HIERARCHY_INFO  *ProcHierarchyNodeList;
   UINT32                       ProcHierarchyNodeCount;
   ACPI_CPU_TOPOLOGY_GENERATOR  *Generator;
 
@@ -1392,7 +1392,7 @@ BuildSsdtCpuTopologyTable (
 
   // Get the processor hierarchy info and update the processor topology
   // structure count with Processor Hierarchy Nodes (Type 0)
-  Status = GetEArmObjProcHierarchyInfo (
+  Status = GetEArchObjProcHierarchyInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &ProcHierarchyNodeList,
@@ -1406,7 +1406,7 @@ BuildSsdtCpuTopologyTable (
 
   if (Status == EFI_NOT_FOUND) {
     // If hierarchy information is not found generate a flat topology
-    // using CM_ARM_GICC_INFO objects.
+    // using CM_ARCH_GICC_INFO objects.
     Status = CreateTopologyFromGicC (
                Generator,
                CfgMgrProtocol,
@@ -1416,7 +1416,7 @@ BuildSsdtCpuTopologyTable (
       goto exit_handler;
     }
   } else {
-    // Generate the topology from CM_ARM_PROC_HIERARCHY_INFO objects.
+    // Generate the topology from CM_ARCH_PROC_HIERARCHY_INFO objects.
     Generator->ProcNodeList  = ProcHierarchyNodeList;
     Generator->ProcNodeCount = ProcHierarchyNodeCount;
 
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
index 72873709aab5..9f9e532843ae 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
@@ -42,10 +42,10 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjCmRef
-  - EArmObjPciConfigSpaceInfo
-  - EArmObjPciAddressMapInfo
-  - EArmObjPciInterruptMapInfo
+  - EArchObjCmRef
+  - EArchObjPciConfigSpaceInfo
+  - EArchObjPciAddressMapInfo
+  - EArchObjPciInterruptMapInfo
 */
 
 /** This macro expands to a function that retrieves the cross-CM-object-
@@ -53,8 +53,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjCmRef,
-  CM_ARM_OBJ_REF
+  EArchObjCmRef,
+  CM_ARCH_OBJ_REF
   );
 
 /** This macro expands to a function that retrieves the Pci
@@ -62,8 +62,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPciConfigSpaceInfo,
-  CM_ARM_PCI_CONFIG_SPACE_INFO
+  EArchObjPciConfigSpaceInfo,
+  CM_ARCH_PCI_CONFIG_SPACE_INFO
   );
 
 /** This macro expands to a function that retrieves the Pci
@@ -71,8 +71,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPciAddressMapInfo,
-  CM_ARM_PCI_ADDRESS_MAP_INFO
+  EArchObjPciAddressMapInfo,
+  CM_ARCH_PCI_ADDRESS_MAP_INFO
   );
 
 /** This macro expands to a function that retrieves the Pci
@@ -80,8 +80,8 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjPciInterruptMapInfo,
-  CM_ARM_PCI_INTERRUPT_MAP_INFO
+  EArchObjPciInterruptMapInfo,
+  CM_ARCH_PCI_INTERRUPT_MAP_INFO
   );
 
 /** Initialize the MappingTable.
@@ -208,9 +208,9 @@ STATIC
 EFI_STATUS
 EFIAPI
 GeneratePciDeviceInfo (
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO  *PciInfo,
-  IN            UINT32                        Uid,
-  IN  OUT       AML_OBJECT_NODE_HANDLE        PciNode
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciInfo,
+  IN            UINT32                         Uid,
+  IN  OUT       AML_OBJECT_NODE_HANDLE         PciNode
   )
 {
   EFI_STATUS  Status;
@@ -305,17 +305,17 @@ EFIAPI
 GeneratePrt (
   IN            ACPI_PCI_GENERATOR                            *Generator,
   IN      CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO                  *PciInfo,
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO                 *PciInfo,
   IN            UINT32                                        Uid,
   IN  OUT       AML_OBJECT_NODE_HANDLE                        PciNode
   )
 {
-  EFI_STATUS                     Status;
-  INT32                          Index;
-  AML_OBJECT_NODE_HANDLE         PrtNode;
-  CM_ARM_OBJ_REF                 *RefInfo;
-  UINT32                         RefCount;
-  CM_ARM_PCI_INTERRUPT_MAP_INFO  *IrqMapInfo;
+  EFI_STATUS                      Status;
+  INT32                           Index;
+  AML_OBJECT_NODE_HANDLE          PrtNode;
+  CM_ARCH_OBJ_REF                 *RefInfo;
+  UINT32                          RefCount;
+  CM_ARCH_PCI_INTERRUPT_MAP_INFO  *IrqMapInfo;
 
   ASSERT (Generator != NULL);
   ASSERT (CfgMgrProtocol != NULL);
@@ -324,9 +324,9 @@ GeneratePrt (
 
   PrtNode = NULL;
 
-  // Get the array of CM_ARM_OBJ_REF referencing the
-  // CM_ARM_PCI_INTERRUPT_MAP_INFO objects.
-  Status = GetEArmObjCmRef (
+  // Get the array of CM_ARCH_OBJ_REF referencing the
+  // CM_ARCH_PCI_INTERRUPT_MAP_INFO objects.
+  Status = GetEArchObjCmRef (
              CfgMgrProtocol,
              PciInfo->InterruptMapToken,
              &RefInfo,
@@ -352,8 +352,8 @@ GeneratePrt (
   }
 
   for (Index = 0; Index < RefCount; Index++) {
-    // Get CM_ARM_PCI_INTERRUPT_MAP_INFO structures one by one.
-    Status = GetEArmObjPciInterruptMapInfo (
+    // Get CM_ARCH_PCI_INTERRUPT_MAP_INFO structures one by one.
+    Status = GetEArchObjPciInterruptMapInfo (
                CfgMgrProtocol,
                RefInfo[Index].ReferenceToken,
                &IrqMapInfo,
@@ -451,18 +451,18 @@ EFIAPI
 GeneratePciCrs (
   IN            ACPI_PCI_GENERATOR                            *Generator,
   IN      CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO                  *PciInfo,
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO                 *PciInfo,
   IN  OUT       AML_OBJECT_NODE_HANDLE                        PciNode
   )
 {
-  EFI_STATUS                   Status;
-  BOOLEAN                      Translation;
-  UINT32                       Index;
-  CM_ARM_OBJ_REF               *RefInfo;
-  UINT32                       RefCount;
-  CM_ARM_PCI_ADDRESS_MAP_INFO  *AddrMapInfo;
-  AML_OBJECT_NODE_HANDLE       CrsNode;
-  BOOLEAN                      IsPosDecode;
+  EFI_STATUS                    Status;
+  BOOLEAN                       Translation;
+  UINT32                        Index;
+  CM_ARCH_OBJ_REF               *RefInfo;
+  UINT32                        RefCount;
+  CM_ARCH_PCI_ADDRESS_MAP_INFO  *AddrMapInfo;
+  AML_OBJECT_NODE_HANDLE        CrsNode;
+  BOOLEAN                       IsPosDecode;
 
   ASSERT (Generator != NULL);
   ASSERT (CfgMgrProtocol != NULL);
@@ -505,9 +505,9 @@ GeneratePciCrs (
     return Status;
   }
 
-  // Get the array of CM_ARM_OBJ_REF referencing the
-  // CM_ARM_PCI_ADDRESS_MAP_INFO objects.
-  Status = GetEArmObjCmRef (
+  // Get the array of CM_ARCH_OBJ_REF referencing the
+  // CM_ARCH_PCI_ADDRESS_MAP_INFO objects.
+  Status = GetEArchObjCmRef (
              CfgMgrProtocol,
              PciInfo->AddressMapToken,
              &RefInfo,
@@ -519,8 +519,8 @@ GeneratePciCrs (
   }
 
   for (Index = 0; Index < RefCount; Index++) {
-    // Get CM_ARM_PCI_ADDRESS_MAP_INFO structures one by one.
-    Status = GetEArmObjPciAddressMapInfo (
+    // Get CM_ARCH_PCI_ADDRESS_MAP_INFO structures one by one.
+    Status = GetEArchObjPciAddressMapInfo (
                CfgMgrProtocol,
                RefInfo[Index].ReferenceToken,
                &AddrMapInfo,
@@ -693,7 +693,7 @@ EFIAPI
 ReserveEcamSpace (
   IN            ACPI_PCI_GENERATOR                            *Generator,
   IN      CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO                  *PciInfo,
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO                 *PciInfo,
   IN  OUT       AML_OBJECT_NODE_HANDLE                        PciNode
   )
 {
@@ -760,7 +760,7 @@ EFIAPI
 GeneratePciDevice (
   IN            ACPI_PCI_GENERATOR                            *Generator,
   IN      CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO                  *PciInfo,
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO                 *PciInfo,
   IN            UINT32                                        Uid,
   IN  OUT       AML_ROOT_NODE_HANDLE                          *RootNode
   )
@@ -863,7 +863,7 @@ BuildSsdtPciTable (
   IN        ACPI_PCI_GENERATOR                            *Generator,
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
   IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
-  IN  CONST CM_ARM_PCI_CONFIG_SPACE_INFO                  *PciInfo,
+  IN  CONST CM_ARCH_PCI_CONFIG_SPACE_INFO                 *PciInfo,
   IN        UINT32                                        Uid,
   OUT       EFI_ACPI_DESCRIPTION_HEADER                   **Table
   )
@@ -971,13 +971,13 @@ BuildSsdtPciTableEx (
   OUT       UINTN                                  *CONST  TableCount
   )
 {
-  EFI_STATUS                    Status;
-  CM_ARM_PCI_CONFIG_SPACE_INFO  *PciInfo;
-  UINT32                        PciCount;
-  UINTN                         Index;
-  EFI_ACPI_DESCRIPTION_HEADER   **TableList;
-  ACPI_PCI_GENERATOR            *Generator;
-  UINT32                        Uid;
+  EFI_STATUS                     Status;
+  CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciInfo;
+  UINT32                         PciCount;
+  UINTN                          Index;
+  EFI_ACPI_DESCRIPTION_HEADER    **TableList;
+  ACPI_PCI_GENERATOR             *Generator;
+  UINT32                         Uid;
 
   ASSERT (This != NULL);
   ASSERT (AcpiTableInfo != NULL);
@@ -990,7 +990,7 @@ BuildSsdtPciTableEx (
   *TableCount = 0;
   Generator   = (ACPI_PCI_GENERATOR *)This;
 
-  Status = GetEArmObjPciConfigSpaceInfo (
+  Status = GetEArchObjPciConfigSpaceInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &PciInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
index b850320eede7..9fad644b18d7 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
@@ -29,7 +29,7 @@
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArmObjSerialPortInfo
+  - EArchObjSerialPortInfo
 */
 
 /** This macro expands to a function that retrieves the Serial-port
@@ -37,8 +37,8 @@
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjSerialPortInfo,
-  CM_ARM_SERIAL_PORT_INFO
+  EArchObjSerialPortInfo,
+  CM_ARCH_SERIAL_PORT_INFO
   );
 
 /** Starting value for the UID to represent the serial ports.
@@ -168,7 +168,7 @@ BuildSsdtSerialPortTableEx (
   )
 {
   EFI_STATUS                   Status;
-  CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo;
+  CM_ARCH_SERIAL_PORT_INFO     *SerialPortInfo;
   UINT32                       SerialPortCount;
   UINTN                        Index;
   CHAR8                        NewName[AML_NAME_SEG_SIZE + 1];
@@ -185,7 +185,7 @@ BuildSsdtSerialPortTableEx (
 
   *Table = NULL;
 
-  Status = GetEArmObjSerialPortInfo (
+  Status = GetEArchObjSerialPortInfo (
              CfgMgrProtocol,
              CM_NULL_TOKEN,
              &SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
index 345acab53f74..06c3f259a5cb 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
@@ -40,7 +40,7 @@ TokenFixerNotImplemented (
   return EFI_UNSUPPORTED;
 }
 
-/** EArmObjItsGroup token fixer.
+/** EArchObjItsGroup token fixer.
 
   CmObjectToken fixer function that updates the Tokens in the CmObjects.
 
@@ -60,11 +60,11 @@ TokenFixerItsGroup (
   )
 {
   ASSERT (CmObject != NULL);
-  ((CM_ARM_ITS_GROUP_NODE *)CmObject->Data)->Token = Token;
+  ((CM_ARCH_ITS_GROUP_NODE *)CmObject->Data)->Token = Token;
   return EFI_SUCCESS;
 }
 
-/** EArmObjNamedComponent token fixer.
+/** EArchObjNamedComponent token fixer.
 
   CmObjectToken fixer function that updates the Tokens in the CmObjects.
 
@@ -84,11 +84,11 @@ TokenFixerNamedComponentNode (
   )
 {
   ASSERT (CmObject != NULL);
-  ((CM_ARM_NAMED_COMPONENT_NODE *)CmObject->Data)->Token = Token;
+  ((CM_ARCH_NAMED_COMPONENT_NODE *)CmObject->Data)->Token = Token;
   return EFI_SUCCESS;
 }
 
-/** EArmObjRootComplex token fixer.
+/** EArchObjRootComplex token fixer.
 
   CmObjectToken fixer function that updates the Tokens in the CmObjects.
 
@@ -108,11 +108,11 @@ TokenFixerRootComplexNode (
   )
 {
   ASSERT (CmObject != NULL);
-  ((CM_ARM_ROOT_COMPLEX_NODE *)CmObject->Data)->Token = Token;
+  ((CM_ARCH_ROOT_COMPLEX_NODE *)CmObject->Data)->Token = Token;
   return EFI_SUCCESS;
 }
 
-/** EArmObjSmmuV3 token fixer.
+/** EArchObjSmmuV3 token fixer.
 
   CmObjectToken fixer function that updates the Tokens in the CmObjects.
 
@@ -132,7 +132,7 @@ TokenFixerSmmuV3Node (
   )
 {
   ASSERT (CmObject != NULL);
-  ((CM_ARM_SMMUV3_NODE *)CmObject->Data)->Token = Token;
+  ((CM_ARCH_SMMUV3_NODE *)CmObject->Data)->Token = Token;
   return EFI_SUCCESS;
 }
 
@@ -142,7 +142,7 @@ TokenFixerSmmuV3Node (
   Token fixed. Each CmObj can have its Token in a specific way.
 */
 CONST
-CM_OBJECT_TOKEN_FIXER  TokenFixer[EArmObjMax] = {
+CM_OBJECT_TOKEN_FIXER  TokenFixer[EArchObjMax] = {
   NULL,                             ///<  0 - Reserved
   NULL,                             ///<  1 - Boot Architecture Info
   NULL,                             ///<  2 - CPU Info
@@ -218,7 +218,7 @@ FixupCmObjectSelfToken (
   }
 
   ArmNamespaceObjId = GET_CM_OBJECT_ID (CmObjDesc->ObjectId);
-  if (ArmNamespaceObjId >= EArmObjMax) {
+  if (ArmNamespaceObjId >= EArchObjMax) {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
   }
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
index bdeb5c78aeb3..ae5c18bffffb 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
@@ -143,12 +143,12 @@ DynPlatRepoAddObject (
 
   // Check the CmObjDesc:
   //  - only Arm objects are supported for now.
-  //  - only EArmObjCmRef objects can be added as arrays.
+  //  - only EArchObjCmRef objects can be added as arrays.
   ArmNamespaceObjId = GET_CM_OBJECT_ID (CmObjDesc->ObjectId);
   if ((CmObjDesc->Size == 0)              ||
       (CmObjDesc->Count == 0)             ||
-      (ArmNamespaceObjId >= EArmObjMax)   ||
-      ((CmObjDesc->Count > 1)  && (ArmNamespaceObjId != EArmObjCmRef))  ||
+      (ArmNamespaceObjId >= EArchObjMax)   ||
+      ((CmObjDesc->Count > 1)  && (ArmNamespaceObjId != EArchObjCmRef))  ||
       (GET_CM_NAMESPACE_ID (CmObjDesc->ObjectId) != EObjNameSpaceArm))
   {
     ASSERT (0);
@@ -187,8 +187,8 @@ DynPlatRepoAddObject (
 /** Group lists of CmObjNode from the ArmNameSpace to one array.
 
   @param [in]  This         This dynamic platform repository.
-  @param [in]  ArmObjIndex  Index in EARM_OBJECT_ID
-                            (must be < EArmObjMax).
+  @param [in]  ArchObjIndex  Index in EARCH_OBJECT_ID
+                            (must be < EArchObjMax).
 
   @retval EFI_SUCCESS           Success.
   @retval EFI_INVALID_PARAMETER A parameter is invalid.
@@ -200,7 +200,7 @@ EFI_STATUS
 EFIAPI
 GroupCmObjNodes (
   IN  DYNAMIC_PLATFORM_REPOSITORY_INFO  *This,
-  IN  UINT32                            ArmObjIndex
+  IN  UINT32                            ArchObjIndex
   )
 {
   EFI_STATUS         Status;
@@ -214,7 +214,7 @@ GroupCmObjNodes (
   LIST_ENTRY         *Link;
 
   if ((This == NULL)  ||
-      (ArmObjIndex >= EArmObjMax))
+      (ArchObjIndex >= EArchObjMax))
   {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
@@ -222,8 +222,8 @@ GroupCmObjNodes (
 
   Count    = 0;
   Size     = 0;
-  CmObjId  = CREATE_CM_ARM_OBJECT_ID (ArmObjIndex);
-  ListHead = &This->ArmCmObjList[ArmObjIndex];
+  CmObjId  = CREATE_CM_ARCH_OBJECT_ID (ArchObjIndex);
+  ListHead = &This->ArmCmObjList[ArchObjIndex];
   Link     = GetFirstNode (ListHead);
 
   // Compute the total count and size of the CmObj in the list.
@@ -235,9 +235,9 @@ GroupCmObjNodes (
       return EFI_INVALID_PARAMETER;
     }
 
-    if ((CmObjDesc->Count != 1) && (ArmObjIndex != EArmObjCmRef)) {
+    if ((CmObjDesc->Count != 1) && (ArchObjIndex != EArchObjCmRef)) {
       // We expect each descriptor to contain an individual object.
-      // EArmObjCmRef objects are counted as groups, so +1 as well.
+      // EArchObjCmRef objects are counted as groups, so +1 as well.
       ASSERT (0);
       return EFI_INVALID_PARAMETER;
     }
@@ -286,7 +286,7 @@ GroupCmObjNodes (
     Link  = GetNextNode (ListHead, Link);
   } // while
 
-  CmObjDesc           = &This->ArmCmObjArray[ArmObjIndex];
+  CmObjDesc           = &This->ArmCmObjArray[ArchObjIndex];
   CmObjDesc->ObjectId = CmObjId;
   CmObjDesc->Size     = (UINT32)Size;
   CmObjDesc->Count    = (UINT32)Count;
@@ -317,7 +317,7 @@ DynamicPlatRepoFinalise (
   )
 {
   EFI_STATUS  Status;
-  UINTN       ArmObjIndex;
+  UINTN       ArchObjIndex;
 
   if ((This == NULL)  ||
       (This->RepoState != DynRepoTransient))
@@ -340,8 +340,8 @@ DynamicPlatRepoFinalise (
   //  - Convert the list of nodes to an array
   //    (the array is wrapped in a CmObjDesc).
   //  - Add the Token/CmObj binding to the token mapper.
-  for (ArmObjIndex = 0; ArmObjIndex < EArmObjMax; ArmObjIndex++) {
-    Status = GroupCmObjNodes (This, (UINT32)ArmObjIndex);
+  for (ArchObjIndex = 0; ArchObjIndex < EArchObjMax; ArchObjIndex++) {
+    Status = GroupCmObjNodes (This, (UINT32)ArchObjIndex);
     if (EFI_ERROR (Status)) {
       ASSERT (0);
       // Free the TokenMapper.
@@ -389,7 +389,7 @@ DynamicPlatRepoGetObject (
   }
 
   ArmNamespaceObjId = GET_CM_OBJECT_ID (CmObjectId);
-  if (ArmNamespaceObjId >= EArmObjMax) {
+  if (ArmNamespaceObjId >= EArchObjMax) {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
   }
@@ -406,8 +406,8 @@ DynamicPlatRepoGetObject (
     return Status;
   }
 
-  if (ArmNamespaceObjId == EArmObjCmRef) {
-    // EArmObjCmRef object must be requested using a valid token.
+  if (ArmNamespaceObjId == EArchObjCmRef) {
+    // EArchObjCmRef object must be requested using a valid token.
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
   }
@@ -458,7 +458,7 @@ DynamicPlatRepoInit (
   }
 
   // Initialise the CmObject List.
-  for (Index = 0; Index < EArmObjMax; Index++) {
+  for (Index = 0; Index < EArchObjMax; Index++) {
     InitializeListHead (&Repo->ArmCmObjList[Index]);
   }
 
@@ -497,7 +497,7 @@ DynamicPlatRepoShutdown (
   }
 
   // Free the list of objects.
-  for (Index = 0; Index < EArmObjMax; Index++) {
+  for (Index = 0; Index < EArchObjMax; Index++) {
     // Free all the nodes with this object Id.
     ListHead = &DynPlatRepo->ArmCmObjList[Index];
     while (!IsListEmpty (ListHead)) {
@@ -507,7 +507,7 @@ DynamicPlatRepoShutdown (
 
   // Free the arrays.
   CmObjDesc = DynPlatRepo->ArmCmObjArray;
-  for (Index = 0; Index < EArmObjMax; Index++) {
+  for (Index = 0; Index < EArchObjMax; Index++) {
     Data = CmObjDesc[Index].Data;
     if (Data != NULL) {
       FreePool (Data);
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c
index 9391e935eee0..96de48263ae5 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c
@@ -66,11 +66,11 @@ TokenMapperAddObject (
   // Point inside the finalized array.
   CmObjDesc->Data = Data;
 
-  // Only EArmObjCmRef CmObj can be added as arrays (more than 1 elements).
+  // Only EArchObjCmRef CmObj can be added as arrays (more than 1 elements).
   if ((GET_CM_NAMESPACE_ID (ObjectId) == EObjNameSpaceArm) &&
-      (GET_CM_OBJECT_ID (ObjectId) == EArmObjCmRef))
+      (GET_CM_OBJECT_ID (ObjectId) == EArchObjCmRef))
   {
-    CmObjDesc->Count = Size / sizeof (CM_ARM_OBJ_REF);
+    CmObjDesc->Count = Size / sizeof (CM_ARCH_OBJ_REF);
   } else {
     CmObjDesc->Count = 1;
   }
diff --git a/DynamicTablesPkg/Library/Common/SsdtPcieSupportLib/SsdtPcieSupportLib.c b/DynamicTablesPkg/Library/Common/SsdtPcieSupportLib/SsdtPcieSupportLib.c
index b35fb6a7dd45..2eef6b290af5 100644
--- a/DynamicTablesPkg/Library/Common/SsdtPcieSupportLib/SsdtPcieSupportLib.c
+++ b/DynamicTablesPkg/Library/Common/SsdtPcieSupportLib/SsdtPcieSupportLib.c
@@ -53,10 +53,10 @@
 EFI_STATUS
 EFIAPI
 GeneratePciSlots (
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO  *PciInfo,
-  IN      CONST MAPPING_TABLE                 *MappingTable,
-  IN            UINT32                        Uid,
-  IN  OUT       AML_OBJECT_NODE_HANDLE        PciNode
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciInfo,
+  IN      CONST MAPPING_TABLE                  *MappingTable,
+  IN            UINT32                         Uid,
+  IN  OUT       AML_OBJECT_NODE_HANDLE         PciNode
   )
 {
   EFI_STATUS              Status;
@@ -132,8 +132,8 @@ GeneratePciSlots (
 EFI_STATUS
 EFIAPI
 AddOscMethod (
-  IN      CONST CM_ARM_PCI_CONFIG_SPACE_INFO  *PciInfo,
-  IN  OUT   AML_OBJECT_NODE_HANDLE            PciNode
+  IN      CONST CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciInfo,
+  IN  OUT   AML_OBJECT_NODE_HANDLE             PciNode
   )
 {
   EFI_STATUS                   Status;
diff --git a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
index a65c1fe7e30d..2f5a6dc621f0 100644
--- a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
+++ b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
@@ -39,7 +39,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_SERIAL_PORT_INFO.
   @param [in]  SerialPortCount        Count of SerialPort in the table.
 
   @retval EFI_SUCCESS             Success.
@@ -48,12 +48,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_SERIAL_PORT_INFO  *SerialPortInfoTable,
+  IN        UINT32                    SerialPortCount
   )
 {
-  UINT32                         Index;
-  CONST CM_ARM_SERIAL_PORT_INFO  *SerialPortInfo;
+  UINT32                          Index;
+  CONST CM_ARCH_SERIAL_PORT_INFO  *SerialPortInfo;
 
   if ((SerialPortInfoTable == NULL)  ||
       (SerialPortCount == 0))
@@ -136,9 +136,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_SERIAL_PORT_INFO  *SerialPortInfo
   )
 {
   EFI_STATUS              Status;
@@ -263,8 +263,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_SERIAL_PORT_INFO  *SerialPortInfo
   )
 {
   EFI_STATUS              Status;
@@ -338,9 +338,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_SERIAL_PORT_INFO  *SerialPortInfo,
+  IN  CONST CHAR8                     *Name
   )
 {
   EFI_STATUS              Status;
@@ -382,11 +382,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_SERIAL_PORT_INFO  *SerialPortInfo,
+  IN      CONST CHAR8                     *Name,
+  IN      CONST UINT64                    Uid,
+  OUT       EFI_ACPI_DESCRIPTION_HEADER   **Table
   )
 {
   EFI_STATUS  Status;
@@ -453,7 +453,7 @@ EFI_STATUS
 EFIAPI
 BuildSsdtSerialPortTable (
   IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO   *AcpiTableInfo,
-  IN  CONST CM_ARM_SERIAL_PORT_INFO      *SerialPortInfo,
+  IN  CONST CM_ARCH_SERIAL_PORT_INFO     *SerialPortInfo,
   IN  CONST CHAR8                        *Name,
   IN  CONST UINT64                       Uid,
   OUT       EFI_ACPI_DESCRIPTION_HEADER  **Table
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index c1a752841943..50561450cf31 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -51,21 +51,21 @@ PrintChar8 (
   UINT8        *Ptr
   );
 
-/** A parser for EArmObjBootArchInfo.
+/** A parser for EArchObjBootArchInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmBootArchInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchBootArchInfoParser[] = {
   { "BootArchFlags", 2, "0x%x", NULL }
 };
 
-/** A parser for EArmObjPowerManagementProfileInfo.
+/** A parser for EArchObjPowerManagementProfileInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPowerManagementProfileInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPowerManagementProfileInfoParser[] = {
   { "PowerManagementProfile", 1, "0x%x", NULL }
 };
 
-/** A parser for EArmObjGicCInfo.
+/** A parser for EArchObjGicCInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGicCInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGicCInfoParser[] = {
   { "CPUInterfaceNumber",            4,                        "0x%x",   NULL },
   { "AcpiProcessorUid",              4,                        "0x%x",   NULL },
   { "Flags",                         4,                        "0x%x",   NULL },
@@ -88,17 +88,17 @@ STATIC CONST CM_OBJ_PARSER  CmArmGicCInfoParser[] = {
   { "EtToken",                       sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL }
 };
 
-/** A parser for EArmObjGicDInfo.
+/** A parser for EArchObjGicDInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGicDInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGicDInfoParser[] = {
   { "PhysicalBaseAddress", 8, "0x%llx", NULL },
   { "SystemVectorBase",    4, "0x%x",   NULL },
   { "GicVersion",          1, "0x%x",   NULL },
 };
 
-/** A parser for EArmObjGicMsiFrameInfo.
+/** A parser for EArchObjGicMsiFrameInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGicMsiFrameInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGicMsiFrameInfoParser[] = {
   { "GicMsiFrameId",       4, "0x%x",   NULL },
   { "PhysicalBaseAddress", 8, "0x%llx", NULL },
   { "Flags",               4, "0x%x",   NULL },
@@ -106,25 +106,25 @@ STATIC CONST CM_OBJ_PARSER  CmArmGicMsiFrameInfoParser[] = {
   { "SPIBase",             2, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjGicRedistributorInfo.
+/** A parser for EArchObjGicRedistributorInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGicRedistInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGicRedistInfoParser[] = {
   { "DiscoveryRangeBaseAddress", 8, "0x%llx", NULL },
   { "DiscoveryRangeLength",      4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjGicItsInfo.
+/** A parser for EArchObjGicItsInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGicItsInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGicItsInfoParser[] = {
   { "GicItsId",            4, "0x%x",   NULL },
   { "PhysicalBaseAddress", 8, "0x%llx", NULL },
   { "ProximityDomain",     4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjSerialConsolePortInfo,
-    EArmObjSerialDebugPortInfo and EArmObjSerialPortInfo.
+/** A parser for EArchObjSerialConsolePortInfo,
+    EArchObjSerialDebugPortInfo and EArchObjSerialPortInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmSerialPortInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchSerialPortInfoParser[] = {
   { "BaseAddress",       8, "0x%llx", NULL },
   { "Interrupt",         4, "0x%x",   NULL },
   { "BaudRate",          8, "0x%llx", NULL },
@@ -134,9 +134,9 @@ STATIC CONST CM_OBJ_PARSER  CmArmSerialPortInfoParser[] = {
   { "AccessSize",        1, "0x%d",   NULL }
 };
 
-/** A parser for EArmObjGenericTimerInfo.
+/** A parser for EArchObjGenericTimerInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGenericTimerInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGenericTimerInfoParser[] = {
   { "CounterControlBaseAddress", 8, "0x%llx", NULL },
   { "CounterReadBaseAddress",    8, "0x%llx", NULL },
   { "SecurePL1TimerGSIV",        4, "0x%x",   NULL },
@@ -151,17 +151,17 @@ STATIC CONST CM_OBJ_PARSER  CmArmGenericTimerInfoParser[] = {
   { "VirtualPL2TimerFlags",      4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjPlatformGTBlockInfo.
+/** A parser for EArchObjPlatformGTBlockInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGTBlockInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGTBlockInfoParser[] = {
   { "GTBlockPhysicalAddress", 8,                        "0x%llx", NULL },
   { "GTBlockTimerFrameCount", 4,                        "0x%x",   NULL },
   { "GTBlockTimerFrameToken", sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL }
 };
 
-/** A parser for EArmObjGTBlockTimerFrameInfo.
+/** A parser for EArchObjGTBlockTimerFrameInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGTBlockTimerFrameInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGTBlockTimerFrameInfoParser[] = {
   { "FrameNumber",               1, "0x%x",   NULL },
   { "PhysicalAddressCntBase",    8, "0x%llx", NULL },
   { "PhysicalAddressCntEL0Base", 8, "0x%llx", NULL },
@@ -172,18 +172,18 @@ STATIC CONST CM_OBJ_PARSER  CmArmGTBlockTimerFrameInfoParser[] = {
   { "CommonFlags",               4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjPlatformGenericWatchdogInfo.
+/** A parser for EArchObjPlatformGenericWatchdogInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGenericWatchdogInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGenericWatchdogInfoParser[] = {
   { "ControlFrameAddress", 8, "0x%llx", NULL },
   { "RefreshFrameAddress", 8, "0x%llx", NULL },
   { "TimerGSIV",           4, "0x%x",   NULL },
   { "Flags",               4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjPciConfigSpaceInfo.
+/** A parser for EArchObjPciConfigSpaceInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPciConfigSpaceInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPciConfigSpaceInfoParser[] = {
   { "BaseAddress",           8,                        "0x%llx", NULL },
   { "PciSegmentGroupNumber", 2,                        "0x%x",   NULL },
   { "StartBusNumber",        1,                        "0x%x",   NULL },
@@ -192,30 +192,30 @@ STATIC CONST CM_OBJ_PARSER  CmArmPciConfigSpaceInfoParser[] = {
   { "InterruptMapToken",     sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
 };
 
-/** A parser for EArmObjHypervisorVendorIdentity.
+/** A parser for EArchObjHypervisorVendorIdentity.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmHypervisorVendorIdParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchHypervisorVendorIdParser[] = {
   { "HypervisorVendorId", 8, "0x%llx", NULL }
 };
 
-/** A parser for EArmObjFixedFeatureFlags.
+/** A parser for EArchObjFixedFeatureFlags.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmFixedFeatureFlagsParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchFixedFeatureFlagsParser[] = {
   { "Flags", 4, "0x%x", NULL }
 };
 
-/** A parser for EArmObjItsGroup.
+/** A parser for EArchObjItsGroup.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmItsGroupNodeParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchItsGroupNodeParser[] = {
   { "Token",      sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "ItsIdCount", 4,                        "0x%x", NULL },
   { "ItsIdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "Identifier", 4,                        "0x%x", NULL },
 };
 
-/** A parser for EArmObjNamedComponent.
+/** A parser for EArchObjNamedComponent.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmNamedComponentNodeParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchNamedComponentNodeParser[] = {
   { "Token",             sizeof (CM_OBJECT_TOKEN), "0x%p", NULL           },
   { "IdMappingCount",    4,                        "0x%x", NULL           },
   { "IdMappingToken",    sizeof (CM_OBJECT_TOKEN), "0x%p", NULL           },
@@ -228,9 +228,9 @@ STATIC CONST CM_OBJ_PARSER  CmArmNamedComponentNodeParser[] = {
   { "Identifier",        4,                        "0x%x", NULL           },
 };
 
-/** A parser for EArmObjRootComplex.
+/** A parser for EArchObjRootComplex.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmRootComplexNodeParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchRootComplexNodeParser[] = {
   { "Token",             sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "IdMappingCount",    4,                        "0x%x", NULL },
   { "IdMappingToken",    sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
@@ -245,9 +245,9 @@ STATIC CONST CM_OBJ_PARSER  CmArmRootComplexNodeParser[] = {
   { "Identifier",        4,                        "0x%x", NULL },
 };
 
-/** A parser for EArmObjSmmuV1SmmuV2.
+/** A parser for EArchObjSmmuV1SmmuV2.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmSmmuV1SmmuV2NodeParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchSmmuV1SmmuV2NodeParser[] = {
   { "Token",                 sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
   { "IdMappingCount",        4,                        "0x%x",   NULL },
   { "IdMappingToken",        sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
@@ -266,9 +266,9 @@ STATIC CONST CM_OBJ_PARSER  CmArmSmmuV1SmmuV2NodeParser[] = {
   { "Identifier",            4,                        "0x%x",   NULL },
 };
 
-/** A parser for EArmObjSmmuV3.
+/** A parser for EArchObjSmmuV3.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmSmmuV3NodeParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchSmmuV3NodeParser[] = {
   { "Token",                sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
   { "IdMappingCount",       4,                        "0x%x",   NULL },
   { "IdMappingToken",       sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
@@ -285,9 +285,9 @@ STATIC CONST CM_OBJ_PARSER  CmArmSmmuV3NodeParser[] = {
   { "Identifier",           4,                        "0x%x",   NULL },
 };
 
-/** A parser for EArmObjPmcg.
+/** A parser for EArchObjPmcg.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPmcgNodeParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPmcgNodeParser[] = {
   { "Token",             sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
   { "IdMappingCount",    4,                        "0x%x",   NULL },
   { "IdMappingToken",    sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
@@ -298,15 +298,15 @@ STATIC CONST CM_OBJ_PARSER  CmArmPmcgNodeParser[] = {
   { "Identifier",        4,                        "0x%x",   NULL },
 };
 
-/** A parser for EArmObjGicItsIdentifierArray.
+/** A parser for EArchObjGicItsIdentifierArray.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGicItsIdentifierParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGicItsIdentifierParser[] = {
   { "ItsId", 4, "0x%x", NULL }
 };
 
-/** A parser for EArmObjIdMappingArray.
+/** A parser for EArchObjIdMappingArray.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmIdMappingParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchIdMappingParser[] = {
   { "InputBase",            4,                        "0x%x", NULL },
   { "NumIds",               4,                        "0x%x", NULL },
   { "OutputBase",           4,                        "0x%x", NULL },
@@ -314,16 +314,16 @@ STATIC CONST CM_OBJ_PARSER  CmArmIdMappingParser[] = {
   { "Flags",                4,                        "0x%x", NULL }
 };
 
-/** A parser for EArmObjSmmuInterruptArray.
+/** A parser for EArchObjSmmuInterruptArray.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGenericInterruptParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGenericInterruptParser[] = {
   { "Interrupt", 4, "0x%x", NULL },
   { "Flags",     4, "0x%x", NULL }
 };
 
-/** A parser for EArmObjProcHierarchyInfo.
+/** A parser for EArchObjProcHierarchyInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmProcHierarchyInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchProcHierarchyInfoParser[] = {
   { "Token",                      sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "Flags",                      4,                        "0x%x", NULL },
   { "ParentToken",                sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
@@ -336,9 +336,9 @@ STATIC CONST CM_OBJ_PARSER  CmArmProcHierarchyInfoParser[] = {
   { "OverrideUid",                4,                        "0x%x", NULL }
 };
 
-/** A parser for EArmObjCacheInfo.
+/** A parser for EArchObjCacheInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmCacheInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchCacheInfoParser[] = {
   { "Token",                 sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "NextLevelOfCacheToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "Size",                  4,                        "0x%x", NULL },
@@ -349,9 +349,9 @@ STATIC CONST CM_OBJ_PARSER  CmArmCacheInfoParser[] = {
   { "CacheId",               4,                        "0x%x", NULL },
 };
 
-/** A parser for EArmObjProcNodeIdInfo.
+/** A parser for EArchObjProcNodeIdInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmProcNodeIdInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchProcNodeIdInfoParser[] = {
   { "Token",    sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "VendorId", 4,                        "0x%p", NULL },
   { "Level1Id", 8,                        "0x%x", NULL },
@@ -361,49 +361,49 @@ STATIC CONST CM_OBJ_PARSER  CmArmProcNodeIdInfoParser[] = {
   { "SpinRev",  2,                        "0x%x", NULL }
 };
 
-/** A parser for EArmObjCmRef.
+/** A parser for EArchObjCmRef.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmObjRefParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchObjRefParser[] = {
   { "ReferenceToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }
 };
 
-/** A parser for EArmObjMemoryAffinityInfo.
+/** A parser for EArchObjMemoryAffinityInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmMemoryAffinityInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchMemoryAffinityInfoParser[] = {
   { "ProximityDomain", 4, "0x%x",   NULL },
   { "BaseAddress",     8, "0x%llx", NULL },
   { "Length",          8, "0x%llx", NULL },
   { "Flags",           4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjDeviceHandleAcpi.
+/** A parser for EArchObjDeviceHandleAcpi.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmDeviceHandleAcpiParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchDeviceHandleAcpiParser[] = {
   { "Hid", 8, "0x%llx", NULL },
   { "Uid", 4, "0x%x",   NULL }
 };
 
-/** A parser for EArmObjDeviceHandlePci.
+/** A parser for EArchObjDeviceHandlePci.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmDeviceHandlePciParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchDeviceHandlePciParser[] = {
   { "SegmentNumber",  2, "0x%x", NULL },
   { "BusNumber",      1, "0x%x", NULL },
   { "DeviceNumber",   1, "0x%x", NULL },
   { "FunctionNumber", 1, "0x%x", NULL }
 };
 
-/** A parser for EArmObjGenericInitiatorAffinityInfo.
+/** A parser for EArchObjGenericInitiatorAffinityInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmGenericInitiatorAffinityInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchGenericInitiatorAffinityInfoParser[] = {
   { "ProximityDomain",   4,                        "0x%x", NULL },
   { "Flags",             4,                        "0x%x", NULL },
   { "DeviceHandleType",  1,                        "0x%x", NULL },
   { "DeviceHandleToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }
 };
 
-/** A parser for EArmObjCmn600Info.
+/** A parser for EArchObjCmn600Info.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmCmn600InfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchCmn600InfoParser[] = {
   { "PeriphBaseAddress",       8, "0x%llx", NULL },
   { "PeriphBaseAddressLength", 8, "0x%llx", NULL },
   { "RootNodeBaseAddress",     8, "0x%llx", NULL },
@@ -428,9 +428,9 @@ STATIC CONST CM_OBJ_PARSER  AcpiGenericAddressParser[] = {
   { "Address",           8, "0x%llx", NULL },
 };
 
-/** A parser for EArmObjLpiInfo.
+/** A parser for EArchObjLpiInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmLpiInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchLpiInfoParser[] = {
   { "MinResidency",             4,                                               "0x%x",   NULL        },
   { "WorstCaseWakeLatency",     4,                                               "0x%x",   NULL        },
   { "Flags",                    4,                                               "0x%x",   NULL        },
@@ -451,29 +451,29 @@ STATIC CONST CM_OBJ_PARSER  CmArmLpiInfoParser[] = {
   { "StateName",                16,                                              NULL,     PrintString },
 };
 
-/** A parser for EArmObjPciAddressMapInfo.
+/** A parser for EArchObjPciAddressMapInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPciAddressMapInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPciAddressMapInfoParser[] = {
   { "SpaceCode",   1, "%d",     NULL },
   { "PciAddress",  8, "0x%llx", NULL },
   { "CpuAddress",  8, "0x%llx", NULL },
   { "AddressSize", 8, "0x%llx", NULL },
 };
 
-/** A parser for EArmObjPciInterruptMapInfo.
+/** A parser for EArchObjPciInterruptMapInfo.
 */
 STATIC CONST CM_OBJ_PARSER  CmPciInterruptMapInfoParser[] = {
-  { "PciBus",        1,                                 "0x%x", NULL },
-  { "PciDevice",     1,                                 "0x%x", NULL },
-  { "PciInterrupt",  1,                                 "0x%x", NULL },
-  { "IntcInterrupt", sizeof (CM_ARM_GENERIC_INTERRUPT),
-    NULL, NULL, CmArmGenericInterruptParser,
-    ARRAY_SIZE (CmArmGenericInterruptParser) },
+  { "PciBus",        1,                                  "0x%x", NULL },
+  { "PciDevice",     1,                                  "0x%x", NULL },
+  { "PciInterrupt",  1,                                  "0x%x", NULL },
+  { "IntcInterrupt", sizeof (CM_ARCH_GENERIC_INTERRUPT),
+    NULL, NULL, CmArchGenericInterruptParser,
+    ARRAY_SIZE (CmArchGenericInterruptParser) },
 };
 
-/** A parser for EArmObjRmr.
+/** A parser for EArchObjRmr.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmRmrInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchRmrInfoParser[] = {
   { "Token",             sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
   { "IdMappingCount",    4,                        "0x%x", NULL },
   { "IdMappingToken",    sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
@@ -483,16 +483,16 @@ STATIC CONST CM_OBJ_PARSER  CmArmRmrInfoParser[] = {
   { "MemRangeDescToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
 };
 
-/** A parser for EArmObjMemoryRangeDescriptor.
+/** A parser for EArchObjMemoryRangeDescriptor.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmMemoryRangeDescriptorInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchMemoryRangeDescriptorInfoParser[] = {
   { "BaseAddress", 8, "0x%llx", NULL },
   { "Length",      8, "0x%llx", NULL },
 };
 
-/** A parser for EArmObjCpcInfo.
+/** A parser for EArchObjCpcInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmCpcInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchCpcInfoParser[] = {
   { "Revision",                              4,                                               "0x%lx", NULL },
   { "HighestPerformanceBuffer",              sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
     NULL, NULL, AcpiGenericAddressParser,
@@ -570,7 +570,7 @@ STATIC CONST CM_OBJ_PARSER  CmArmCpcInfoParser[] = {
 
 /** A parser for the PCC_MAILBOX_REGISTER_INFO struct.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmMailboxRegisterInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchMailboxRegisterInfoParser[] = {
   { "Register",     sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE), NULL,     NULL,
     AcpiGenericAddressParser, ARRAY_SIZE (AcpiGenericAddressParser) },
   { "PreserveMask", 8,                                               "0x%llx", NULL },
@@ -579,195 +579,195 @@ STATIC CONST CM_OBJ_PARSER  CmArmMailboxRegisterInfoParser[] = {
 
 /** A parser for the PCC_SUBSPACE_CHANNEL_TIMING_INFO struct.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPccSubspaceChannelTimingInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPccSubspaceChannelTimingInfoParser[] = {
   { "NominalLatency",           4, "0x%x", NULL },
   { "MaxPeriodicAccessRate",    4, "0x%x", NULL },
   { "MinRequestTurnaroundTime", 2, "0x%x", NULL },
 };
 
-/** A parser for EArmObjPccSubspaceType0Info.
+/** A parser for EArchObjPccSubspaceType0Info.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPccSubspaceType0InfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPccSubspaceType0InfoParser[] = {
   { "SubspaceId",    1,                                         "0x%x",   NULL },
   { "Type",          1,                                         "0x%x",   NULL },
   { "BaseAddress",   8,                                         "0x%llx", NULL },
   { "AddressLength", 8,                                         "0x%llx", NULL },
   { "DoorbellReg",   sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
   { "ChannelTiming", sizeof (PCC_SUBSPACE_CHANNEL_TIMING_INFO),
-    NULL, NULL, CmArmPccSubspaceChannelTimingInfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceChannelTimingInfoParser) },
+    NULL, NULL, CmArchPccSubspaceChannelTimingInfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceChannelTimingInfoParser) },
 };
 
-/** A parser for EArmObjPccSubspaceType1Info.
+/** A parser for EArchObjPccSubspaceType1Info.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPccSubspaceType1InfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPccSubspaceType1InfoParser[] = {
   { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
-    NULL, NULL, CmArmPccSubspaceType0InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
-  { "PlatIrq",        sizeof (CM_ARM_GENERIC_INTERRUPT),
-    NULL, NULL, CmArmGenericInterruptParser,
-    ARRAY_SIZE (CmArmGenericInterruptParser) },
+    NULL, NULL, CmArchPccSubspaceType0InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType0InfoParser) },
+  { "PlatIrq",        sizeof (CM_ARCH_GENERIC_INTERRUPT),
+    NULL, NULL, CmArchGenericInterruptParser,
+    ARRAY_SIZE (CmArchGenericInterruptParser) },
 };
 
-/** A parser for EArmObjPccSubspaceType2Info.
+/** A parser for EArchObjPccSubspaceType2Info.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPccSubspaceType2InfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPccSubspaceType2InfoParser[] = {
   { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
-    NULL, NULL, CmArmPccSubspaceType0InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
-  { "PlatIrq",        sizeof (CM_ARM_GENERIC_INTERRUPT), NULL,NULL,
-    CmArmGenericInterruptParser, ARRAY_SIZE (CmArmGenericInterruptParser) },
+    NULL, NULL, CmArchPccSubspaceType0InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType0InfoParser) },
+  { "PlatIrq",        sizeof (CM_ARCH_GENERIC_INTERRUPT),NULL,NULL,
+    CmArchGenericInterruptParser, ARRAY_SIZE (CmArchGenericInterruptParser) },
   { "PlatIrqAckReg",  sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
 };
 
-/** A parser for EArmObjPccSubspaceType3Info or EArmObjPccSubspaceType4Info.
+/** A parser for EArchObjPccSubspaceType3Info or EArchObjPccSubspaceType4Info.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPccSubspaceType34InfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPccSubspaceType34InfoParser[] = {
   { "GenericPccInfo",       sizeof (PCC_SUBSPACE_GENERIC_INFO),
-    NULL, NULL, CmArmPccSubspaceType0InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
-  { "PlatIrq",              sizeof (CM_ARM_GENERIC_INTERRUPT), NULL,NULL,
-    CmArmGenericInterruptParser, ARRAY_SIZE (CmArmGenericInterruptParser) },
+    NULL, NULL, CmArchPccSubspaceType0InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType0InfoParser) },
+  { "PlatIrq",              sizeof (CM_ARCH_GENERIC_INTERRUPT),NULL,NULL,
+    CmArchGenericInterruptParser, ARRAY_SIZE (CmArchGenericInterruptParser) },
   { "PlatIrqAckReg",        sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
   { "CmdCompleteCheckReg",  sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
   { "CmdCompleteUpdateReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
   { "ErrorStatusReg",       sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
 };
 
-/** A parser for EArmObjPccSubspaceType5Info.
+/** A parser for EArchObjPccSubspaceType5Info.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmPccSubspaceType5InfoParser[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchPccSubspaceType5InfoParser[] = {
   { "GenericPccInfo",      sizeof (PCC_SUBSPACE_GENERIC_INFO),
-    NULL, NULL, CmArmPccSubspaceType0InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
+    NULL, NULL, CmArchPccSubspaceType0InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType0InfoParser) },
   { "Version",             2,                                 "0x%x",NULL },
-  { "PlatIrq",             sizeof (CM_ARM_GENERIC_INTERRUPT), NULL,  NULL,
-    CmArmGenericInterruptParser, ARRAY_SIZE (CmArmGenericInterruptParser) },
+  { "PlatIrq",             sizeof (CM_ARCH_GENERIC_INTERRUPT),NULL,  NULL,
+    CmArchGenericInterruptParser, ARRAY_SIZE (CmArchGenericInterruptParser) },
   { "CmdCompleteCheckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
   { "ErrorStatusReg",      sizeof (PCC_MAILBOX_REGISTER_INFO),
-    NULL, NULL, CmArmMailboxRegisterInfoParser,
-    ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
+    NULL, NULL, CmArchMailboxRegisterInfoParser,
+    ARRAY_SIZE (CmArchMailboxRegisterInfoParser) },
 };
 
-/** A parser for EArmObjEtInfo.
+/** A parser for EArchObjEtInfo.
 */
-STATIC CONST CM_OBJ_PARSER  CmArmEtInfo[] = {
+STATIC CONST CM_OBJ_PARSER  CmArchEtInfo[] = {
   { "EtType", sizeof (ARM_ET_TYPE), "0x%x", NULL }
 };
 
 /** A parser for Arm namespace objects.
 */
 STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
-  { "EArmObjReserved",                     NULL,                                  0                                },
-  { "EArmObjBootArchInfo",                 CmArmBootArchInfoParser,
-    ARRAY_SIZE (CmArmBootArchInfoParser) },
-  { "EArmObjCpuInfo",                      NULL,                                  0                                },
-  { "EArmObjPowerManagementProfileInfo",   CmArmPowerManagementProfileInfoParser,
-    ARRAY_SIZE (CmArmPowerManagementProfileInfoParser) },
-  { "EArmObjGicCInfo",                     CmArmGicCInfoParser,                   ARRAY_SIZE (CmArmGicCInfoParser) },
-  { "EArmObjGicDInfo",                     CmArmGicDInfoParser,                   ARRAY_SIZE (CmArmGicDInfoParser) },
-  { "EArmObjGicMsiFrameInfo",              CmArmGicMsiFrameInfoParser,
-    ARRAY_SIZE (CmArmGicMsiFrameInfoParser) },
-  { "EArmObjGicRedistributorInfo",         CmArmGicRedistInfoParser,
-    ARRAY_SIZE (CmArmGicRedistInfoParser) },
-  { "EArmObjGicItsInfo",                   CmArmGicItsInfoParser,
-    ARRAY_SIZE (CmArmGicItsInfoParser) },
-  { "EArmObjSerialConsolePortInfo",        CmArmSerialPortInfoParser,
-    ARRAY_SIZE (CmArmSerialPortInfoParser) },
-  { "EArmObjSerialDebugPortInfo",          CmArmSerialPortInfoParser,
-    ARRAY_SIZE (CmArmSerialPortInfoParser) },
-  { "EArmObjGenericTimerInfo",             CmArmGenericTimerInfoParser,
-    ARRAY_SIZE (CmArmGenericTimerInfoParser) },
-  { "EArmObjPlatformGTBlockInfo",          CmArmGTBlockInfoParser,
-    ARRAY_SIZE (CmArmGTBlockInfoParser) },
-  { "EArmObjGTBlockTimerFrameInfo",        CmArmGTBlockTimerFrameInfoParser,
-    ARRAY_SIZE (CmArmGTBlockTimerFrameInfoParser) },
-  { "EArmObjPlatformGenericWatchdogInfo",  CmArmGenericWatchdogInfoParser,
-    ARRAY_SIZE (CmArmGenericWatchdogInfoParser) },
-  { "EArmObjPciConfigSpaceInfo",           CmArmPciConfigSpaceInfoParser,
-    ARRAY_SIZE (CmArmPciConfigSpaceInfoParser) },
-  { "EArmObjHypervisorVendorIdentity",     CmArmHypervisorVendorIdParser,
-    ARRAY_SIZE (CmArmHypervisorVendorIdParser) },
-  { "EArmObjFixedFeatureFlags",            CmArmFixedFeatureFlagsParser,
-    ARRAY_SIZE (CmArmFixedFeatureFlagsParser) },
-  { "EArmObjItsGroup",                     CmArmItsGroupNodeParser,
-    ARRAY_SIZE (CmArmItsGroupNodeParser) },
-  { "EArmObjNamedComponent",               CmArmNamedComponentNodeParser,
-    ARRAY_SIZE (CmArmNamedComponentNodeParser) },
-  { "EArmObjRootComplex",                  CmArmRootComplexNodeParser,
-    ARRAY_SIZE (CmArmRootComplexNodeParser) },
-  { "EArmObjSmmuV1SmmuV2",                 CmArmSmmuV1SmmuV2NodeParser,
-    ARRAY_SIZE (CmArmSmmuV1SmmuV2NodeParser) },
-  { "EArmObjSmmuV3",                       CmArmSmmuV3NodeParser,
-    ARRAY_SIZE (CmArmSmmuV3NodeParser) },
-  { "EArmObjPmcg",                         CmArmPmcgNodeParser,                   ARRAY_SIZE (CmArmPmcgNodeParser) },
-  { "EArmObjGicItsIdentifierArray",        CmArmGicItsIdentifierParser,
-    ARRAY_SIZE (CmArmGicItsIdentifierParser) },
-  { "EArmObjIdMappingArray",               CmArmIdMappingParser,
-    ARRAY_SIZE (CmArmIdMappingParser) },
-  { "EArmObjSmmuInterruptArray",           CmArmGenericInterruptParser,
-    ARRAY_SIZE (CmArmGenericInterruptParser) },
-  { "EArmObjProcHierarchyInfo",            CmArmProcHierarchyInfoParser,
-    ARRAY_SIZE (CmArmProcHierarchyInfoParser) },
-  { "EArmObjCacheInfo",                    CmArmCacheInfoParser,
-    ARRAY_SIZE (CmArmCacheInfoParser) },
-  { "EArmObjProcNodeIdInfo",               CmArmProcNodeIdInfoParser,
-    ARRAY_SIZE (CmArmProcNodeIdInfoParser) },
-  { "EArmObjCmRef",                        CmArmObjRefParser,                     ARRAY_SIZE (CmArmObjRefParser)   },
-  { "EArmObjMemoryAffinityInfo",           CmArmMemoryAffinityInfoParser,
-    ARRAY_SIZE (CmArmMemoryAffinityInfoParser) },
-  { "EArmObjDeviceHandleAcpi",             CmArmDeviceHandleAcpiParser,
-    ARRAY_SIZE (CmArmDeviceHandleAcpiParser) },
-  { "EArmObjDeviceHandlePci",              CmArmDeviceHandlePciParser,
-    ARRAY_SIZE (CmArmDeviceHandlePciParser) },
-  { "EArmObjGenericInitiatorAffinityInfo",
-    CmArmGenericInitiatorAffinityInfoParser,
-    ARRAY_SIZE (CmArmGenericInitiatorAffinityInfoParser) },
-  { "EArmObjSerialPortInfo",               CmArmSerialPortInfoParser,
-    ARRAY_SIZE (CmArmSerialPortInfoParser) },
-  { "EArmObjCmn600Info",                   CmArmCmn600InfoParser,
-    ARRAY_SIZE (CmArmCmn600InfoParser) },
-  { "EArmObjLpiInfo",                      CmArmLpiInfoParser,
-    ARRAY_SIZE (CmArmLpiInfoParser) },
-  { "EArmObjPciAddressMapInfo",            CmArmPciAddressMapInfoParser,
-    ARRAY_SIZE (CmArmPciAddressMapInfoParser) },
-  { "EArmObjPciInterruptMapInfo",          CmPciInterruptMapInfoParser,
+  { "EArchObjReserved",                     NULL,                                   0                                 },
+  { "EArchObjBootArchInfo",                 CmArchBootArchInfoParser,
+    ARRAY_SIZE (CmArchBootArchInfoParser) },
+  { "EArchObjCpuInfo",                      NULL,                                   0                                 },
+  { "EArchObjPowerManagementProfileInfo",   CmArchPowerManagementProfileInfoParser,
+    ARRAY_SIZE (CmArchPowerManagementProfileInfoParser) },
+  { "EArchObjGicCInfo",                     CmArchGicCInfoParser,                   ARRAY_SIZE (CmArchGicCInfoParser) },
+  { "EArchObjGicDInfo",                     CmArchGicDInfoParser,                   ARRAY_SIZE (CmArchGicDInfoParser) },
+  { "EArchObjGicMsiFrameInfo",              CmArchGicMsiFrameInfoParser,
+    ARRAY_SIZE (CmArchGicMsiFrameInfoParser) },
+  { "EArchObjGicRedistributorInfo",         CmArchGicRedistInfoParser,
+    ARRAY_SIZE (CmArchGicRedistInfoParser) },
+  { "EArchObjGicItsInfo",                   CmArchGicItsInfoParser,
+    ARRAY_SIZE (CmArchGicItsInfoParser) },
+  { "EArchObjSerialConsolePortInfo",        CmArchSerialPortInfoParser,
+    ARRAY_SIZE (CmArchSerialPortInfoParser) },
+  { "EArchObjSerialDebugPortInfo",          CmArchSerialPortInfoParser,
+    ARRAY_SIZE (CmArchSerialPortInfoParser) },
+  { "EArchObjGenericTimerInfo",             CmArchGenericTimerInfoParser,
+    ARRAY_SIZE (CmArchGenericTimerInfoParser) },
+  { "EArchObjPlatformGTBlockInfo",          CmArchGTBlockInfoParser,
+    ARRAY_SIZE (CmArchGTBlockInfoParser) },
+  { "EArchObjGTBlockTimerFrameInfo",        CmArchGTBlockTimerFrameInfoParser,
+    ARRAY_SIZE (CmArchGTBlockTimerFrameInfoParser) },
+  { "EArchObjPlatformGenericWatchdogInfo",  CmArchGenericWatchdogInfoParser,
+    ARRAY_SIZE (CmArchGenericWatchdogInfoParser) },
+  { "EArchObjPciConfigSpaceInfo",           CmArchPciConfigSpaceInfoParser,
+    ARRAY_SIZE (CmArchPciConfigSpaceInfoParser) },
+  { "EArchObjHypervisorVendorIdentity",     CmArchHypervisorVendorIdParser,
+    ARRAY_SIZE (CmArchHypervisorVendorIdParser) },
+  { "EArchObjFixedFeatureFlags",            CmArchFixedFeatureFlagsParser,
+    ARRAY_SIZE (CmArchFixedFeatureFlagsParser) },
+  { "EArchObjItsGroup",                     CmArchItsGroupNodeParser,
+    ARRAY_SIZE (CmArchItsGroupNodeParser) },
+  { "EArchObjNamedComponent",               CmArchNamedComponentNodeParser,
+    ARRAY_SIZE (CmArchNamedComponentNodeParser) },
+  { "EArchObjRootComplex",                  CmArchRootComplexNodeParser,
+    ARRAY_SIZE (CmArchRootComplexNodeParser) },
+  { "EArchObjSmmuV1SmmuV2",                 CmArchSmmuV1SmmuV2NodeParser,
+    ARRAY_SIZE (CmArchSmmuV1SmmuV2NodeParser) },
+  { "EArchObjSmmuV3",                       CmArchSmmuV3NodeParser,
+    ARRAY_SIZE (CmArchSmmuV3NodeParser) },
+  { "EArchObjPmcg",                         CmArchPmcgNodeParser,                   ARRAY_SIZE (CmArchPmcgNodeParser) },
+  { "EArchObjGicItsIdentifierArray",        CmArchGicItsIdentifierParser,
+    ARRAY_SIZE (CmArchGicItsIdentifierParser) },
+  { "EArchObjIdMappingArray",               CmArchIdMappingParser,
+    ARRAY_SIZE (CmArchIdMappingParser) },
+  { "EArchObjSmmuInterruptArray",           CmArchGenericInterruptParser,
+    ARRAY_SIZE (CmArchGenericInterruptParser) },
+  { "EArchObjProcHierarchyInfo",            CmArchProcHierarchyInfoParser,
+    ARRAY_SIZE (CmArchProcHierarchyInfoParser) },
+  { "EArchObjCacheInfo",                    CmArchCacheInfoParser,
+    ARRAY_SIZE (CmArchCacheInfoParser) },
+  { "EArchObjProcNodeIdInfo",               CmArchProcNodeIdInfoParser,
+    ARRAY_SIZE (CmArchProcNodeIdInfoParser) },
+  { "EArchObjCmRef",                        CmArchObjRefParser,                     ARRAY_SIZE (CmArchObjRefParser)   },
+  { "EArchObjMemoryAffinityInfo",           CmArchMemoryAffinityInfoParser,
+    ARRAY_SIZE (CmArchMemoryAffinityInfoParser) },
+  { "EArchObjDeviceHandleAcpi",             CmArchDeviceHandleAcpiParser,
+    ARRAY_SIZE (CmArchDeviceHandleAcpiParser) },
+  { "EArchObjDeviceHandlePci",              CmArchDeviceHandlePciParser,
+    ARRAY_SIZE (CmArchDeviceHandlePciParser) },
+  { "EArchObjGenericInitiatorAffinityInfo",
+    CmArchGenericInitiatorAffinityInfoParser,
+    ARRAY_SIZE (CmArchGenericInitiatorAffinityInfoParser) },
+  { "EArchObjSerialPortInfo",               CmArchSerialPortInfoParser,
+    ARRAY_SIZE (CmArchSerialPortInfoParser) },
+  { "EArchObjCmn600Info",                   CmArchCmn600InfoParser,
+    ARRAY_SIZE (CmArchCmn600InfoParser) },
+  { "EArchObjLpiInfo",                      CmArchLpiInfoParser,
+    ARRAY_SIZE (CmArchLpiInfoParser) },
+  { "EArchObjPciAddressMapInfo",            CmArchPciAddressMapInfoParser,
+    ARRAY_SIZE (CmArchPciAddressMapInfoParser) },
+  { "EArchObjPciInterruptMapInfo",          CmPciInterruptMapInfoParser,
     ARRAY_SIZE (CmPciInterruptMapInfoParser) },
-  { "EArmObjRmr",                          CmArmRmrInfoParser,
-    ARRAY_SIZE (CmArmRmrInfoParser) },
-  { "EArmObjMemoryRangeDescriptor",        CmArmMemoryRangeDescriptorInfoParser,
-    ARRAY_SIZE (CmArmMemoryRangeDescriptorInfoParser) },
-  { "EArmObjCpcInfo",                      CmArmCpcInfoParser,
-    ARRAY_SIZE (CmArmCpcInfoParser) },
-  { "EArmObjPccSubspaceType0Info",         CmArmPccSubspaceType0InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
-  { "EArmObjPccSubspaceType1Info",         CmArmPccSubspaceType1InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType1InfoParser) },
-  { "EArmObjPccSubspaceType2Info",         CmArmPccSubspaceType2InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType2InfoParser) },
-  { "EArmObjPccSubspaceType3Info",         CmArmPccSubspaceType34InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType34InfoParser) },
-  { "EArmObjPccSubspaceType4Info",         CmArmPccSubspaceType34InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType34InfoParser) },
-  { "EArmObjPccSubspaceType5Info",         CmArmPccSubspaceType5InfoParser,
-    ARRAY_SIZE (CmArmPccSubspaceType5InfoParser) },
-  { "EArmObjEtInfo",                       CmArmEtInfo,
-    ARRAY_SIZE (CmArmEtInfo) },
-  { "EArmObjMax",                          NULL,                                  0                                },
+  { "EArchObjRmr",                          CmArchRmrInfoParser,
+    ARRAY_SIZE (CmArchRmrInfoParser) },
+  { "EArchObjMemoryRangeDescriptor",        CmArchMemoryRangeDescriptorInfoParser,
+    ARRAY_SIZE (CmArchMemoryRangeDescriptorInfoParser) },
+  { "EArchObjCpcInfo",                      CmArchCpcInfoParser,
+    ARRAY_SIZE (CmArchCpcInfoParser) },
+  { "EArchObjPccSubspaceType0Info",         CmArchPccSubspaceType0InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType0InfoParser) },
+  { "EArchObjPccSubspaceType1Info",         CmArchPccSubspaceType1InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType1InfoParser) },
+  { "EArchObjPccSubspaceType2Info",         CmArchPccSubspaceType2InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType2InfoParser) },
+  { "EArchObjPccSubspaceType3Info",         CmArchPccSubspaceType34InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType34InfoParser) },
+  { "EArchObjPccSubspaceType4Info",         CmArchPccSubspaceType34InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType34InfoParser) },
+  { "EArchObjPccSubspaceType5Info",         CmArchPccSubspaceType5InfoParser,
+    ARRAY_SIZE (CmArchPccSubspaceType5InfoParser) },
+  { "EArchObjEtInfo",                       CmArchEtInfo,
+    ARRAY_SIZE (CmArchEtInfo) },
+  { "EArchObjMax",                          NULL,                                   0                                 },
 };
 
 /** A parser for EStdObjCfgMgrInfo.
@@ -1086,7 +1086,7 @@ ParseCmObjDesc (
       ParserArray = &StdNamespaceObjectParser[ObjId];
       break;
     case EObjNameSpaceArm:
-      if (ObjId >= EArmObjMax) {
+      if (ObjId >= EArchObjMax) {
         ASSERT (0);
         return;
       }
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
index d217e33424b1..d0f6e257a7ac 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
@@ -39,7 +39,7 @@ STATIC CONST CHAR8  *PsciMethod[] = {
 
   @param [in]  Fdt            Pointer to a Flattened Device Tree (Fdt).
   @param [in]  PsciNode       Offset of a Psci node.
-  @param [in]  BootArchInfo   The CM_ARM_BOOT_ARCH_INFO to populate.
+  @param [in]  BootArchInfo   The CM_ARCH_BOOT_ARCH_INFO to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -51,7 +51,7 @@ EFIAPI
 PsciNodeParser (
   IN  CONST VOID                   *Fdt,
   IN        INT32                  PsciNode,
-  IN        CM_ARM_BOOT_ARCH_INFO  *BootArchInfo
+  IN        CM_ARCH_BOOT_ARCH_INFO  *BootArchInfo
   )
 {
   CONST VOID  *Data;
@@ -84,12 +84,12 @@ PsciNodeParser (
   return EFI_SUCCESS;
 }
 
-/** CM_ARM_BOOT_ARCH_INFO parser function.
+/** CM_ARCH_BOOT_ARCH_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmBootArchInfo {
+  typedef struct CmArchBootArchInfo {
     UINT16  BootArchFlags;                    // {Populated}
-  } CM_ARM_BOOT_ARCH_INFO;
+  } CM_ARCH_BOOT_ARCH_INFO;
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
@@ -117,14 +117,14 @@ ArmBootArchInfoParser (
 {
   EFI_STATUS             Status;
   INT32                  PsciNode;
-  CM_ARM_BOOT_ARCH_INFO  BootArchInfo;
+  CM_ARCH_BOOT_ARCH_INFO  BootArchInfo;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
   }
 
-  ZeroMem (&BootArchInfo, sizeof (CM_ARM_BOOT_ARCH_INFO));
+  ZeroMem (&BootArchInfo, sizeof (CM_ARCH_BOOT_ARCH_INFO));
 
   PsciNode = FdtBranch;
   Status   = FdtGetNextCompatNodeInBranch (
@@ -149,9 +149,9 @@ ArmBootArchInfoParser (
   // Add the CmObj to the Configuration Manager.
   Status = AddSingleCmObj (
              FdtParserHandle,
-             CREATE_CM_ARM_OBJECT_ID (EArmObjBootArchInfo),
+             CREATE_CM_ARCH_OBJECT_ID (EArchObjBootArchInfo),
              &BootArchInfo,
-             sizeof (CM_ARM_BOOT_ARCH_INFO),
+             sizeof (CM_ARCH_BOOT_ARCH_INFO),
              NULL
              );
   ASSERT_EFI_ERROR (Status);
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
index 6488399ed812..9cee2c214ff2 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/GenericTimer/ArmGenericTimerParser.c
@@ -33,7 +33,7 @@ STATIC CONST COMPATIBILITY_INFO  TimerCompatibleInfo = {
 
   @param [in]  Fdt                Pointer to a Flattened Device Tree (Fdt).
   @param [in]  TimerNode          Offset of a timer node.
-  @param [in]  GenericTimerInfo   The CM_ARM_BOOT_ARCH_INFO to populate.
+  @param [in]  GenericTimerInfo   The CM_ARCH_BOOT_ARCH_INFO to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -43,9 +43,9 @@ STATIC
 EFI_STATUS
 EFIAPI
 TimerNodeParser (
-  IN  CONST VOID                       *Fdt,
-  IN        INT32                      TimerNode,
-  IN        CM_ARM_GENERIC_TIMER_INFO  *GenericTimerInfo
+  IN  CONST VOID                        *Fdt,
+  IN        INT32                       TimerNode,
+  IN        CM_ARCH_GENERIC_TIMER_INFO  *GenericTimerInfo
   )
 {
   EFI_STATUS    Status;
@@ -143,10 +143,10 @@ TimerNodeParser (
   return EFI_SUCCESS;
 }
 
-/** CM_ARM_GENERIC_TIMER_INFO parser function.
+/** CM_ARCH_GENERIC_TIMER_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmGenericTimerInfo {
+  typedef struct CmArchGenericTimerInfo {
     UINT64  CounterControlBaseAddress;        // {default}
     UINT64  CounterReadBaseAddress;           // {default}
     UINT32  SecurePL1TimerGSIV;               // {Populated}
@@ -159,7 +159,7 @@ TimerNodeParser (
     UINT32  NonSecurePL2TimerFlags;           // {Populated}
     UINT32  VirtualPL2TimerGSIV;              // {default}
     UINT32  VirtualPL2TimerFlags;             // {default}
-  } CM_ARM_GENERIC_TIMER_INFO;
+  } CM_ARCH_GENERIC_TIMER_INFO;
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
@@ -185,12 +185,12 @@ ArmGenericTimerInfoParser (
   IN        INT32                      FdtBranch
   )
 {
-  EFI_STATUS                 Status;
-  UINT32                     Index;
-  INT32                      TimerNode;
-  UINT32                     TimerNodeCount;
-  CM_ARM_GENERIC_TIMER_INFO  GenericTimerInfo;
-  VOID                       *Fdt;
+  EFI_STATUS                  Status;
+  UINT32                      Index;
+  INT32                       TimerNode;
+  UINT32                      TimerNodeCount;
+  CM_ARCH_GENERIC_TIMER_INFO  GenericTimerInfo;
+  VOID                        *Fdt;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
@@ -216,7 +216,7 @@ ArmGenericTimerInfoParser (
   // Parse each timer node in the branch.
   TimerNode = FdtBranch;
   for (Index = 0; Index < TimerNodeCount; Index++) {
-    ZeroMem (&GenericTimerInfo, sizeof (CM_ARM_GENERIC_TIMER_INFO));
+    ZeroMem (&GenericTimerInfo, sizeof (CM_ARCH_GENERIC_TIMER_INFO));
 
     Status = FdtGetNextCompatNodeInBranch (
                Fdt,
@@ -243,9 +243,9 @@ ArmGenericTimerInfoParser (
     // Add the CmObj to the Configuration Manager.
     Status = AddSingleCmObj (
                FdtParserHandle,
-               CREATE_CM_ARM_OBJECT_ID (EArmObjGenericTimerInfo),
+               CREATE_CM_ARCH_OBJECT_ID (EArchObjGenericTimerInfo),
                &GenericTimerInfo,
-               sizeof (CM_ARM_GENERIC_TIMER_INFO),
+               sizeof (CM_ARCH_GENERIC_TIMER_INFO),
                NULL
                );
     if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
index cf577b47242e..e5cf5c776d0f 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
@@ -58,7 +58,7 @@ CONST COMPATIBILITY_INFO  PmuCompatibleInfo = {
   @param [in]  GicVersion       Version of the GIC.
   @param [in]  AddressCells     Number of address cells used for the reg
                                 property.
-  @param [out] GicCInfo         CM_ARM_GICC_INFO structure to populate.
+  @param [out] GicCInfo         CM_ARCH_GICC_INFO structure to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -69,11 +69,11 @@ STATIC
 EFI_STATUS
 EFIAPI
 CpuNodeParser (
-  IN  CONST VOID              *Fdt,
-  IN        INT32             CpuNode,
-  IN        UINT32            GicVersion,
-  IN        UINT32            AddressCells,
-  OUT       CM_ARM_GICC_INFO  *GicCInfo
+  IN  CONST VOID               *Fdt,
+  IN        INT32              CpuNode,
+  IN        UINT32             GicVersion,
+  IN        UINT32             AddressCells,
+  OUT       CM_ARCH_GICC_INFO  *GicCInfo
   )
 {
   CONST UINT8  *Data;
@@ -146,13 +146,13 @@ CpuNodeParser (
 
 /** Parse a "cpus" node and its children "cpu" nodes.
 
-  Create as many CM_ARM_GICC_INFO structures as "cpu" nodes.
+  Create as many CM_ARCH_GICC_INFO structures as "cpu" nodes.
 
   @param [in]  Fdt              Pointer to a Flattened Device Tree (Fdt).
   @param [in]  CpusNode         Offset of a cpus node.
   @param [in]  GicVersion       Version of the GIC.
   @param [out] NewGicCmObjDesc  If success, CM_OBJ_DESCRIPTOR containing
-                                all the created CM_ARM_GICC_INFO.
+                                all the created CM_ARCH_GICC_INFO.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -174,9 +174,9 @@ CpusNodeParser (
   UINT32      CpuNodeCount;
   INT32       AddressCells;
 
-  UINT32            Index;
-  CM_ARM_GICC_INFO  *GicCInfoBuffer;
-  UINT32            GicCInfoBufferSize;
+  UINT32             Index;
+  CM_ARCH_GICC_INFO  *GicCInfoBuffer;
+  UINT32             GicCInfoBufferSize;
 
   if (NewGicCmObjDesc == NULL) {
     ASSERT (0);
@@ -201,8 +201,8 @@ CpusNodeParser (
     return EFI_NOT_FOUND;
   }
 
-  // Allocate memory for CpuNodeCount CM_ARM_GICC_INFO structures.
-  GicCInfoBufferSize = CpuNodeCount * sizeof (CM_ARM_GICC_INFO);
+  // Allocate memory for CpuNodeCount CM_ARCH_GICC_INFO structures.
+  GicCInfoBufferSize = CpuNodeCount * sizeof (CM_ARCH_GICC_INFO);
   GicCInfoBuffer     = AllocateZeroPool (GicCInfoBufferSize);
   if (GicCInfoBuffer == NULL) {
     ASSERT (0);
@@ -243,7 +243,7 @@ CpusNodeParser (
   } // for
 
   Status = CreateCmObjDesc (
-             CREATE_CM_ARM_OBJECT_ID (EArmObjGicCInfo),
+             CREATE_CM_ARCH_OBJECT_ID (EArchObjGicCInfo),
              CpuNodeCount,
              GicCInfoBuffer,
              GicCInfoBufferSize,
@@ -260,14 +260,14 @@ CpusNodeParser (
     extracting GicC information generic to Gic v2 and v3.
 
   This function modifies a CM_OBJ_DESCRIPTOR object.
-  The following CM_ARM_GICC_INFO fields are patched:
+  The following CM_ARCH_GICC_INFO fields are patched:
     - VGICMaintenanceInterrupt;
     - Flags;
 
   @param [in]       Fdt              Pointer to a Flattened Device Tree (Fdt).
   @param [in]       GicIntcNode      Offset of a Gic compatible
                                      interrupt-controller node.
-  @param [in, out]  GicCCmObjDesc    The CM_ARM_GICC_INFO to patch.
+  @param [in, out]  GicCCmObjDesc    The CM_ARCH_GICC_INFO to patch.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -282,9 +282,9 @@ GicCIntcNodeParser (
   IN  OUT       CM_OBJ_DESCRIPTOR  *GicCCmObjDesc
   )
 {
-  EFI_STATUS        Status;
-  INT32             IntCells;
-  CM_ARM_GICC_INFO  *GicCInfo;
+  EFI_STATUS         Status;
+  INT32              IntCells;
+  CM_ARCH_GICC_INFO  *GicCInfo;
 
   CONST UINT8  *Data;
   INT32        DataSize;
@@ -307,7 +307,7 @@ GicCIntcNodeParser (
   // but it is assumed that only one Gic is available.
   Data = fdt_getprop (Fdt, GicIntcNode, "interrupts", &DataSize);
   if ((Data != NULL) && (DataSize == (IntCells * sizeof (UINT32)))) {
-    GicCInfo                           = (CM_ARM_GICC_INFO *)GicCCmObjDesc->Data;
+    GicCInfo                           = (CM_ARCH_GICC_INFO *)GicCCmObjDesc->Data;
     GicCInfo->VGICMaintenanceInterrupt =
       FdtGetInterruptId ((CONST UINT32 *)Data);
     GicCInfo->Flags = DT_IRQ_IS_EDGE_TRIGGERED (
@@ -330,7 +330,7 @@ GicCIntcNodeParser (
     extracting GicCv2 information.
 
   This function modifies a CM_OBJ_DESCRIPTOR object.
-  The following CM_ARM_GICC_INFO fields are patched:
+  The following CM_ARCH_GICC_INFO fields are patched:
     - PhysicalAddress;
     - GICH;
     - GICV;
@@ -338,7 +338,7 @@ GicCIntcNodeParser (
   @param [in]       Fdt              Pointer to a Flattened Device Tree (Fdt).
   @param [in]       Gicv2IntcNode    Offset of a Gicv2 compatible
                                      interrupt-controller node.
-  @param [in, out]  GicCCmObjDesc    The CM_ARM_GICC_INFO to patch.
+  @param [in, out]  GicCCmObjDesc    The CM_ARCH_GICC_INFO to patch.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -353,11 +353,11 @@ GicCv2IntcNodeParser (
   IN  OUT       CM_OBJ_DESCRIPTOR  *GicCCmObjDesc
   )
 {
-  EFI_STATUS        Status;
-  UINT32            Index;
-  CM_ARM_GICC_INFO  *GicCInfo;
-  INT32             AddressCells;
-  INT32             SizeCells;
+  EFI_STATUS         Status;
+  UINT32             Index;
+  CM_ARCH_GICC_INFO  *GicCInfo;
+  INT32              AddressCells;
+  INT32              SizeCells;
 
   CONST UINT8  *GicCValue;
   CONST UINT8  *GicVValue;
@@ -373,7 +373,7 @@ GicCv2IntcNodeParser (
     return EFI_INVALID_PARAMETER;
   }
 
-  GicCInfo  = (CM_ARM_GICC_INFO *)GicCCmObjDesc->Data;
+  GicCInfo  = (CM_ARCH_GICC_INFO *)GicCCmObjDesc->Data;
   GicVValue = NULL;
   GicHValue = NULL;
 
@@ -443,7 +443,7 @@ GicCv2IntcNodeParser (
     }
   }
 
-  // Patch the relevant fields of the CM_ARM_GICC_INFO objects.
+  // Patch the relevant fields of the CM_ARCH_GICC_INFO objects.
   for (Index = 0; Index < GicCCmObjDesc->Count; Index++) {
     if (AddressCells == 2) {
       GicCInfo[Index].PhysicalBaseAddress = fdt64_to_cpu (*(UINT64 *)GicCValue);
@@ -467,7 +467,7 @@ GicCv2IntcNodeParser (
     extracting GicCv3 information.
 
   This function modifies a CM_OBJ_DESCRIPTOR object.
-  The following CM_ARM_GICC_INFO fields are patched:
+  The following CM_ARCH_GICC_INFO fields are patched:
     - PhysicalAddress;
     - GICH;
     - GICV;
@@ -475,7 +475,7 @@ GicCv2IntcNodeParser (
   @param [in]       Fdt              Pointer to a Flattened Device Tree (Fdt).
   @param [in]       Gicv3IntcNode    Offset of a Gicv3 compatible
                                      interrupt-controller node.
-  @param [in, out]  GicCCmObjDesc    The CM_ARM_GICC_INFO to patch.
+  @param [in, out]  GicCCmObjDesc    The CM_ARCH_GICC_INFO to patch.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -490,12 +490,12 @@ GicCv3IntcNodeParser (
   IN  OUT       CM_OBJ_DESCRIPTOR  *GicCCmObjDesc
   )
 {
-  EFI_STATUS        Status;
-  UINT32            Index;
-  CM_ARM_GICC_INFO  *GicCInfo;
-  INT32             AddressCells;
-  INT32             SizeCells;
-  UINT32            AdditionalRedistReg;
+  EFI_STATUS         Status;
+  UINT32             Index;
+  CM_ARCH_GICC_INFO  *GicCInfo;
+  INT32              AddressCells;
+  INT32              SizeCells;
+  UINT32             AdditionalRedistReg;
 
   CONST UINT8  *GicCValue;
   CONST UINT8  *GicVValue;
@@ -511,7 +511,7 @@ GicCv3IntcNodeParser (
     return EFI_INVALID_PARAMETER;
   }
 
-  GicCInfo  = (CM_ARM_GICC_INFO *)GicCCmObjDesc->Data;
+  GicCInfo  = (CM_ARCH_GICC_INFO *)GicCCmObjDesc->Data;
   GicCValue = NULL;
   GicVValue = NULL;
   GicHValue = NULL;
@@ -616,8 +616,8 @@ GicCv3IntcNodeParser (
     }
     case 2:
     {
-      // GicR is discribed by the CM_ARM_GIC_REDIST_INFO object.
-      // GicD is described by the CM_ARM_GICD_INFO object.
+      // GicR is discribed by the CM_ARCH_GIC_REDIST_INFO object.
+      // GicD is described by the CM_ARCH_GICD_INFO object.
       break;
     }
     default:
@@ -628,10 +628,10 @@ GicCv3IntcNodeParser (
     }
   }
 
-  // Patch the relevant fields of the CM_ARM_GICC_INFO objects.
+  // Patch the relevant fields of the CM_ARCH_GICC_INFO objects.
   if (AddressCells == 2) {
     for (Index = 0; Index < GicCCmObjDesc->Count; Index++) {
-      // GicR is discribed by the CM_ARM_GIC_REDIST_INFO object.
+      // GicR is discribed by the CM_ARCH_GIC_REDIST_INFO object.
       GicCInfo[Index].GICRBaseAddress     = 0;
       GicCInfo[Index].PhysicalBaseAddress = (GicCValue == NULL) ? 0 :
                                             fdt64_to_cpu (*(UINT64 *)GicCValue);
@@ -642,7 +642,7 @@ GicCv3IntcNodeParser (
     }
   } else {
     for (Index = 0; Index < GicCCmObjDesc->Count; Index++) {
-      // GicR is discribed by the CM_ARM_GIC_REDIST_INFO object.
+      // GicR is discribed by the CM_ARCH_GIC_REDIST_INFO object.
       GicCInfo[Index].GICRBaseAddress     = 0;
       GicCInfo[Index].PhysicalBaseAddress = (GicCValue == NULL) ? 0 :
                                             fdt32_to_cpu (*(UINT32 *)GicCValue);
@@ -659,13 +659,13 @@ GicCv3IntcNodeParser (
 /** Parse a Pmu compatible node, extracting Pmu information.
 
   This function modifies a CM_OBJ_DESCRIPTOR object.
-  The following CM_ARM_GICC_INFO fields are patched:
+  The following CM_ARCH_GICC_INFO fields are patched:
     - PerformanceInterruptGsiv;
 
   @param [in]       Fdt              Pointer to a Flattened Device Tree (Fdt).
   @param [in]       GicIntcNode      Offset of a Gic compatible
                                      interrupt-controller node.
-  @param [in, out]  GicCCmObjDesc    The CM_ARM_GICC_INFO to patch.
+  @param [in, out]  GicCCmObjDesc    The CM_ARCH_GICC_INFO to patch.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -680,22 +680,22 @@ GicCPmuNodeParser (
   IN  OUT       CM_OBJ_DESCRIPTOR  *GicCCmObjDesc
   )
 {
-  EFI_STATUS        Status;
-  INT32             IntCells;
-  INT32             PmuNode;
-  UINT32            PmuNodeCount;
-  UINT32            PmuIrq;
-  UINT32            Index;
-  CM_ARM_GICC_INFO  *GicCInfo;
-  CONST UINT8       *Data;
-  INT32             DataSize;
+  EFI_STATUS         Status;
+  INT32              IntCells;
+  INT32              PmuNode;
+  UINT32             PmuNodeCount;
+  UINT32             PmuIrq;
+  UINT32             Index;
+  CM_ARCH_GICC_INFO  *GicCInfo;
+  CONST UINT8        *Data;
+  INT32              DataSize;
 
   if (GicCCmObjDesc == NULL) {
     ASSERT (GicCCmObjDesc != NULL);
     return EFI_INVALID_PARAMETER;
   }
 
-  GicCInfo = (CM_ARM_GICC_INFO *)GicCCmObjDesc->Data;
+  GicCInfo = (CM_ARCH_GICC_INFO *)GicCCmObjDesc->Data;
   PmuNode  = 0;
 
   // Count the number of pmu nodes.
@@ -761,12 +761,12 @@ GicCPmuNodeParser (
   return EFI_SUCCESS;
 }
 
-/** CM_ARM_GICC_INFO parser function.
+/** CM_ARCH_GICC_INFO parser function.
 
   This parser expects FdtBranch to be the "\cpus" node node.
   At most one CmObj is created.
   The following structure is populated:
-  typedef struct CmArmGicCInfo {
+  typedef struct CmArchGicCInfo {
     UINT32  CPUInterfaceNumber;               // {Populated}
     UINT32  AcpiProcessorUid;                 // {Populated}
     UINT32  Flags;                            // {Populated}
@@ -784,7 +784,7 @@ GicCPmuNodeParser (
     UINT32  ProximityDomain;                  // {default = 0}
     UINT32  ClockDomain;                      // {default = 0}
     UINT32  AffinityFlags;                    // {default = 0}
-  } CM_ARM_GICC_INFO;
+  } CM_ARCH_GICC_INFO;
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
index 906ef8b8585e..b3521bf8c5f0 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDParser.c
@@ -22,7 +22,7 @@
   @param [in]  Fdt              Pointer to a Flattened Device Tree (Fdt).
   @param [in]  GicIntcNode      Offset of a Gic compatible
                                 interrupt-controller node.
-  @param [in]  GicDInfo         The CM_ARM_GICD_INFO to populate.
+  @param [in]  GicDInfo         The CM_ARCH_GICD_INFO to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -32,9 +32,9 @@ STATIC
 EFI_STATUS
 EFIAPI
 GicDIntcNodeParser (
-  IN  CONST VOID        *Fdt,
-  IN  INT32             GicIntcNode,
-  IN  CM_ARM_GICD_INFO  *GicDInfo
+  IN  CONST VOID         *Fdt,
+  IN  INT32              GicIntcNode,
+  IN  CM_ARCH_GICD_INFO  *GicDInfo
   )
 {
   EFI_STATUS   Status;
@@ -79,16 +79,16 @@ GicDIntcNodeParser (
   return Status;
 }
 
-/** CM_ARM_GICD_INFO parser function.
+/** CM_ARCH_GICD_INFO parser function.
 
   This parser expects FdtBranch to be a Gic interrupt-controller node.
   At most one CmObj is created.
   The following structure is populated:
-  typedef struct CmArmGicDInfo {
+  typedef struct CmArchGicDInfo {
     UINT64  PhysicalBaseAddress;              // {Populated}
     UINT32  SystemVectorBase;
     UINT8   GicVersion;                       // {Populated}
-  } CM_ARM_GICD_INFO;
+  } CM_ARCH_GICD_INFO;
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
@@ -114,10 +114,10 @@ ArmGicDInfoParser (
   IN        INT32                      FdtBranch
   )
 {
-  EFI_STATUS        Status;
-  UINT32            GicVersion;
-  CM_ARM_GICD_INFO  GicDInfo;
-  VOID              *Fdt;
+  EFI_STATUS         Status;
+  UINT32             GicVersion;
+  CM_ARCH_GICD_INFO  GicDInfo;
+  VOID               *Fdt;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
@@ -161,9 +161,9 @@ ArmGicDInfoParser (
   // Add the CmObj to the Configuration Manager.
   Status = AddSingleCmObj (
              FdtParserHandle,
-             CREATE_CM_ARM_OBJECT_ID (EArmObjGicDInfo),
+             CREATE_CM_ARCH_OBJECT_ID (EArchObjGicDInfo),
              &GicDInfo,
-             sizeof (CM_ARM_GICD_INFO),
+             sizeof (CM_ARCH_GICD_INFO),
              NULL
              );
   ASSERT_EFI_ERROR (Status);
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
index ca34d24a78d9..452d8029a213 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicDispatcher.c
@@ -89,9 +89,9 @@ GetGicVersion (
 /** Gic dispatcher.
 
   This disptacher populates the following structures:
-   - CM_ARM_GICC_INFO
-   - CM_ARM_GICD_INFO
-   - CM_ARM_GIC_MSI_FRAME_INFO
+   - CM_ARCH_GICC_INFO
+   - CM_ARCH_GICD_INFO
+   - CM_ARCH_GIC_MSI_FRAME_INFO
 
   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/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
index 6d4bde6a141a..d41a6d481b2d 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicItsParser.c
@@ -22,7 +22,7 @@
   @param [in]  GicIntcNode      Offset of a Gic compatible
                                 interrupt-controller node.
   @param [in]  GicItsId         Id for the Gic ITS node.
-  @param [in]  GicItsInfo       The CM_ARM_GIC_ITS_INFO to populate.
+  @param [in]  GicItsInfo       The CM_ARCH_GIC_ITS_INFO to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -32,10 +32,10 @@ STATIC
 EFI_STATUS
 EFIAPI
 GicItsIntcNodeParser (
-  IN  CONST VOID           *Fdt,
-  IN  INT32                GicIntcNode,
-  IN  UINT32               GicItsId,
-  IN  CM_ARM_GIC_ITS_INFO  *GicItsInfo
+  IN  CONST VOID            *Fdt,
+  IN  INT32                 GicIntcNode,
+  IN  UINT32                GicItsId,
+  IN  CM_ARCH_GIC_ITS_INFO  *GicItsInfo
   )
 {
   EFI_STATUS   Status;
@@ -85,15 +85,15 @@ GicItsIntcNodeParser (
   return Status;
 }
 
-/** CM_ARM_GIC_ITS_INFO parser function.
+/** CM_ARCH_GIC_ITS_INFO parser function.
 
   This parser expects FdtBranch to be a Gic interrupt-controller node.
   Gic version must be v3 or higher.
-  typedef struct CmArmGicItsInfo {
+  typedef struct CmArchGicItsInfo {
     UINT32  GicItsId;                         // {Populated}
     UINT64  PhysicalBaseAddress;              // {Populated}
     UINT32  ProximityDomain;                  // {default = 0}
-  } CM_ARM_GIC_ITS_INFO;
+  } CM_ARCH_GIC_ITS_INFO;
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
@@ -119,13 +119,13 @@ ArmGicItsInfoParser (
   IN        INT32                      FdtBranch
   )
 {
-  EFI_STATUS           Status;
-  UINT32               GicVersion;
-  CM_ARM_GIC_ITS_INFO  GicItsInfo;
-  UINT32               Index;
-  INT32                GicItsNode;
-  UINT32               GicItsNodeCount;
-  VOID                 *Fdt;
+  EFI_STATUS            Status;
+  UINT32                GicVersion;
+  CM_ARCH_GIC_ITS_INFO  GicItsInfo;
+  UINT32                Index;
+  INT32                 GicItsNode;
+  UINT32                GicItsNodeCount;
+  VOID                  *Fdt;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
@@ -171,7 +171,7 @@ ArmGicItsInfoParser (
 
   GicItsNode = FdtBranch;
   for (Index = 0; Index < GicItsNodeCount; Index++) {
-    ZeroMem (&GicItsInfo, sizeof (CM_ARM_GIC_ITS_INFO));
+    ZeroMem (&GicItsInfo, sizeof (CM_ARCH_GIC_ITS_INFO));
 
     Status = FdtGetNextPropNodeInBranch (
                Fdt,
@@ -203,9 +203,9 @@ ArmGicItsInfoParser (
     // Add the CmObj to the Configuration Manager.
     Status = AddSingleCmObj (
                FdtParserHandle,
-               CREATE_CM_ARM_OBJECT_ID (EArmObjGicItsInfo),
+               CREATE_CM_ARCH_OBJECT_ID (EArchObjGicItsInfo),
                &GicItsInfo,
-               sizeof (CM_ARM_GIC_ITS_INFO),
+               sizeof (CM_ARCH_GIC_ITS_INFO),
                NULL
                );
     if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
index dff5beff91be..4bc40f98642e 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicMsiFrameParser.c
@@ -34,7 +34,7 @@ STATIC CONST COMPATIBILITY_INFO  MsiFrameCompatibleInfo = {
   @param [in]  Fdt            Pointer to a Flattened Device Tree (Fdt).
   @param [in]  MsiFrameNode   Offset of a Msi frame node.
   @param [in]  MsiFrameId     Frame ID.
-  @param [out] MsiFrameInfo   The CM_ARM_GIC_MSI_FRAME_INFO to populate.
+  @param [out] MsiFrameInfo   The CM_ARCH_GIC_MSI_FRAME_INFO to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -44,10 +44,10 @@ STATIC
 EFI_STATUS
 EFIAPI
 MsiFrameNodeParser (
-  IN  CONST VOID                 *Fdt,
-  IN  INT32                      MsiFrameNode,
-  IN  UINT32                     MsiFrameId,
-  OUT CM_ARM_GIC_MSI_FRAME_INFO  *MsiFrameInfo
+  IN  CONST VOID                  *Fdt,
+  IN  INT32                       MsiFrameNode,
+  IN  UINT32                      MsiFrameId,
+  OUT CM_ARCH_GIC_MSI_FRAME_INFO  *MsiFrameInfo
   )
 {
   EFI_STATUS   Status;
@@ -94,16 +94,16 @@ MsiFrameNodeParser (
   return EFI_SUCCESS;
 }
 
-/** CM_ARM_GIC_MSI_FRAME_INFO parser function.
+/** CM_ARCH_GIC_MSI_FRAME_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmGicMsiFrameInfo {
+  typedef struct CmArchGicMsiFrameInfo {
     UINT32  GicMsiFrameId;                    // {Populated}
     UINT64  PhysicalBaseAddress;              // {Populated}
     UINT32  Flags;                            // {default = 0}
     UINT16  SPICount;
     UINT16  SPIBase;
-  } CM_ARM_GIC_MSI_FRAME_INFO;
+  } CM_ARCH_GIC_MSI_FRAME_INFO;
 
   A parser parses a Device Tree to populate a specific CmObj type. None,
   one or many CmObj can be created by the parser.
@@ -133,9 +133,9 @@ ArmGicMsiFrameInfoParser (
   INT32       MsiFrameNode;
   UINT32      MsiFrameNodeCount;
 
-  UINT32                     Index;
-  CM_ARM_GIC_MSI_FRAME_INFO  MsiFrameInfo;
-  VOID                       *Fdt;
+  UINT32                      Index;
+  CM_ARCH_GIC_MSI_FRAME_INFO  MsiFrameInfo;
+  VOID                        *Fdt;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
@@ -163,7 +163,7 @@ ArmGicMsiFrameInfoParser (
   // Parse each node having the "msi-controller" property.
   MsiFrameNode = FdtBranch;
   for (Index = 0; Index < MsiFrameNodeCount; Index++) {
-    ZeroMem (&MsiFrameInfo, sizeof (CM_ARM_GIC_MSI_FRAME_INFO));
+    ZeroMem (&MsiFrameInfo, sizeof (CM_ARCH_GIC_MSI_FRAME_INFO));
 
     Status = FdtGetNextPropNodeInBranch (
                Fdt,
@@ -202,9 +202,9 @@ ArmGicMsiFrameInfoParser (
     // Add the CmObj to the Configuration Manager.
     Status = AddSingleCmObj (
                FdtParserHandle,
-               CREATE_CM_ARM_OBJECT_ID (EArmObjGicMsiFrameInfo),
+               CREATE_CM_ARCH_OBJECT_ID (EArchObjGicMsiFrameInfo),
                &MsiFrameInfo,
-               sizeof (CM_ARM_GIC_MSI_FRAME_INFO),
+               sizeof (CM_ARCH_GIC_MSI_FRAME_INFO),
                NULL
                );
     if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
index de2e1dd1f1e3..cd2c56e51d58 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicRParser.c
@@ -34,16 +34,16 @@ GicRIntcNodeParser (
   IN        INT32                      GicIntcNode
   )
 {
-  EFI_STATUS              Status;
-  UINT32                  Index;
-  UINT32                  RedistReg;
-  UINT32                  RegSize;
-  INT32                   AddressCells;
-  INT32                   SizeCells;
-  CONST UINT8             *Data;
-  INT32                   DataSize;
-  CM_ARM_GIC_REDIST_INFO  GicRInfo;
-  VOID                    *Fdt;
+  EFI_STATUS               Status;
+  UINT32                   Index;
+  UINT32                   RedistReg;
+  UINT32                   RegSize;
+  INT32                    AddressCells;
+  INT32                    SizeCells;
+  CONST UINT8              *Data;
+  INT32                    DataSize;
+  CM_ARCH_GIC_REDIST_INFO  GicRInfo;
+  VOID                     *Fdt;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
@@ -136,7 +136,7 @@ GicRIntcNodeParser (
   Data += GET_DT_REG_ADDRESS_OFFSET (1, AddressCells, SizeCells)
           * sizeof (UINT32);
   for (Index = 0; Index < RedistReg; Index++) {
-    ZeroMem (&GicRInfo, sizeof (CM_ARM_GIC_REDIST_INFO));
+    ZeroMem (&GicRInfo, sizeof (CM_ARCH_GIC_REDIST_INFO));
 
     if (AddressCells == 2) {
       GicRInfo.DiscoveryRangeBaseAddress = fdt64_to_cpu (*(UINT64 *)Data);
@@ -155,9 +155,9 @@ GicRIntcNodeParser (
     // Add the CmObj to the Configuration Manager.
     Status = AddSingleCmObj (
                FdtParserHandle,
-               CREATE_CM_ARM_OBJECT_ID (EArmObjGicRedistributorInfo),
+               CREATE_CM_ARCH_OBJECT_ID (EArchObjGicRedistributorInfo),
                &GicRInfo,
-               sizeof (CM_ARM_GIC_REDIST_INFO),
+               sizeof (CM_ARCH_GIC_REDIST_INFO),
                NULL
                );
     if (EFI_ERROR (Status)) {
@@ -171,14 +171,14 @@ GicRIntcNodeParser (
   return Status;
 }
 
-/** CM_ARM_GIC_REDIST_INFO parser function.
+/** CM_ARCH_GIC_REDIST_INFO parser function.
 
   This parser expects FdtBranch to be a Gic interrupt-controller node.
   Gic version must be v3 or higher.
-  typedef struct CmArmGicRedistInfo {
+  typedef struct CmArchGicRedistInfo {
     UINT64  DiscoveryRangeBaseAddress;        // {Populated}
     UINT32  DiscoveryRangeLength;             // {Populated}
-  } CM_ARM_GIC_REDIST_INFO;
+  } CM_ARCH_GIC_REDIST_INFO;
 
   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/Library/FdtHwInfoParserLib/CmObjectDescUtility.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.c
index 8be1b5b8cd88..f008cf28018c 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.c
@@ -219,11 +219,11 @@ AddMultipleCmObj (
 
 /** Add multiple CmObj to the Configuration Manager.
 
-  Get one token referencing a EArmObjCmRef CmObj itself referencing
+  Get one token referencing a EArchObjCmRef CmObj itself referencing
   the input CmObj. In the table below, RefToken is returned.
 
   Token referencing an      Array of tokens             Array of CmObj
-  array of EArmObjCmRef     referencing each            from the input:
+  array of EArchObjCmRef     referencing each            from the input:
   CmObj:                    CmObj from the input:
 
   RefToken         --->     CmObjToken[0]        --->   CmObj[0]
@@ -234,7 +234,7 @@ AddMultipleCmObj (
   @param  [in]  CmObjDesc         CmObjDesc containing multiple CmObj
                                   to add.
   @param  [out] Token             If success, token referencing an array
-                                  of EArmObjCmRef CmObj, themselves
+                                  of EArchObjCmRef CmObj, themselves
                                   referencing the input CmObjs.
 
   @retval EFI_SUCCESS             The function completed successfully.
@@ -286,12 +286,12 @@ AddMultipleCmObjWithCmObjRef (
     goto exit_handler;
   }
 
-  CmObjRef.ObjectId = CREATE_CM_ARM_OBJECT_ID (EArmObjCmRef);
+  CmObjRef.ObjectId = CREATE_CM_ARCH_OBJECT_ID (EArchObjCmRef);
   CmObjRef.Data     = TokenTable;
   CmObjRef.Count    = CmObjDesc->Count;
   CmObjRef.Size     = TokenTableSize;
 
-  // Add the array of EArmObjCmRef CmObjs.
+  // Add the array of EArchObjCmRef CmObjs.
   Status = FdtParserHandle->HwInfoAdd (
                               FdtParserHandle,
                               FdtParserHandle->Context,
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
index 68b048498121..d6a08c47b7d5 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
@@ -188,8 +188,8 @@ ParseAddressMap (
   UINT32       Count;
   UINT32       PciAddressAttr;
 
-  CM_ARM_PCI_ADDRESS_MAP_INFO  *PciAddressMapInfo;
-  UINT32                       BufferSize;
+  CM_ARCH_PCI_ADDRESS_MAP_INFO  *PciAddressMapInfo;
+  UINT32                        BufferSize;
 
   // The mapping is done on AddressMapSize bytes.
   AddressMapSize = (PCI_ADDRESS_CELLS + AddressCells + PCI_SIZE_CELLS) *
@@ -208,7 +208,7 @@ ParseAddressMap (
   Count = DataSize / AddressMapSize;
 
   // Allocate a buffer to store each address mapping.
-  BufferSize        = Count * sizeof (CM_ARM_PCI_ADDRESS_MAP_INFO);
+  BufferSize        = Count * sizeof (CM_ARCH_PCI_ADDRESS_MAP_INFO);
   PciAddressMapInfo = AllocateZeroPool (BufferSize);
   if (PciAddressMapInfo == NULL) {
     ASSERT (0);
@@ -246,9 +246,9 @@ ParseAddressMap (
   } // for
 
   PciInfo->Mapping[PciMappingTableAddress].ObjectId =
-    CREATE_CM_ARM_OBJECT_ID (EArmObjPciAddressMapInfo);
+    CREATE_CM_ARCH_OBJECT_ID (EArchObjPciAddressMapInfo);
   PciInfo->Mapping[PciMappingTableAddress].Size =
-    sizeof (CM_ARM_PCI_ADDRESS_MAP_INFO) * Count;
+    sizeof (CM_ARCH_PCI_ADDRESS_MAP_INFO) * Count;
   PciInfo->Mapping[PciMappingTableAddress].Data  = PciAddressMapInfo;
   PciInfo->Mapping[PciMappingTableAddress].Count = Count;
 
@@ -311,8 +311,8 @@ ParseIrqMap (
 
   UINT32  PciAddressAttr;
 
-  CM_ARM_PCI_INTERRUPT_MAP_INFO  *PciInterruptMapInfo;
-  UINT32                         BufferSize;
+  CM_ARCH_PCI_INTERRUPT_MAP_INFO  *PciInterruptMapInfo;
+  UINT32                          BufferSize;
 
   Data = fdt_getprop (Fdt, HostPciNode, "interrupt-map", &DataSize);
   if ((Data == NULL) || (DataSize <= 0)) {
@@ -413,7 +413,7 @@ ParseIrqMap (
 
   // Allocate a buffer to store each interrupt mapping.
   IrqMapCount         = DataSize / IrqMapSize;
-  BufferSize          = IrqMapCount * sizeof (CM_ARM_PCI_ADDRESS_MAP_INFO);
+  BufferSize          = IrqMapCount * sizeof (CM_ARCH_PCI_ADDRESS_MAP_INFO);
   PciInterruptMapInfo = AllocateZeroPool (BufferSize);
   if (PciInterruptMapInfo == NULL) {
     ASSERT (0);
@@ -455,9 +455,9 @@ ParseIrqMap (
   } // for
 
   PciInfo->Mapping[PciMappingTableInterrupt].ObjectId =
-    CREATE_CM_ARM_OBJECT_ID (EArmObjPciInterruptMapInfo);
+    CREATE_CM_ARCH_OBJECT_ID (EArchObjPciInterruptMapInfo);
   PciInfo->Mapping[PciMappingTableInterrupt].Size =
-    sizeof (CM_ARM_PCI_INTERRUPT_MAP_INFO) * IrqMapCount;
+    sizeof (CM_ARCH_PCI_INTERRUPT_MAP_INFO) * IrqMapCount;
   PciInfo->Mapping[PciMappingTableInterrupt].Data  = PciInterruptMapInfo;
   PciInfo->Mapping[PciMappingTableInterrupt].Count = IrqMapCount;
 
@@ -468,7 +468,7 @@ ParseIrqMap (
 
   @param [in]       Fdt          Pointer to a Flattened Device Tree (Fdt).
   @param [in]       HostPciNode  Offset of a host-pci node.
-  @param [in, out]  PciInfo      The CM_ARM_PCI_CONFIG_SPACE_INFO to populate.
+  @param [in, out]  PciInfo      The CM_ARCH_PCI_CONFIG_SPACE_INFO to populate.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -579,9 +579,9 @@ PciNodeParser (
 /** Add the parsed Pci information to the Configuration Manager.
 
   CmObj of the following types are concerned:
-   - EArmObjPciConfigSpaceInfo
-   - EArmObjPciAddressMapInfo
-   - EArmObjPciInterruptMapInfo
+   - EArchObjPciConfigSpaceInfo
+   - EArchObjPciAddressMapInfo
+   - EArchObjPciInterruptMapInfo
 
   @param [in]  FdtParserHandle  A handle to the parser instance.
   @param [in]  PciTableInfo     PCI_PARSER_TABLE structure containing the
@@ -599,8 +599,8 @@ PciInfoAdd (
   IN        PCI_PARSER_TABLE           *PciTableInfo
   )
 {
-  EFI_STATUS                    Status;
-  CM_ARM_PCI_CONFIG_SPACE_INFO  *PciConfigSpaceInfo;
+  EFI_STATUS                     Status;
+  CM_ARCH_PCI_CONFIG_SPACE_INFO  *PciConfigSpaceInfo;
 
   if ((FdtParserHandle == NULL) ||
       (PciTableInfo == NULL))
@@ -640,9 +640,9 @@ PciInfoAdd (
   // Add the configuration space CmObj to the Configuration Manager.
   Status = AddSingleCmObj (
              FdtParserHandle,
-             CREATE_CM_ARM_OBJECT_ID (EArmObjPciConfigSpaceInfo),
+             CREATE_CM_ARCH_OBJECT_ID (EArchObjPciConfigSpaceInfo),
              &PciTableInfo->PciConfigSpaceInfo,
-             sizeof (CM_ARM_PCI_CONFIG_SPACE_INFO),
+             sizeof (CM_ARCH_PCI_CONFIG_SPACE_INFO),
              NULL
              );
   ASSERT_EFI_ERROR (Status);
@@ -682,29 +682,29 @@ FreeParserTable (
   return EFI_SUCCESS;
 }
 
-/** CM_ARM_PCI_CONFIG_SPACE_INFO parser function.
+/** CM_ARCH_PCI_CONFIG_SPACE_INFO parser function.
 
   The following structure is populated:
-  typedef struct CmArmPciConfigSpaceInfo {
+  typedef struct CmArchPciConfigSpaceInfo {
     UINT64  BaseAddress;                          // {Populated}
     UINT16  PciSegmentGroupNumber;                // {Populated}
     UINT8   StartBusNumber;                       // {Populated}
     UINT8   EndBusNumber;                         // {Populated}
-  } CM_ARM_PCI_CONFIG_SPACE_INFO;
+  } CM_ARCH_PCI_CONFIG_SPACE_INFO;
 
-  typedef struct CmArmPciAddressMapInfo {
+  typedef struct CmArchPciAddressMapInfo {
     UINT8                     SpaceCode;          // {Populated}
     UINT64                    PciAddress;         // {Populated}
     UINT64                    CpuAddress;         // {Populated}
     UINT64                    AddressSize;        // {Populated}
-  } CM_ARM_PCI_ADDRESS_MAP_INFO;
+  } CM_ARCH_PCI_ADDRESS_MAP_INFO;
 
-  typedef struct CmArmPciInterruptMapInfo {
+  typedef struct CmArchPciInterruptMapInfo {
     UINT8                       PciBus;           // {Populated}
     UINT8                       PciDevice;        // {Populated}
     UINT8                       PciInterrupt;     // {Populated}
-    CM_ARM_GENERIC_INTERRUPT    IntcInterrupt;    // {Populated}
-  } CM_ARM_PCI_INTERRUPT_MAP_INFO;
+    CM_ARCH_GENERIC_INTERRUPT    IntcInterrupt;    // {Populated}
+  } CM_ARCH_PCI_INTERRUPT_MAP_INFO;
 
   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/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
index 732b482eebe3..47df82c4ba63 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_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_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_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_SERIAL_PORT_INFO         *GenericSerialInfo,
   IN  INT32                            NodeCount,
-  IN  EARM_OBJECT_ID                   SerialObjectId
+  IN  EARCH_OBJECT_ID                  SerialObjectId
   )
 {
   EFI_STATUS         Status;
@@ -344,9 +344,9 @@ ArmSerialPortInfoDispatch (
     return EFI_INVALID_PARAMETER;
   }
 
-  if ((SerialObjectId != EArmObjSerialPortInfo) &&
-      (SerialObjectId != EArmObjSerialDebugPortInfo) &&
-      (SerialObjectId != EArmObjSerialConsolePortInfo))
+  if ((SerialObjectId != EArchObjSerialPortInfo) &&
+      (SerialObjectId != EArchObjSerialDebugPortInfo) &&
+      (SerialObjectId != EArchObjSerialConsolePortInfo))
   {
     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_OBJECT_ID (SerialObjectId),
              NodeCount,
              GenericSerialInfo,
-             sizeof (CM_ARM_SERIAL_PORT_INFO) * NodeCount,
+             sizeof (CM_ARCH_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_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 CmArchSerialPortInfo {
     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_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.
@@ -410,14 +410,14 @@ EFIAPI
 ArmSerialPortInfoParser (
   IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
   IN        INT32                      FdtBranch,
-  IN        EARM_OBJECT_ID             SerialObjectId
+  IN        EARCH_OBJECT_ID            SerialObjectId
   )
 {
-  EFI_STATUS               Status;
-  CM_ARM_SERIAL_PORT_INFO  SerialInfo;
+  EFI_STATUS                Status;
+  CM_ARCH_SERIAL_PORT_INFO  SerialInfo;
 
-  if ((SerialObjectId != EArmObjSerialDebugPortInfo) &&
-      (SerialObjectId != EArmObjSerialConsolePortInfo))
+  if ((SerialObjectId != EArchObjSerialDebugPortInfo) &&
+      (SerialObjectId != EArchObjSerialConsolePortInfo))
   {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
@@ -447,11 +447,11 @@ ArmSerialPortInfoParser (
 
 /** SerialPort dispatcher.
 
-  This disptacher populates the CM_ARM_SERIAL_PORT_INFO structure for
+  This disptacher populates the CM_ARCH_SERIAL_PORT_INFO structure for
   the following CM_OBJ_ID:
-   - EArmObjSerialConsolePortInfo
-   - EArmObjSerialDebugPortInfo
-   - EArmObjSerialPortInfo
+   - EArchObjSerialConsolePortInfo
+   - EArchObjSerialDebugPortInfo
+   - EArchObjSerialPortInfo
 
   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 +477,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_SERIAL_PORT_INFO  *GenericSerialInfo;
+  UINT32                    GenericSerialIndex;
+  VOID                      *Fdt;
 
   if (FdtParserHandle == NULL) {
     ASSERT (0);
@@ -531,7 +531,7 @@ SerialPortDispatcher (
     Status = ArmSerialPortInfoParser (
                FdtParserHandle,
                SerialConsoleNode,
-               EArmObjSerialConsolePortInfo
+               EArchObjSerialConsolePortInfo
                );
     if (EFI_ERROR (Status)) {
       ASSERT (0);
@@ -550,7 +550,7 @@ SerialPortDispatcher (
     SerialNodesRemaining--;
     GenericSerialInfo = AllocateZeroPool (
                           SerialNodesRemaining *
-                          sizeof (CM_ARM_SERIAL_PORT_INFO)
+                          sizeof (CM_ARCH_SERIAL_PORT_INFO)
                           );
     if (GenericSerialInfo == NULL) {
       ASSERT (0);
@@ -589,7 +589,7 @@ SerialPortDispatcher (
       Status          = ArmSerialPortInfoParser (
                           FdtParserHandle,
                           SerialDebugNode,
-                          EArmObjSerialDebugPortInfo
+                          EArchObjSerialDebugPortInfo
                           );
       if (EFI_ERROR (Status)) {
         ASSERT (0);
@@ -620,7 +620,7 @@ SerialPortDispatcher (
                FdtParserHandle,
                GenericSerialInfo,
                GenericSerialIndex,
-               EArmObjSerialPortInfo
+               EArchObjSerialPortInfo
                );
   }
 
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 05/20] DynamicTablesPkg: DynamicPlatRepoLib: Rename ArmObjList as ArchObjList
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (3 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 04/20] DynamicTablesPkg: Rename ArmNameSpaceObjects to ArchNameSpaceObjects Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 06/20] DynamicTablesPkg: Rename EObjNameSpaceArm to EObjNameSpaceArch Sunil V L
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

DynamicPlatRepoLib maintains list of CmObjs and named as ArmObjList.
However, to support other architectures, it is better to name this in a
architecture neutral way.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../DynamicPlatRepoLib/DynamicPlatRepoInternal.h   |  4 ++--
 .../Common/DynamicPlatRepoLib/DynamicPlatRepo.c    | 14 +++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h
index 2b09f2ad882d..cc0acfffecbb 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h
@@ -60,12 +60,12 @@ typedef struct DynamicPlatformRepositoryInfo {
 
   /// Link lists of CmObj from the ArmNameSpace
   /// that are added in the Transient state.
-  LIST_ENTRY             ArmCmObjList[EArchObjMax];
+  LIST_ENTRY             ArchCmObjList[EArchObjMax];
 
   /// Structure Members used in Finalized state.
   /// An array of CmObj Descriptors from the ArmNameSpace
   /// This array is populated when the Repo is finalized.
-  CM_OBJ_DESCRIPTOR      ArmCmObjArray[EArchObjMax];
+  CM_OBJ_DESCRIPTOR      ArchCmObjArray[EArchObjMax];
 
   /// A token mapper for the objects in the ArmNamespaceObjectArray
   /// The Token mapper is populated when the Repo is finalized in
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
index ae5c18bffffb..e095e358dc82 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
@@ -174,7 +174,7 @@ DynPlatRepoAddObject (
   }
 
   // Add to link list.
-  InsertTailList (&This->ArmCmObjList[ArmNamespaceObjId], &ObjNode->Link);
+  InsertTailList (&This->ArchCmObjList[ArmNamespaceObjId], &ObjNode->Link);
   This->ObjectCount += 1;
 
   if (Token != NULL) {
@@ -223,7 +223,7 @@ GroupCmObjNodes (
   Count    = 0;
   Size     = 0;
   CmObjId  = CREATE_CM_ARCH_OBJECT_ID (ArchObjIndex);
-  ListHead = &This->ArmCmObjList[ArchObjIndex];
+  ListHead = &This->ArchCmObjList[ArchObjIndex];
   Link     = GetFirstNode (ListHead);
 
   // Compute the total count and size of the CmObj in the list.
@@ -286,7 +286,7 @@ GroupCmObjNodes (
     Link  = GetNextNode (ListHead, Link);
   } // while
 
-  CmObjDesc           = &This->ArmCmObjArray[ArchObjIndex];
+  CmObjDesc           = &This->ArchCmObjArray[ArchObjIndex];
   CmObjDesc->ObjectId = CmObjId;
   CmObjDesc->Size     = (UINT32)Size;
   CmObjDesc->Count    = (UINT32)Count;
@@ -412,7 +412,7 @@ DynamicPlatRepoGetObject (
     return EFI_INVALID_PARAMETER;
   }
 
-  Desc = &This->ArmCmObjArray[ArmNamespaceObjId];
+  Desc = &This->ArchCmObjArray[ArmNamespaceObjId];
 
   // Nothing here.
   if (Desc->Count == 0) {
@@ -459,7 +459,7 @@ DynamicPlatRepoInit (
 
   // Initialise the CmObject List.
   for (Index = 0; Index < EArchObjMax; Index++) {
-    InitializeListHead (&Repo->ArmCmObjList[Index]);
+    InitializeListHead (&Repo->ArchCmObjList[Index]);
   }
 
   Repo->ObjectCount = 0;
@@ -499,14 +499,14 @@ DynamicPlatRepoShutdown (
   // Free the list of objects.
   for (Index = 0; Index < EArchObjMax; Index++) {
     // Free all the nodes with this object Id.
-    ListHead = &DynPlatRepo->ArmCmObjList[Index];
+    ListHead = &DynPlatRepo->ArchCmObjList[Index];
     while (!IsListEmpty (ListHead)) {
       FreeCmObjNode ((CM_OBJ_NODE *)GetFirstNode (ListHead));
     } // while
   } // for
 
   // Free the arrays.
-  CmObjDesc = DynPlatRepo->ArmCmObjArray;
+  CmObjDesc = DynPlatRepo->ArchCmObjArray;
   for (Index = 0; Index < EArchObjMax; Index++) {
     Data = CmObjDesc[Index].Data;
     if (Data != NULL) {
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 06/20] DynamicTablesPkg: Rename EObjNameSpaceArm to EObjNameSpaceArch
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (4 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 05/20] DynamicTablesPkg: DynamicPlatRepoLib: Rename ArmObjList as ArchObjList Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 07/20] DynamicTablesPkg: FdtHwInfoParserLib: Separate ARM specific code Sunil V L
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

To support other architectures, it is better to use an architecture
neutral name instead of EObjNameSpaceArm. Rename it as EObjNameSpaceArch
and update its consumers.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../Include/ConfigurationManagerObject.h      |  4 ++--
 .../KvmtoolCfgMgrDxe/ConfigurationManager.c   |  2 +-
 .../Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c   |  8 +++----
 .../Acpi/Arm/AcpiIortLibArm/IortGenerator.c   | 22 +++++++++----------
 .../Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c   | 10 ++++-----
 .../SsdtCmn600Generator.c                     |  2 +-
 .../Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c   |  2 +-
 .../Acpi/Common/AcpiFadtLib/FadtGenerator.c   |  8 +++----
 .../Acpi/Common/AcpiMcfgLib/McfgGenerator.c   |  2 +-
 .../Acpi/Common/AcpiPcctLib/PcctGenerator.c   | 12 +++++-----
 .../Acpi/Common/AcpiPpttLib/PpttGenerator.c   |  8 +++----
 .../Acpi/Common/AcpiSpcrLib/SpcrGenerator.c   |  2 +-
 .../Acpi/Common/AcpiSratLib/SratGenerator.c   | 12 +++++-----
 .../SsdtCpuTopologyGenerator.c                | 12 +++++-----
 .../AcpiSsdtPcieLib/SsdtPcieGenerator.c       |  8 +++----
 .../SsdtSerialPortGenerator.c                 |  2 +-
 .../DynamicPlatRepoLib/CmObjectTokenFixer.c   |  2 +-
 .../DynamicPlatRepoLib/DynamicPlatRepo.c      |  2 +-
 .../Common/DynamicPlatRepoLib/TokenMapper.c   |  2 +-
 .../ConfigurationManagerObjectParser.c        |  2 +-
 20 files changed, 62 insertions(+), 62 deletions(-)

diff --git a/DynamicTablesPkg/Include/ConfigurationManagerObject.h b/DynamicTablesPkg/Include/ConfigurationManagerObject.h
index e7f888f12eee..b0254b3ad4e5 100644
--- a/DynamicTablesPkg/Include/ConfigurationManagerObject.h
+++ b/DynamicTablesPkg/Include/ConfigurationManagerObject.h
@@ -106,7 +106,7 @@ typedef UINT32 CM_OBJECT_ID;
 */
 typedef enum ObjectNameSpaceID {
   EObjNameSpaceStandard,      ///< Standard Objects Namespace
-  EObjNameSpaceArm,           ///< ARM Objects Namespace
+  EObjNameSpaceArch,          ///< ARCH Objects Namespace
   EObjNameSpaceOem = 0x8,     ///< OEM Objects Namespace
   EObjNameSpaceMax
 } EOBJECT_NAMESPACE_ID;
@@ -180,7 +180,7 @@ typedef struct CmObjDescriptor {
   @retval Returns an ARM Configuration Manager Object ID.
 **/
 #define CREATE_CM_ARCH_OBJECT_ID(ObjectId) \
-          (CREATE_CM_OBJECT_ID (EObjNameSpaceArm, ObjectId))
+          (CREATE_CM_OBJECT_ID (EObjNameSpaceArch, ObjectId))
 
 /** This macro returns a Configuration Manager Object ID
     in the OEM Object Namespace.
diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
index 342d068f94fc..ede776fe9a46 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
@@ -929,7 +929,7 @@ ArmKvmtoolPlatformGetObject (
     case EObjNameSpaceStandard:
       Status = GetStandardNameSpaceObject (This, CmObjectId, Token, CmObject);
       break;
-    case EObjNameSpaceArm:
+    case EObjNameSpaceArch:
       Status = GetArmNameSpaceObject (This, CmObjectId, Token, CmObject);
       break;
     case EObjNameSpaceOem:
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
index a9b9d30d9f73..77c913190f78 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
@@ -36,7 +36,7 @@
     Timer Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGenericTimerInfo,
   CM_ARCH_GENERIC_TIMER_INFO
   );
@@ -45,7 +45,7 @@ GET_OBJECT_LIST (
     Watchdog Timer Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPlatformGenericWatchdogInfo,
   CM_ARCH_GENERIC_WATCHDOG_INFO
   );
@@ -54,7 +54,7 @@ GET_OBJECT_LIST (
     Timer Block Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPlatformGTBlockInfo,
   CM_ARCH_GTBLOCK_INFO
   );
@@ -63,7 +63,7 @@ GET_OBJECT_LIST (
   Timer Block Timer Frame Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGTBlockTimerFrameInfo,
   CM_ARCH_GTBLOCK_TIMER_FRAME_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
index 3075b6a137b3..c0c68fcc26da 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
@@ -48,7 +48,7 @@
     Group node information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjItsGroup,
   CM_ARCH_ITS_GROUP_NODE
   );
@@ -57,7 +57,7 @@ GET_OBJECT_LIST (
     Named Component node information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjNamedComponent,
   CM_ARCH_NAMED_COMPONENT_NODE
   );
@@ -66,7 +66,7 @@ GET_OBJECT_LIST (
      Root Complex node information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjRootComplex,
   CM_ARCH_ROOT_COMPLEX_NODE
   );
@@ -75,7 +75,7 @@ GET_OBJECT_LIST (
     SMMU v1/v2 node information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjSmmuV1SmmuV2,
   CM_ARCH_SMMUV1_SMMUV2_NODE
   );
@@ -84,7 +84,7 @@ GET_OBJECT_LIST (
     SMMU v3 node information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjSmmuV3,
   CM_ARCH_SMMUV3_NODE
   );
@@ -93,7 +93,7 @@ GET_OBJECT_LIST (
     PMCG node information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPmcg,
   CM_ARCH_PMCG_NODE
   );
@@ -102,7 +102,7 @@ GET_OBJECT_LIST (
     RMR node information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjRmr,
   CM_ARCH_RMR_NODE
   );
@@ -111,7 +111,7 @@ GET_OBJECT_LIST (
     Memory Range Descriptor Array information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjMemoryRangeDescriptor,
   CM_ARCH_MEMORY_RANGE_DESCRIPTOR
   );
@@ -120,7 +120,7 @@ GET_OBJECT_LIST (
     ITS Identifier Array information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicItsIdentifierArray,
   CM_ARCH_ITS_IDENTIFIER
   );
@@ -129,7 +129,7 @@ GET_OBJECT_LIST (
     Id Mapping Array information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjIdMappingArray,
   CM_ARCH_ID_MAPPING
   );
@@ -138,7 +138,7 @@ GET_OBJECT_LIST (
     SMMU Interrupt Array information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjSmmuInterruptArray,
   CM_ARCH_SMMU_INTERRUPT
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
index 8b629e186d80..828216b35942 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
@@ -37,7 +37,7 @@
     CPU interface Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicCInfo,
   CM_ARCH_GICC_INFO
   );
@@ -47,7 +47,7 @@ GET_OBJECT_LIST (
 */
 
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicDInfo,
   CM_ARCH_GICD_INFO
   );
@@ -56,7 +56,7 @@ GET_OBJECT_LIST (
     MSI Frame Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicMsiFrameInfo,
   CM_ARCH_GIC_MSI_FRAME_INFO
   );
@@ -66,7 +66,7 @@ GET_OBJECT_LIST (
 */
 
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicRedistributorInfo,
   CM_ARCH_GIC_REDIST_INFO
   );
@@ -76,7 +76,7 @@ GET_OBJECT_LIST (
     Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicItsInfo,
   CM_ARCH_GIC_ITS_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c
index a717ef00f5d9..1c94c313bed0 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCmn600LibArm/SsdtCmn600Generator.c
@@ -44,7 +44,7 @@ extern CHAR8  ssdtcmn600template_aml_code[];
     Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjCmn600Info,
   CM_ARCH_CMN_600_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
index 1cd92718a9bd..cc656c22f237 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.c
@@ -181,7 +181,7 @@ DBG2_TABLE  AcpiDbg2 = {
     debug port information from the Configuration Manager
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjSerialDebugPortInfo,
   CM_ARCH_SERIAL_PORT_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
index 0c5024f73a74..6f760532314e 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
@@ -202,7 +202,7 @@ EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE  AcpiFadt = {
     Management Profile Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPowerManagementProfileInfo,
   CM_ARCH_POWER_MANAGEMENT_PROFILE_INFO
   );
@@ -211,7 +211,7 @@ GET_OBJECT_LIST (
     Architecture Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjBootArchInfo,
   CM_ARCH_BOOT_ARCH_INFO
   );
@@ -220,7 +220,7 @@ GET_OBJECT_LIST (
     Vendor ID from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjHypervisorVendorIdentity,
   CM_ARCH_HYPERVISOR_VENDOR_ID
   );
@@ -229,7 +229,7 @@ GET_OBJECT_LIST (
   feature flags for the platform from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjFixedFeatureFlags,
   CM_ARCH_FIXED_FEATURE_FLAGS
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
index 0d756788e885..dd987741b0e8 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/McfgGenerator.c
@@ -51,7 +51,7 @@ typedef
 /** Retrieve the PCI Configuration Space Information.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPciConfigSpaceInfo,
   CM_ARCH_PCI_CONFIG_SPACE_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
index 8e26780a9ce3..eceb994422db 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiPcctLib/PcctGenerator.c
@@ -41,7 +41,7 @@
     Subspace of Type 0 Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPccSubspaceType0Info,
   CM_ARCH_PCC_SUBSPACE_TYPE0_INFO
   );
@@ -50,7 +50,7 @@ GET_OBJECT_LIST (
     Subspace of Type 1 Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPccSubspaceType1Info,
   CM_ARCH_PCC_SUBSPACE_TYPE1_INFO
   );
@@ -59,7 +59,7 @@ GET_OBJECT_LIST (
     Subspace of Type 2 Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPccSubspaceType2Info,
   CM_ARCH_PCC_SUBSPACE_TYPE2_INFO
   );
@@ -68,7 +68,7 @@ GET_OBJECT_LIST (
     Subspace of Type 3 Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPccSubspaceType3Info,
   CM_ARCH_PCC_SUBSPACE_TYPE3_INFO
   );
@@ -77,7 +77,7 @@ GET_OBJECT_LIST (
     Subspace of Type 4 Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPccSubspaceType4Info,
   CM_ARCH_PCC_SUBSPACE_TYPE4_INFO
   );
@@ -86,7 +86,7 @@ GET_OBJECT_LIST (
     Subspace of Type 5 Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPccSubspaceType5Info,
   CM_ARCH_PCC_SUBSPACE_TYPE5_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
index 36bac2a3a1a4..243ceadf0588 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiPpttLib/PpttGenerator.c
@@ -43,7 +43,7 @@
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjProcHierarchyInfo,
   CM_ARCH_PROC_HIERARCHY_INFO
   );
@@ -53,7 +53,7 @@ GET_OBJECT_LIST (
   from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjCacheInfo,
   CM_ARCH_CACHE_INFO
   );
@@ -63,7 +63,7 @@ GET_OBJECT_LIST (
   reference information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjCmRef,
   CM_ARCH_OBJ_REF
   );
@@ -73,7 +73,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicCInfo,
   CM_ARCH_GICC_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
index d03c994e538d..8f71c08ef9a2 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSpcrLib/SpcrGenerator.c
@@ -98,7 +98,7 @@ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE  AcpiSpcr = {
     Port Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjSerialConsolePortInfo,
   CM_ARCH_SERIAL_PORT_INFO
   )
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
index c08cd8be2f67..dced328bd3b9 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
@@ -42,7 +42,7 @@
     CPU interface Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicCInfo,
   CM_ARCH_GICC_INFO
   );
@@ -52,7 +52,7 @@ GET_OBJECT_LIST (
     Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicItsInfo,
   CM_ARCH_GIC_ITS_INFO
   );
@@ -62,7 +62,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjMemoryAffinityInfo,
   CM_ARCH_MEMORY_AFFINITY_INFO
   );
@@ -72,7 +72,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGenericInitiatorAffinityInfo,
   CM_ARCH_GENERIC_INITIATOR_AFFINITY_INFO
   );
@@ -82,7 +82,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjDeviceHandleAcpi,
   CM_ARCH_DEVICE_HANDLE_ACPI
   );
@@ -92,7 +92,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjDeviceHandlePci,
   CM_ARCH_DEVICE_HANDLE_PCI
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
index f7dc5ab0bff1..f0fb209fdc4c 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
@@ -48,7 +48,7 @@
     CPU interface Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjGicCInfo,
   CM_ARCH_GICC_INFO
   );
@@ -58,7 +58,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjProcHierarchyInfo,
   CM_ARCH_PROC_HIERARCHY_INFO
   );
@@ -68,7 +68,7 @@ GET_OBJECT_LIST (
   reference information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjCmRef,
   CM_ARCH_OBJ_REF
   );
@@ -78,7 +78,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjLpiInfo,
   CM_ARCH_LPI_INFO
   );
@@ -88,7 +88,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjCpcInfo,
   CM_ARCH_CPC_INFO
   );
@@ -98,7 +98,7 @@ GET_OBJECT_LIST (
   information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjEtInfo,
   CM_ARCH_ET_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
index 9f9e532843ae..dfd868b41d9c 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieGenerator.c
@@ -52,7 +52,7 @@
     reference information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjCmRef,
   CM_ARCH_OBJ_REF
   );
@@ -61,7 +61,7 @@ GET_OBJECT_LIST (
     Configuration Space Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPciConfigSpaceInfo,
   CM_ARCH_PCI_CONFIG_SPACE_INFO
   );
@@ -70,7 +70,7 @@ GET_OBJECT_LIST (
     Address Mapping Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPciAddressMapInfo,
   CM_ARCH_PCI_ADDRESS_MAP_INFO
   );
@@ -79,7 +79,7 @@ GET_OBJECT_LIST (
     Interrupt Mapping Information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjPciInterruptMapInfo,
   CM_ARCH_PCI_INTERRUPT_MAP_INFO
   );
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
index 9fad644b18d7..c775870826d9 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtSerialPortLib/SsdtSerialPortGenerator.c
@@ -36,7 +36,7 @@
     information from the Configuration Manager.
 */
 GET_OBJECT_LIST (
-  EObjNameSpaceArm,
+  EObjNameSpaceArch,
   EArchObjSerialPortInfo,
   CM_ARCH_SERIAL_PORT_INFO
   );
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
index 06c3f259a5cb..cad3d9e305f1 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
@@ -211,7 +211,7 @@ FixupCmObjectSelfToken (
 
   // Only support Arm objects for now.
   if ((CmObjDesc == NULL)   ||
-      (GET_CM_NAMESPACE_ID (CmObjDesc->ObjectId) != EObjNameSpaceArm))
+      (GET_CM_NAMESPACE_ID (CmObjDesc->ObjectId) != EObjNameSpaceArch))
   {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
index e095e358dc82..258e8d52f6b4 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
@@ -149,7 +149,7 @@ DynPlatRepoAddObject (
       (CmObjDesc->Count == 0)             ||
       (ArmNamespaceObjId >= EArchObjMax)   ||
       ((CmObjDesc->Count > 1)  && (ArmNamespaceObjId != EArchObjCmRef))  ||
-      (GET_CM_NAMESPACE_ID (CmObjDesc->ObjectId) != EObjNameSpaceArm))
+      (GET_CM_NAMESPACE_ID (CmObjDesc->ObjectId) != EObjNameSpaceArch))
   {
     ASSERT (0);
     return EFI_INVALID_PARAMETER;
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c
index 96de48263ae5..c9ef2a7416ba 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c
@@ -67,7 +67,7 @@ TokenMapperAddObject (
   CmObjDesc->Data = Data;
 
   // Only EArchObjCmRef CmObj can be added as arrays (more than 1 elements).
-  if ((GET_CM_NAMESPACE_ID (ObjectId) == EObjNameSpaceArm) &&
+  if ((GET_CM_NAMESPACE_ID (ObjectId) == EObjNameSpaceArch) &&
       (GET_CM_OBJECT_ID (ObjectId) == EArchObjCmRef))
   {
     CmObjDesc->Count = Size / sizeof (CM_ARCH_OBJ_REF);
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index 50561450cf31..eb72a9a8802a 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -1085,7 +1085,7 @@ ParseCmObjDesc (
 
       ParserArray = &StdNamespaceObjectParser[ObjId];
       break;
-    case EObjNameSpaceArm:
+    case EObjNameSpaceArch:
       if (ObjId >= EArchObjMax) {
         ASSERT (0);
         return;
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 07/20] DynamicTablesPkg: FdtHwInfoParserLib: Separate ARM specific code
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (5 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 06/20] DynamicTablesPkg: Rename EObjNameSpaceArm to EObjNameSpaceArch Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 08/20] DynamicTablesPkg: FdtHwInfoParserLib: Pci: Make it common for architectures Sunil V L
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

HwInfoParserTable is an architecture specific structure. Hence, move it
and the MainDispatcher function to ARCH specific file. Update INF file.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../FdtHwInfoParserLib/FdtHwInfoParserLib.inf | 15 ++--
 .../FdtHwInfoParserLib/FdtHwInfoParser.h      | 27 ++++++
 .../Arm/ArmFdtHwInfoParser.c                  | 83 +++++++++++++++++++
 .../FdtHwInfoParserLib/FdtHwInfoParser.c      | 78 +----------------
 4 files changed, 121 insertions(+), 82 deletions(-)
 create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c

diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
index fa768cf664df..3abc6a0fd274 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
@@ -22,6 +22,13 @@ [Sources]
   FdtHwInfoParser.h
   FdtUtility.c
   FdtUtility.h
+  Pci/ArmPciConfigSpaceParser.c
+  Pci/ArmPciConfigSpaceParser.h
+  Serial/ArmSerialPortParser.c
+  Serial/ArmSerialPortParser.h
+
+[Sources.ARM, Sources.AARCH64]
+  Arm/ArmFdtHwInfoParser.c
   Arm/BootArch/ArmBootArchParser.c
   Arm/BootArch/ArmBootArchParser.h
   Arm/GenericTimer/ArmGenericTimerParser.c
@@ -38,13 +45,11 @@ [Sources]
   Arm/Gic/ArmGicMsiFrameParser.h
   Arm/Gic/ArmGicRParser.c
   Arm/Gic/ArmGicRParser.h
-  Pci/ArmPciConfigSpaceParser.c
-  Pci/ArmPciConfigSpaceParser.h
-  Serial/ArmSerialPortParser.c
-  Serial/ArmSerialPortParser.h
 
-[Packages]
+[Packages.ARM, Packages.AARCH64]
   ArmPkg/ArmPkg.dec
+
+[Packages]
   DynamicTablesPkg/DynamicTablesPkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
   MdeModulePkg/MdeModulePkg.dec
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.h
index 8a8cf38581e0..f8766236c492 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.h
@@ -60,4 +60,31 @@ EFI_STATUS
   IN        INT32                     FdtBranch
   );
 
+/** Main dispatcher: sequentially call the parsers/dispatchers
+    of the HwInfoParserTable.
+
+  A parser parses a Device Tree to populate a specific CmObj type. None,
+  one or many CmObj can be created by the parser.
+  The created CmObj are then handed to the parser's caller through the
+  HW_INFO_ADD_OBJECT interface.
+  This can also be a dispatcher. I.e. a function that not parsing a
+  Device Tree but calling other parsers.
+
+  @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.
+
+  @retval EFI_SUCCESS             The function completed successfully.
+  @retval EFI_ABORTED             An error occurred.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_NOT_FOUND           Not found.
+  @retval EFI_UNSUPPORTED         Unsupported.
+**/
+EFI_STATUS
+EFIAPI
+FdtHwInfoMainDispatcher (
+  IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
+  IN        INT32                      FdtBranch
+  );
+
 #endif // FDT_HW_INFO_PARSER_H_
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
new file mode 100644
index 000000000000..4b1f5eeea423
--- /dev/null
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
@@ -0,0 +1,83 @@
+/** @file
+  Flattened Device Tree parser library for KvmTool.
+
+  Copyright (c) 2021, ARM Limited. All rights reserved.<BR>
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include "FdtHwInfoParser.h"
+#include "Arm/BootArch/ArmBootArchParser.h"
+#include "Arm/GenericTimer/ArmGenericTimerParser.h"
+#include "Arm/Gic/ArmGicDispatcher.h"
+#include "Pci/ArmPciConfigSpaceParser.h"
+#include "Serial/ArmSerialPortParser.h"
+
+/** Ordered table of parsers/dispatchers.
+
+  A parser parses a Device Tree to populate a specific CmObj type. None,
+  one or many CmObj can be created by the parser.
+  The created CmObj are then handed to the parser's caller through the
+  HW_INFO_ADD_OBJECT interface.
+  This can also be a dispatcher. I.e. a function that not parsing a
+  Device Tree but calling other parsers.
+*/
+STATIC CONST FDT_HW_INFO_PARSER_FUNC  HwInfoParserTable[] = {
+  ArmBootArchInfoParser,
+  ArmGenericTimerInfoParser,
+  ArmGicDispatcher,
+  ArmPciConfigInfoParser,
+  SerialPortDispatcher
+};
+
+/** Main dispatcher: sequentially call the parsers/dispatchers
+    of the HwInfoParserTable.
+
+  A parser parses a Device Tree to populate a specific CmObj type. None,
+  one or many CmObj can be created by the parser.
+  The created CmObj are then handed to the parser's caller through the
+  HW_INFO_ADD_OBJECT interface.
+  This can also be a dispatcher. I.e. a function that not parsing a
+  Device Tree but calling other parsers.
+
+  @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.
+
+  @retval EFI_SUCCESS             The function completed successfully.
+  @retval EFI_ABORTED             An error occurred.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_NOT_FOUND           Not found.
+  @retval EFI_UNSUPPORTED         Unsupported.
+**/
+EFI_STATUS
+EFIAPI
+FdtHwInfoMainDispatcher (
+  IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
+  IN        INT32                      FdtBranch
+  )
+{
+  EFI_STATUS  Status;
+  UINT32      Index;
+
+  if (fdt_check_header (FdtParserHandle->Fdt) < 0) {
+    ASSERT (0);
+    return EFI_INVALID_PARAMETER;
+  }
+
+  for (Index = 0; Index < ARRAY_SIZE (HwInfoParserTable); Index++) {
+    Status = HwInfoParserTable[Index](
+                                      FdtParserHandle,
+                                      FdtBranch
+                                      );
+    if (EFI_ERROR (Status)  &&
+        (Status != EFI_NOT_FOUND))
+    {
+      // If EFI_NOT_FOUND, the parser didn't find information in the DT.
+      // Don't trigger an error.
+      ASSERT (0);
+      return Status;
+    }
+  } // for
+
+  return EFI_SUCCESS;
+}
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c
index 78bf9c9efae4..ae5c8eae6a6f 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c
@@ -6,82 +6,6 @@
 **/
 
 #include "FdtHwInfoParser.h"
-#include "Arm/BootArch/ArmBootArchParser.h"
-#include "Arm/GenericTimer/ArmGenericTimerParser.h"
-#include "Arm/Gic/ArmGicDispatcher.h"
-#include "Pci/ArmPciConfigSpaceParser.h"
-#include "Serial/ArmSerialPortParser.h"
-
-/** Ordered table of parsers/dispatchers.
-
-  A parser parses a Device Tree to populate a specific CmObj type. None,
-  one or many CmObj can be created by the parser.
-  The created CmObj are then handed to the parser's caller through the
-  HW_INFO_ADD_OBJECT interface.
-  This can also be a dispatcher. I.e. a function that not parsing a
-  Device Tree but calling other parsers.
-*/
-STATIC CONST FDT_HW_INFO_PARSER_FUNC  HwInfoParserTable[] = {
-  ArmBootArchInfoParser,
-  ArmGenericTimerInfoParser,
-  ArmGicDispatcher,
-  ArmPciConfigInfoParser,
-  SerialPortDispatcher
-};
-
-/** Main dispatcher: sequentially call the parsers/dispatchers
-    of the HwInfoParserTable.
-
-  A parser parses a Device Tree to populate a specific CmObj type. None,
-  one or many CmObj can be created by the parser.
-  The created CmObj are then handed to the parser's caller through the
-  HW_INFO_ADD_OBJECT interface.
-  This can also be a dispatcher. I.e. a function that not parsing a
-  Device Tree but calling other parsers.
-
-  @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.
-
-  @retval EFI_SUCCESS             The function completed successfully.
-  @retval EFI_ABORTED             An error occurred.
-  @retval EFI_INVALID_PARAMETER   Invalid parameter.
-  @retval EFI_NOT_FOUND           Not found.
-  @retval EFI_UNSUPPORTED         Unsupported.
-**/
-STATIC
-EFI_STATUS
-EFIAPI
-MainDispatcher (
-  IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
-  IN        INT32                      FdtBranch
-  )
-{
-  EFI_STATUS  Status;
-  UINT32      Index;
-
-  if (fdt_check_header (FdtParserHandle->Fdt) < 0) {
-    ASSERT (0);
-    return EFI_INVALID_PARAMETER;
-  }
-
-  for (Index = 0; Index < ARRAY_SIZE (HwInfoParserTable); Index++) {
-    Status = HwInfoParserTable[Index](
-                                      FdtParserHandle,
-                                      FdtBranch
-                                      );
-    if (EFI_ERROR (Status)  &&
-        (Status != EFI_NOT_FOUND))
-    {
-      // If EFI_NOT_FOUND, the parser didn't find information in the DT.
-      // Don't trigger an error.
-      ASSERT (0);
-      return Status;
-    }
-  } // for
-
-  return EFI_SUCCESS;
-}
 
 /** Initialise the HwInfoParser.
 
@@ -159,7 +83,7 @@ HwInfoParse (
   }
 
   // Call all the parsers from the root node (-1).
-  Status = MainDispatcher (
+  Status = FdtHwInfoMainDispatcher (
              (FDT_HW_INFO_PARSER_HANDLE)ParserHandle,
              -1
              );
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 08/20] DynamicTablesPkg: FdtHwInfoParserLib: Pci: Make it common for architectures
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (6 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 07/20] DynamicTablesPkg: FdtHwInfoParserLib: Separate ARM specific code Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 09/20] DynamicTablesPkg: FdtHwInfoParserLib: Make Serial parser arch neutral Sunil V L
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

PciConfigParser is a generic concept and can be used by other
architectures. Hence, rename to reflect it is common and updates the
consumers.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../FdtHwInfoParserLib/FdtHwInfoParserLib.inf   |  4 ++--
 ...nfigSpaceParser.h => PciConfigSpaceParser.h} | 10 +++++-----
 .../FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c |  4 ++--
 ...nfigSpaceParser.c => PciConfigSpaceParser.c} | 17 ++++-------------
 4 files changed, 13 insertions(+), 22 deletions(-)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/{ArmPciConfigSpaceParser.h => PciConfigSpaceParser.h} (93%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/{ArmPciConfigSpaceParser.c => PciConfigSpaceParser.c} (95%)

diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
index 3abc6a0fd274..55ec7d97fa18 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
@@ -22,8 +22,8 @@ [Sources]
   FdtHwInfoParser.h
   FdtUtility.c
   FdtUtility.h
-  Pci/ArmPciConfigSpaceParser.c
-  Pci/ArmPciConfigSpaceParser.h
+  Pci/PciConfigSpaceParser.c
+  Pci/PciConfigSpaceParser.h
   Serial/ArmSerialPortParser.c
   Serial/ArmSerialPortParser.h
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.h
similarity index 93%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.h
index bfe724a69e55..106a7a92af47 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.h
@@ -1,5 +1,5 @@
 /** @file
-  Arm PCI Configuration Space Parser.
+  PCI Configuration Space Parser.
 
   Copyright (c) 2021, ARM Limited. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -12,8 +12,8 @@
   - linux kernel code
 **/
 
-#ifndef ARM_PCI_CONFIG_SPACE_PARSER_H_
-#define ARM_PCI_CONFIG_SPACE_PARSER_H_
+#ifndef PCI_CONFIG_SPACE_PARSER_H_
+#define PCI_CONFIG_SPACE_PARSER_H_
 
 /** Read LEN bits at OFF offsets bits of the ADDR.
 
@@ -135,9 +135,9 @@ typedef struct PciParserTable {
 **/
 EFI_STATUS
 EFIAPI
-ArmPciConfigInfoParser (
+PciConfigInfoParser (
   IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
   IN        INT32                      FdtBranch
   );
 
-#endif // ARM_PCI_CONFIG_SPACE_PARSER_H_
+#endif // PCI_CONFIG_SPACE_PARSER_H_
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
index 4b1f5eeea423..8dd6546e62f0 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
@@ -9,7 +9,7 @@
 #include "Arm/BootArch/ArmBootArchParser.h"
 #include "Arm/GenericTimer/ArmGenericTimerParser.h"
 #include "Arm/Gic/ArmGicDispatcher.h"
-#include "Pci/ArmPciConfigSpaceParser.h"
+#include "Pci/PciConfigSpaceParser.h"
 #include "Serial/ArmSerialPortParser.h"
 
 /** Ordered table of parsers/dispatchers.
@@ -25,7 +25,7 @@ STATIC CONST FDT_HW_INFO_PARSER_FUNC  HwInfoParserTable[] = {
   ArmBootArchInfoParser,
   ArmGenericTimerInfoParser,
   ArmGicDispatcher,
-  ArmPciConfigInfoParser,
+  PciConfigInfoParser,
   SerialPortDispatcher
 };
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
similarity index 95%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
index d6a08c47b7d5..afe756bcedab 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
@@ -1,5 +1,5 @@
 /** @file
-  Arm PCI Configuration Space Parser.
+  PCI Configuration Space Parser.
 
   Copyright (c) 2021, ARM Limited. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -16,8 +16,7 @@
 #include <Library/DebugLib.h>
 
 #include "FdtHwInfoParser.h"
-#include "Pci/ArmPciConfigSpaceParser.h"
-#include "Arm/Gic/ArmGicDispatcher.h"
+#include "Pci/PciConfigSpaceParser.h"
 
 /** List of "compatible" property values for host PCIe bridges nodes.
 
@@ -306,8 +305,7 @@ ParseIrqMap (
   CONST UINT8  *IrqMapMask;
   INT32        IrqMapMaskSize;
 
-  INT32   PHandleOffset;
-  UINT32  GicVersion;
+  INT32  PHandleOffset;
 
   UINT32  PciAddressAttr;
 
@@ -366,13 +364,6 @@ ParseIrqMap (
     return EFI_ABORTED;
   }
 
-  // Only support Gic(s) for now.
-  Status = GetGicVersion (Fdt, IntcNode, &GicVersion);
-  if (EFI_ERROR (Status)) {
-    ASSERT (0);
-    return Status;
-  }
-
   // Get the "address-cells" property of the IntcNode.
   Status = FdtGetAddressInfo (Fdt, IntcNode, &IntcAddressCells, NULL);
   if (EFI_ERROR (Status)) {
@@ -725,7 +716,7 @@ FreeParserTable (
 **/
 EFI_STATUS
 EFIAPI
-ArmPciConfigInfoParser (
+PciConfigInfoParser (
   IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
   IN        INT32                      FdtBranch
   )
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 09/20] DynamicTablesPkg: FdtHwInfoParserLib: Make Serial parser arch neutral
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (7 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 08/20] DynamicTablesPkg: FdtHwInfoParserLib: Pci: Make it common for architectures Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 10/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ArmLib.h to ArmGicCParser.c Sunil V L
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

SerialPortParser is a generic concept and can be used by other
architectures. Hence, rename to reflect it is common and updates the
consumers.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../FdtHwInfoParserLib/FdtHwInfoParserLib.inf  |  4 ++--
 ...rmSerialPortParser.h => SerialPortParser.h} |  8 ++++----
 .../Arm/ArmFdtHwInfoParser.c                   |  2 +-
 ...rmSerialPortParser.c => SerialPortParser.c} | 18 +++++++++---------
 4 files changed, 16 insertions(+), 16 deletions(-)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/{ArmSerialPortParser.h => SerialPortParser.h} (89%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/{ArmSerialPortParser.c => SerialPortParser.c} (94%)

diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
index 55ec7d97fa18..d3010af527c1 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
@@ -24,8 +24,8 @@ [Sources]
   FdtUtility.h
   Pci/PciConfigSpaceParser.c
   Pci/PciConfigSpaceParser.h
-  Serial/ArmSerialPortParser.c
-  Serial/ArmSerialPortParser.h
+  Serial/SerialPortParser.c
+  Serial/SerialPortParser.h
 
 [Sources.ARM, Sources.AARCH64]
   Arm/ArmFdtHwInfoParser.c
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.h
similarity index 89%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.h
index b3e227472772..e5f151ded329 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.h
@@ -1,5 +1,5 @@
 /** @file
-  Arm Serial Port Parser.
+  Serial Port Parser.
 
   Copyright (c) 2021, ARM Limited. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -9,8 +9,8 @@
   - linux/Documentation/devicetree/bindings/serial/8250.txt
 **/
 
-#ifndef ARM_SERIAL_PORT_PARSER_H_
-#define ARM_SERIAL_PORT_PARSER_H_
+#ifndef SERIAL_PORT_PARSER_H_
+#define SERIAL_PORT_PARSER_H_
 
 /** SerialPort dispatcher.
 
@@ -44,4 +44,4 @@ SerialPortDispatcher (
   IN        INT32                      FdtBranch
   );
 
-#endif // ARM_SERIAL_PORT_PARSER_H_
+#endif // SERIAL_PORT_PARSER_H_
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
index 8dd6546e62f0..2700e9a2a5fe 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtHwInfoParser.c
@@ -10,7 +10,7 @@
 #include "Arm/GenericTimer/ArmGenericTimerParser.h"
 #include "Arm/Gic/ArmGicDispatcher.h"
 #include "Pci/PciConfigSpaceParser.h"
-#include "Serial/ArmSerialPortParser.h"
+#include "Serial/SerialPortParser.h"
 
 /** Ordered table of parsers/dispatchers.
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c
similarity index 94%
rename from DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
rename to DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c
index 47df82c4ba63..6d233fefa85f 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/SerialPortParser.c
@@ -1,5 +1,5 @@
 /** @file
-  Arm Serial Port Parser.
+  Serial Port Parser.
 
   Copyright (c) 2021 - 2023, Arm Limited. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -15,7 +15,7 @@
 
 #include "CmObjectDescUtility.h"
 #include "FdtHwInfoParser.h"
-#include "Serial/ArmSerialPortParser.h"
+#include "Serial/SerialPortParser.h"
 
 /** List of "compatible" property values for serial port nodes.
 
@@ -329,7 +329,7 @@ GetSerialConsoleNode (
 STATIC
 EFI_STATUS
 EFIAPI
-ArmSerialPortInfoDispatch (
+SerialPortInfoDispatch (
   IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
   IN  CM_ARCH_SERIAL_PORT_INFO         *GenericSerialInfo,
   IN  INT32                            NodeCount,
@@ -396,7 +396,7 @@ 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  ArchNamespace Object ID for the serial port.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_ABORTED             An error occurred.
@@ -407,7 +407,7 @@ ArmSerialPortInfoDispatch (
 STATIC
 EFI_STATUS
 EFIAPI
-ArmSerialPortInfoParser (
+SerialPortInfoParser (
   IN  CONST FDT_HW_INFO_PARSER_HANDLE  FdtParserHandle,
   IN        INT32                      FdtBranch,
   IN        EARCH_OBJECT_ID            SerialObjectId
@@ -435,7 +435,7 @@ ArmSerialPortInfoParser (
     return Status;
   }
 
-  Status = ArmSerialPortInfoDispatch (
+  Status = SerialPortInfoDispatch (
              FdtParserHandle,
              &SerialInfo,
              1,
@@ -528,7 +528,7 @@ SerialPortDispatcher (
     return Status;
   } else {
     // Parse the console serial-port.
-    Status = ArmSerialPortInfoParser (
+    Status = SerialPortInfoParser (
                FdtParserHandle,
                SerialConsoleNode,
                EArchObjSerialConsolePortInfo
@@ -586,7 +586,7 @@ SerialPortDispatcher (
       // The first serial-port node, not being the console serial-port,
       // will be the debug serial-port.
       SerialDebugNode = SerialNode;
-      Status          = ArmSerialPortInfoParser (
+      Status          = SerialPortInfoParser (
                           FdtParserHandle,
                           SerialDebugNode,
                           EArchObjSerialDebugPortInfo
@@ -616,7 +616,7 @@ SerialPortDispatcher (
   } // for
 
   if (GenericSerialIndex > 0) {
-    Status = ArmSerialPortInfoDispatch (
+    Status = SerialPortInfoDispatch (
                FdtParserHandle,
                GenericSerialInfo,
                GenericSerialIndex,
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 10/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ArmLib.h to ArmGicCParser.c
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (8 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 09/20] DynamicTablesPkg: FdtHwInfoParserLib: Make Serial parser arch neutral Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 11/20] DynamicTablesPkg: TableHelperLib: Populate OemTableId using ConfigManager Sunil V L
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

ArmLib.h is required only for building GIC in ARM. So, move it to ARM
specific file. Otherwise, FdtHwInfoParserInclude.h being a common header
across architectures will have issue on other architectures.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../Library/FdtHwInfoParserLib/FdtHwInfoParserInclude.h          | 1 -
 .../Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c           | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserInclude.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserInclude.h
index 583f290095d9..60f671eccc3f 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserInclude.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserInclude.h
@@ -10,7 +10,6 @@
 
 #include <Base.h>
 #include <libfdt.h>
-#include <Library/ArmLib.h>
 #include <Library/DebugLib.h>
 #include <Library/MemoryAllocationLib.h>
 
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
index e5cf5c776d0f..bd4de8811963 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/Gic/ArmGicCParser.c
@@ -11,6 +11,7 @@
   - linux/Documentation/devicetree/bindings/arm/pmu.yaml
 **/
 
+#include <Library/ArmLib.h>
 #include "FdtHwInfoParser.h"
 #include "CmObjectDescUtility.h"
 #include "Arm/Gic/ArmGicCParser.h"
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 11/20] DynamicTablesPkg: TableHelperLib: Populate OemTableId using ConfigManager
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (9 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 10/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ArmLib.h to ArmGicCParser.c Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 12/20] DynamicTablesPkg: Add CreatorId in CM_STD_OBJ_CONFIGURATION_MANAGER_INFO Sunil V L
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

To support multiple CPU architectures/vendors, it is better to create
OemTableId using the platform provided value instead of default ARM.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../Common/TableHelperLib/TableHelper.c       | 24 ++++++++-----------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
index 549cee1b3fd5..219f94e0dbcc 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
@@ -161,20 +161,16 @@ AddAcpiHeader (
   CopyMem (AcpiHeader->OemId, CfgMfrInfo->OemId, sizeof (AcpiHeader->OemId));
 
   // UINT64  OemTableId
-  if (AcpiTableInfo->OemTableId != 0) {
-    AcpiHeader->OemTableId = AcpiTableInfo->OemTableId;
-  } else {
-    AcpiHeader->OemTableId = SIGNATURE_32 (
-                               CfgMfrInfo->OemId[0],
-                               CfgMfrInfo->OemId[1],
-                               CfgMfrInfo->OemId[2],
-                               CfgMfrInfo->OemId[3]
-                               ) |
-                             LShiftU64 (
-                               (UINT64)Generator->AcpiTableSignature,
-                               32
-                               );
-  }
+  AcpiHeader->OemTableId = SIGNATURE_32 (
+                             CfgMfrInfo->OemId[0],
+                             CfgMfrInfo->OemId[1],
+                             CfgMfrInfo->OemId[2],
+                             CfgMfrInfo->OemId[3]
+                             ) |
+                           LShiftU64 (
+                             (UINT64)Generator->AcpiTableSignature,
+                             32
+                             );
 
   // UINT32  OemRevision
   if (AcpiTableInfo->OemRevision != 0) {
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 12/20] DynamicTablesPkg: Add CreatorId in CM_STD_OBJ_CONFIGURATION_MANAGER_INFO
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (10 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 11/20] DynamicTablesPkg: TableHelperLib: Populate OemTableId using ConfigManager Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 13/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM utilities to separate file Sunil V L
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

To support multiple CPU architectures and platforms, it is better to
have the flexibility for the platforms to define their Creator ID in the
ACPI tables. So, add a new field in the structure and use it while
creating the ACPI tables instead of default ARM.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h          | 1 +
 DynamicTablesPkg/Include/StandardNameSpaceObjects.h       | 1 +
 .../Library/Common/AmlLib/CodeGen/AmlCodeGen.c            | 3 ++-
 .../Library/Common/TableHelperLib/TableHelper.c           | 8 +++++++-
 4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
index 043ec3d8428f..dc1fab534030 100644
--- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
+++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
@@ -1061,6 +1061,7 @@ AmlCodeGenDefinitionBlock (
   IN  CONST CHAR8                 *OemId,
   IN  CONST CHAR8                 *OemTableId,
   IN        UINT32                OemRevision,
+  IN  CONST CHAR8                 *CreatorId,
   OUT       AML_ROOT_NODE_HANDLE  *NewRootNode
   );
 
diff --git a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
index 8ec3238225ab..d894b9cbb6f9 100644
--- a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
@@ -60,6 +60,7 @@ typedef struct CmStdObjConfigurationManagerInfo {
       populate the ACPI table header information.
   */
   UINT8     OemId[6];
+  UINT8     CreatorId[4];
 } CM_STD_OBJ_CONFIGURATION_MANAGER_INFO;
 
 /** A structure used to describe the ACPI table generators to be invoked.
diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
index d4e3e252cbe6..e1d72ec9444e 100644
--- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
+++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
@@ -95,6 +95,7 @@ AmlCodeGenDefinitionBlock (
   IN  CONST CHAR8          *OemId,
   IN  CONST CHAR8          *OemTableId,
   IN        UINT32         OemRevision,
+  IN  CONST CHAR8          *CreatorId,
   OUT       AML_ROOT_NODE  **NewRootNode
   )
 {
@@ -115,8 +116,8 @@ AmlCodeGenDefinitionBlock (
   AcpiHeader.Revision = 2;
   CopyMem (&AcpiHeader.OemId, OemId, 6);
   CopyMem (&AcpiHeader.OemTableId, OemTableId, 8);
+  CopyMem (&AcpiHeader.CreatorId, CreatorId, 4);
   AcpiHeader.OemRevision     = OemRevision;
-  AcpiHeader.CreatorId       = TABLE_GENERATOR_CREATOR_ID_ARM;
   AcpiHeader.CreatorRevision = CREATE_REVISION (1, 0);
 
   Status = AmlCreateRootNode (&AcpiHeader, NewRootNode);
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
index 219f94e0dbcc..a2ad480b9b3b 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
@@ -180,7 +180,12 @@ AddAcpiHeader (
   }
 
   // UINT32  CreatorId
-  AcpiHeader->CreatorId = Generator->CreatorId;
+  AcpiHeader->CreatorId = SIGNATURE_32 (
+                            CfgMfrInfo->CreatorId[0],
+                            CfgMfrInfo->CreatorId[1],
+                            CfgMfrInfo->CreatorId[2],
+                            CfgMfrInfo->CreatorId[3]
+                            );
   // UINT32  CreatorRevision
   AcpiHeader->CreatorRevision = Generator->CreatorRevision;
 
@@ -270,6 +275,7 @@ AddSsdtAcpiHeader (
              (CONST CHAR8 *)&CfgMfrInfo->OemId,
              (CONST CHAR8 *)&OemTableId,
              OemRevision,
+             (CONST CHAR8 *)&CfgMfrInfo->CreatorId,
              RootNode
              );
   ASSERT_EFI_ERROR (Status);
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 13/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM utilities to separate file
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (11 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 12/20] DynamicTablesPkg: Add CreatorId in CM_STD_OBJ_CONFIGURATION_MANAGER_INFO Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 14/20] DynamicTablesPkg/FdtHwInfoParserLib: Add function for INTC address cells Sunil V L
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

The SPI/PPI ranges are ARM specific and the number of entries in
"interrupt-map" property can be different across architectures. Hence,
move these utility functions to ARM specific file so that common code is
clean and other architectures can easily implement their version.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../FdtHwInfoParserLib/FdtHwInfoParserLib.inf |  1 +
 .../FdtHwInfoParserLib/Arm/ArmFdtUtility.c    | 85 +++++++++++++++++++
 .../Library/FdtHwInfoParserLib/FdtUtility.c   | 71 ----------------
 3 files changed, 86 insertions(+), 71 deletions(-)
 create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c

diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
index d3010af527c1..8e1ea100bd34 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
@@ -28,6 +28,7 @@ [Sources]
   Serial/SerialPortParser.h
 
 [Sources.ARM, Sources.AARCH64]
+  Arm/ArmFdtUtility.c
   Arm/ArmFdtHwInfoParser.c
   Arm/BootArch/ArmBootArchParser.c
   Arm/BootArch/ArmBootArchParser.h
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c
new file mode 100644
index 000000000000..21b1306e577d
--- /dev/null
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c
@@ -0,0 +1,85 @@
+/** @file
+  Flattened device tree utility.
+
+  Copyright (c) 2021, ARM Limited. All rights reserved.<BR>
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+  @par Reference(s):
+  - Device tree Specification - Release v0.3
+  - linux/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.yaml
+  - linux//Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.yaml
+**/
+
+#include <FdtHwInfoParserInclude.h>
+#include "FdtUtility.h"
+
+/** Get the interrupt Id of an interrupt described in a fdt.
+
+  Data must describe a GIC interrupt. A GIC interrupt is on at least
+  3 UINT32 cells.
+  This function DOES NOT SUPPORT extended SPI range and extended PPI range.
+
+  @param [in]  Data   Pointer to the first cell of an "interrupts" property.
+
+  @retval  The interrupt id.
+**/
+UINT32
+EFIAPI
+FdtGetInterruptId (
+  UINT32 CONST  *Data
+  )
+{
+  UINT32  IrqType;
+  UINT32  IrqId;
+
+  ASSERT (Data != NULL);
+
+  IrqType = fdt32_to_cpu (Data[IRQ_TYPE_OFFSET]);
+  IrqId   = fdt32_to_cpu (Data[IRQ_NUMBER_OFFSET]);
+
+  switch (IrqType) {
+    case DT_SPI_IRQ:
+      IrqId += SPI_OFFSET;
+      break;
+
+    case DT_PPI_IRQ:
+      IrqId += PPI_OFFSET;
+      break;
+
+    default:
+      ASSERT (0);
+      IrqId = 0;
+  }
+
+  return IrqId;
+}
+
+/** Get the ACPI interrupt flags of an interrupt described in a fdt.
+
+  Data must describe a GIC interrupt. A GIC interrupt is on at least
+  3 UINT32 cells.
+
+  PPI interrupt cpu mask on bits [15:8] are ignored.
+
+  @param [in]  Data   Pointer to the first cell of an "interrupts" property.
+
+  @retval  The interrupt flags (for ACPI).
+**/
+UINT32
+EFIAPI
+FdtGetInterruptFlags (
+  UINT32 CONST  *Data
+  )
+{
+  UINT32  IrqFlags;
+  UINT32  AcpiIrqFlags;
+
+  ASSERT (Data != NULL);
+
+  IrqFlags = fdt32_to_cpu (Data[IRQ_FLAGS_OFFSET]);
+
+  AcpiIrqFlags  = DT_IRQ_IS_EDGE_TRIGGERED (IrqFlags) ? BIT0 : 0;
+  AcpiIrqFlags |= DT_IRQ_IS_ACTIVE_LOW (IrqFlags) ? BIT1 : 0;
+
+  return AcpiIrqFlags;
+}
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
index 5314cf3808c2..bab228575938 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
@@ -13,77 +13,6 @@
 #include <FdtHwInfoParserInclude.h>
 #include "FdtUtility.h"
 
-/** Get the interrupt Id of an interrupt described in a fdt.
-
-  Data must describe a GIC interrupt. A GIC interrupt is on at least
-  3 UINT32 cells.
-  This function DOES NOT SUPPORT extended SPI range and extended PPI range.
-
-  @param [in]  Data   Pointer to the first cell of an "interrupts" property.
-
-  @retval  The interrupt id.
-**/
-UINT32
-EFIAPI
-FdtGetInterruptId (
-  UINT32 CONST  *Data
-  )
-{
-  UINT32  IrqType;
-  UINT32  IrqId;
-
-  ASSERT (Data != NULL);
-
-  IrqType = fdt32_to_cpu (Data[IRQ_TYPE_OFFSET]);
-  IrqId   = fdt32_to_cpu (Data[IRQ_NUMBER_OFFSET]);
-
-  switch (IrqType) {
-    case DT_SPI_IRQ:
-      IrqId += SPI_OFFSET;
-      break;
-
-    case DT_PPI_IRQ:
-      IrqId += PPI_OFFSET;
-      break;
-
-    default:
-      ASSERT (0);
-      IrqId = 0;
-  }
-
-  return IrqId;
-}
-
-/** Get the ACPI interrupt flags of an interrupt described in a fdt.
-
-  Data must describe a GIC interrupt. A GIC interrupt is on at least
-  3 UINT32 cells.
-
-  PPI interrupt cpu mask on bits [15:8] are ignored.
-
-  @param [in]  Data   Pointer to the first cell of an "interrupts" property.
-
-  @retval  The interrupt flags (for ACPI).
-**/
-UINT32
-EFIAPI
-FdtGetInterruptFlags (
-  UINT32 CONST  *Data
-  )
-{
-  UINT32  IrqFlags;
-  UINT32  AcpiIrqFlags;
-
-  ASSERT (Data != NULL);
-
-  IrqFlags = fdt32_to_cpu (Data[IRQ_FLAGS_OFFSET]);
-
-  AcpiIrqFlags  = DT_IRQ_IS_EDGE_TRIGGERED (IrqFlags) ? BIT0 : 0;
-  AcpiIrqFlags |= DT_IRQ_IS_ACTIVE_LOW (IrqFlags) ? BIT1 : 0;
-
-  return AcpiIrqFlags;
-}
-
 /** Check whether a node has the input name.
 
   @param [in]  Fdt          Pointer to a Flattened Device Tree.
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 14/20] DynamicTablesPkg/FdtHwInfoParserLib: Add function for INTC address cells
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (12 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 13/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM utilities to separate file Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 15/20] DynamicTablesPkg: AcpiSsdtCpuTopologyLib: Move GICC from common code Sunil V L
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

Parent interrupt controller's address cells is arch specific. So,
create a function which can be implemented differently for
different archs. Move current implementation to ARM specific file.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../Library/FdtHwInfoParserLib/FdtUtility.h   |  9 ++++++
 .../FdtHwInfoParserLib/Arm/ArmFdtUtility.c    | 29 +++++++++++++++++++
 .../Pci/PciConfigSpaceParser.c                |  2 +-
 3 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
index 3f5d131d9ae5..1d56d044a73e 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
@@ -455,4 +455,13 @@ FdtGetParentAddressInfo (
   OUT       INT32     *SizeCells       OPTIONAL
   );
 
+EFI_STATUS
+EFIAPI
+FdtGetIntcAddressCells (
+  IN  CONST VOID *Fdt,
+  IN        INT32 Node,
+  OUT       INT32 *AddressCells, OPTIONAL
+  OUT       INT32     *SizeCells       OPTIONAL
+  );
+
 #endif // FDT_UTILITY_H_
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c
index 21b1306e577d..1b2196ef1734 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/ArmFdtUtility.c
@@ -83,3 +83,32 @@ FdtGetInterruptFlags (
 
   return AcpiIrqFlags;
 }
+
+/** Get the Address cell info of the INTC node
+
+  @param [in]  Fdt              Pointer to a Flattened Device Tree.
+  @param [in]  Node             Offset of the node having to get the
+                                "#address-cells" and "#size-cells"
+                                properties from.
+  @param [out] AddressCells     If success, number of address-cells.
+                                If the property is not available,
+                                default value is 2.
+  @param [out] SizeCells        If success, number of size-cells.
+                                If the property is not available,
+                                default value is 1.
+
+  @retval EFI_SUCCESS             The function completed successfully.
+  @retval EFI_ABORTED             An error occurred.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+**/
+EFI_STATUS
+EFIAPI
+FdtGetIntcAddressCells (
+  IN  CONST VOID *Fdt,
+  IN        INT32 Node,
+  OUT       INT32 *AddressCells, OPTIONAL
+  OUT       INT32 *SizeCells     OPTIONAL
+  )
+{
+  return FdtGetAddressInfo (Fdt, Node, AddressCells, SizeCells);
+}
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
index afe756bcedab..766f784da13c 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/PciConfigSpaceParser.c
@@ -365,7 +365,7 @@ ParseIrqMap (
   }
 
   // Get the "address-cells" property of the IntcNode.
-  Status = FdtGetAddressInfo (Fdt, IntcNode, &IntcAddressCells, NULL);
+  Status = FdtGetIntcAddressCells (Fdt, IntcNode, &IntcAddressCells, NULL);
   if (EFI_ERROR (Status)) {
     ASSERT (0);
     return Status;
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 15/20] DynamicTablesPkg: AcpiSsdtCpuTopologyLib: Move GICC from common code
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (13 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 14/20] DynamicTablesPkg/FdtHwInfoParserLib: Add function for INTC address cells Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 16/20] DynamicTablesPkg: AcpiFadtLib: Move ArmBootArch to ARM specific file Sunil V L
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

GICC is ARM specific structure. Different architectures have different
local interrupt controller structures from which CPU topology can be
created. Avoid the GICC reference in common code by,

- creating a wrapper CreateTopologyFromIntC() instead of
  CreateTopologyFromGicC() so that different archs can implement
  it differently.
- Implement arch specific functions to get AcpiProcessorUid,
  CpcToken, EtToken and use them instead of using GICC directly.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../SsdtCpuTopologyLib.inf                    |   3 +
 .../SsdtCpuTopologyGenerator.h                |  48 +++++
 .../ArmSsdtCpuTopologyGenerator.c             | 179 +++++++++++++++++
 .../SsdtCpuTopologyGenerator.c                | 184 +++++-------------
 4 files changed, 274 insertions(+), 140 deletions(-)
 create mode 100644 DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/ArmSsdtCpuTopologyGenerator.c

diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
index 2d38fb30fb09..6ec4aeeae159 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
@@ -16,6 +16,9 @@ [Defines]
   CONSTRUCTOR    = AcpiSsdtCpuTopologyLibConstructor
   DESTRUCTOR     = AcpiSsdtCpuTopologyLibDestructor
 
+[Sources.ARM, Sources.AARCH64]
+  ArmSsdtCpuTopologyGenerator.c
+
 [Sources]
   SsdtCpuTopologyGenerator.c
   SsdtCpuTopologyGenerator.h
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
index 57ff8009b59d..872c5c010d5c 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
@@ -144,4 +144,52 @@ typedef struct AcpiCpuTopologyGenerator {
 
 #pragma pack()
 
+EFI_STATUS
+EFIAPI
+GetIntCUidTokens (
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  IN  CM_OBJECT_TOKEN                                     IntCToken,
+  OUT UINT32                                              *AcpiProcessorUid,
+  OUT CM_OBJECT_TOKEN                                     *CpcToken,
+  OUT CM_OBJECT_TOKEN                                     *EtToken
+  );
+
+EFI_STATUS
+EFIAPI
+CreateAmlEtNode (
+  IN  ACPI_CPU_TOPOLOGY_GENERATOR                         *Generator,
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  IN  UINT32                                              AcpiProcessorUid,
+  IN  CM_OBJECT_TOKEN                                     EtToken,
+  IN  UINT32                                              CpuName,
+  IN  AML_OBJECT_NODE_HANDLE                              *Node
+  );
+
+EFI_STATUS
+EFIAPI
+CreateAmlCpcNode (
+  IN  ACPI_CPU_TOPOLOGY_GENERATOR                         *Generator,
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  IN  CM_OBJECT_TOKEN                                     CpcToken,
+  IN  AML_OBJECT_NODE_HANDLE                              *Node
+  );
+
+EFI_STATUS
+EFIAPI
+CreateAmlCpu (
+  IN   ACPI_CPU_TOPOLOGY_GENERATOR  *Generator,
+  IN   AML_NODE_HANDLE              ParentNode,
+  IN   UINT32                       Uid,
+  IN   UINT32                       CpuName,
+  OUT  AML_OBJECT_NODE_HANDLE       *CpuNodePtr OPTIONAL
+  );
+
+EFI_STATUS
+EFIAPI
+CreateTopologyFromIntC (
+  IN        ACPI_CPU_TOPOLOGY_GENERATOR                   *Generator,
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  IN        AML_OBJECT_NODE_HANDLE                        ScopeNode
+  );
+
 #endif // SSDT_CPU_TOPOLOGY_GENERATOR_H_
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/ArmSsdtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/ArmSsdtCpuTopologyGenerator.c
new file mode 100644
index 000000000000..3078c206224f
--- /dev/null
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/ArmSsdtCpuTopologyGenerator.c
@@ -0,0 +1,179 @@
+/** @file
+  ARM SSDT Cpu Topology Table Generator Helpers.
+
+  Copyright (c) 2021 - 2023, Arm Limited. All rights reserved.<BR>
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+  @par Reference(s):
+    - ACPI 6.3 Specification - January 2019 - s8.4 Declaring Processors
+    - ACPI for CoreSight version 1.2 Platform Design Document
+      (https://developer.arm.com/documentation/den0067/a/?lang=en)
+
+  @par Glossary:
+    - ETE - Embedded Trace Extension.
+    - ETM - Embedded Trace Macrocell.
+**/
+
+#include <Library/AcpiLib.h>
+#include <Library/BaseLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Protocol/AcpiTable.h>
+
+// Module specific include files.
+#include <AcpiTableGenerator.h>
+#include <ConfigurationManagerObject.h>
+#include <ConfigurationManagerHelper.h>
+#include <Library/AcpiHelperLib.h>
+#include <Library/TableHelperLib.h>
+#include <Library/AmlLib/AmlLib.h>
+#include <Protocol/ConfigurationManagerProtocol.h>
+
+#include "SsdtCpuTopologyGenerator.h"
+
+/** This macro expands to a function that retrieves the GIC
+    CPU interface Information from the Configuration Manager.
+*/
+GET_OBJECT_LIST (
+  EObjNameSpaceArch,
+  EArchObjGicCInfo,
+  CM_ARCH_GICC_INFO
+  );
+
+/** Create the processor hierarchy AML tree from CM_ARCH_GICC_INFO
+    CM objects.
+
+  A processor container is by extension any non-leave device in the cpu topology.
+
+  @param [in] Generator        The SSDT Cpu Topology generator.
+  @param [in] CfgMgrProtocol   Pointer to the Configuration Manager
+                               Protocol Interface.
+  @param [in] ScopeNode        Scope node handle ('\_SB' scope).
+
+  @retval EFI_SUCCESS             Success.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.
+**/
+EFI_STATUS
+EFIAPI
+CreateTopologyFromIntC (
+  IN        ACPI_CPU_TOPOLOGY_GENERATOR                   *Generator,
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  IN        AML_OBJECT_NODE_HANDLE                        ScopeNode
+  )
+{
+  EFI_STATUS              Status;
+  CM_ARCH_GICC_INFO       *GicCInfo;
+  UINT32                  GicCInfoCount;
+  UINT32                  Index;
+  AML_OBJECT_NODE_HANDLE  CpuNode;
+
+  ASSERT (Generator != NULL);
+  ASSERT (CfgMgrProtocol != NULL);
+  ASSERT (ScopeNode != NULL);
+
+  Status = GetEArchObjGicCInfo (
+             CfgMgrProtocol,
+             CM_NULL_TOKEN,
+             &GicCInfo,
+             &GicCInfoCount
+             );
+  if (EFI_ERROR (Status)) {
+    ASSERT (0);
+    return Status;
+  }
+
+  // For each CM_ARCH_GICC_INFO object, create an AML node.
+  for (Index = 0; Index < GicCInfoCount; Index++) {
+    Status = CreateAmlCpu (
+               Generator,
+               ScopeNode,
+               GicCInfo[Index].AcpiProcessorUid,
+               Index,
+               &CpuNode
+               );
+    if (EFI_ERROR (Status)) {
+      ASSERT (0);
+      break;
+    }
+
+    // If a CPC info is associated with the
+    // GicCinfo, create an _CPC method returning them.
+    if (GicCInfo[Index].CpcToken != CM_NULL_TOKEN) {
+      Status = CreateAmlCpcNode (Generator, CfgMgrProtocol, GicCInfo[Index].CpcToken, CpuNode);
+      if (EFI_ERROR (Status)) {
+        ASSERT_EFI_ERROR (Status);
+        break;
+      }
+    }
+
+    if (GicCInfo[Index].EtToken != CM_NULL_TOKEN) {
+      Status = CreateAmlEtNode (
+                 Generator,
+                 CfgMgrProtocol,
+                 GicCInfo[Index].AcpiProcessorUid,
+                 GicCInfo[Index].EtToken,
+                 Index,
+                 CpuNode
+                 );
+      if (EFI_ERROR (Status)) {
+        ASSERT_EFI_ERROR (Status);
+        return Status;
+      }
+    }
+  } // for
+
+  return Status;
+}
+
+/** Get UID, CpcToken and EtToken from local interrupt controller structure.
+
+  @param [in]  CfgMgrProtocol    Pointer to the Configuration Manager
+                                 Protocol Interface.
+  @param [in]  IntCToken         Unique Local INTC token to find the correct
+                                 INTC info structure.
+  @param [out] AcpiProcessorUid  UID of the CPU.
+  @param [out] CpcToken          CpcToken of the CPU / local INTC.
+  @param [out] EtToken           EtToken of the CPU / local INTC.
+
+  @retval EFI_SUCCESS             Success.
+  @retval EFI_NOT_FOUND           INTC structure not found.
+**/
+EFI_STATUS
+EFIAPI
+GetIntCUidTokens (
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  IN  CM_OBJECT_TOKEN                                     IntCToken,
+  OUT UINT32                                              *AcpiProcessorUid,
+  OUT CM_OBJECT_TOKEN                                     *CpcToken,
+  OUT CM_OBJECT_TOKEN                                     *EtToken
+  )
+{
+  EFI_STATUS         Status;
+  CM_ARCH_GICC_INFO  *GicCInfo;
+
+  Status = GetEArchObjGicCInfo (
+             CfgMgrProtocol,
+             IntCToken,
+             &GicCInfo,
+             NULL
+             );
+  if (EFI_ERROR (Status)) {
+    return Status;
+  }
+
+  if (AcpiProcessorUid != NULL) {
+    *AcpiProcessorUid = GicCInfo->AcpiProcessorUid;
+  }
+
+  if (CpcToken != NULL) {
+    *CpcToken = GicCInfo->CpcToken;
+  }
+
+  if (EtToken != NULL) {
+    *EtToken = GicCInfo->EtToken;
+  }
+
+  return Status;
+}
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
index f0fb209fdc4c..3c87c651711c 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.c
@@ -32,27 +32,17 @@
 
 #include "SsdtCpuTopologyGenerator.h"
 
-/** ARM standard SSDT Cpu Topology Table Generator.
+/** SSDT Cpu Topology Table Generator.
 
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
-  - EArchObjGicCInfo
   - EArchObjProcHierarchyInfo (OPTIONAL) along with
   - EArchObjCmRef (OPTIONAL)
   - EArchObjLpiInfo (OPTIONAL)
   - GetEArchObjEtInfo (OPTIONAL)
 */
 
-/** This macro expands to a function that retrieves the GIC
-    CPU interface Information from the Configuration Manager.
-*/
-GET_OBJECT_LIST (
-  EObjNameSpaceArch,
-  EArchObjGicCInfo,
-  CM_ARCH_GICC_INFO
-  );
-
 /**
   This macro expands to a function that retrieves the Processor Hierarchy
   information from the Configuration Manager.
@@ -301,7 +291,7 @@ WriteAslName (
   @param [in]  Generator              The SSDT Cpu Topology generator.
   @param [in]  CfgMgrProtocol         Pointer to the Configuration Manager
                                       Protocol Interface.
-  @param [in]  GicCInfo               Pointer to the CM_ARCH_GICC_INFO object
+  @param [in]  CpcToken               CPC token of the INTC info
                                       describing the Cpu.
   @param [in]  Node                   CPU Node to which the _CPC node is
                                       attached.
@@ -310,22 +300,21 @@ WriteAslName (
   @retval EFI_INVALID_PARAMETER   Invalid parameter.
   @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.
 **/
-STATIC
 EFI_STATUS
 EFIAPI
 CreateAmlCpcNode (
   IN  ACPI_CPU_TOPOLOGY_GENERATOR                         *Generator,
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN  CM_ARCH_GICC_INFO                                    *GicCInfo,
+  IN  CM_OBJECT_TOKEN                                     CpcToken,
   IN  AML_OBJECT_NODE_HANDLE                              *Node
   )
 {
-  EFI_STATUS       Status;
+  EFI_STATUS        Status;
   CM_ARCH_CPC_INFO  *CpcInfo;
 
   Status = GetEArchObjCpcInfo (
              CfgMgrProtocol,
-             GicCInfo->CpcToken,
+             CpcToken,
              &CpcInfo,
              NULL
              );
@@ -357,11 +346,11 @@ CreateAmlCpcNode (
   ETE has a system register interface and therefore does not need
   the MMIO range to be described.
 
-  @param [in]  Generator    The SSDT Cpu Topology generator.
-  @param [in]  ParentNode   Parent node to attach the Cpu node to.
-  @param [in]  GicCInfo     CM_ARCH_GICC_INFO object used to create the node.
-  @param [in]  CpuName      Value used to generate the node name.
-  @param [out] EtNodePtr   If not NULL, return the created Cpu node.
+  @param [in]  Generator            The SSDT Cpu Topology generator.
+  @param [in]  ParentNode           Parent node to attach the Cpu node to.
+  @param [in]  AcpiProcessorUid     ACPI Processor UID of the CPU.
+  @param [in]  CpuName              Value used to generate the node name.
+  @param [out] EtNodePtr            If not NULL, return the created Cpu node.
 
   @retval EFI_SUCCESS             Success.
   @retval EFI_INVALID_PARAMETER   Invalid parameter.
@@ -373,7 +362,7 @@ EFIAPI
 CreateAmlEtd (
   IN   ACPI_CPU_TOPOLOGY_GENERATOR  *Generator,
   IN   AML_NODE_HANDLE              ParentNode,
-  IN   CM_ARCH_GICC_INFO             *GicCInfo,
+  IN   UINT32                       AcpiProcessorUid,
   IN   UINT32                       CpuName,
   OUT  AML_OBJECT_NODE_HANDLE       *EtNodePtr OPTIONAL
   )
@@ -399,7 +388,7 @@ CreateAmlEtd (
 
   Status = AmlCodeGenNameInteger (
              "_UID",
-             GicCInfo->AcpiProcessorUid,
+             AcpiProcessorUid,
              EtNode,
              NULL
              );
@@ -432,34 +421,33 @@ CreateAmlEtd (
   @param [in]  Generator              The SSDT Cpu Topology generator.
   @param [in]  CfgMgrProtocol         Pointer to the Configuration Manager
                                       Protocol Interface.
-  @param [in]  GicCInfo               Pointer to the CM_ARCH_GICC_INFO object
-                                      describing the Cpu.
+  @param [in]  AcpiProcessorUid       ACPI processor Uid of the local interrupt
+                                      controller describing the Cpu.
+  @param [in]  EtToken                EtToken of the CPU node name.
   @param [in]  CpuName                Value used to generate the CPU node name.
   @param [in]  Node                   CPU Node to which the ET device node is
                                       attached.
 
   @retval EFI_SUCCESS             The function completed successfully.
   @retval EFI_UNSUPPORTED         Feature Unsupported.
-  @retval EFI_INVALID_PARAMETER   Invalid parameter.
-  @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.
 **/
-STATIC
 EFI_STATUS
 EFIAPI
 CreateAmlEtNode (
   IN  ACPI_CPU_TOPOLOGY_GENERATOR                         *Generator,
   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN  CM_ARCH_GICC_INFO                                   *GicCInfo,
-  IN        UINT32                                        CpuName,
+  IN  UINT32                                              AcpiProcessorUid,
+  IN  CM_OBJECT_TOKEN                                     EtToken,
+  IN  UINT32                                              CpuName,
   IN  AML_OBJECT_NODE_HANDLE                              *Node
   )
 {
-  EFI_STATUS      Status;
+  EFI_STATUS       Status;
   CM_ARCH_ET_INFO  *EtInfo;
 
   Status = GetEArchObjEtInfo (
              CfgMgrProtocol,
-             GicCInfo->EtToken,
+             EtToken,
              &EtInfo,
              NULL
              );
@@ -476,7 +464,7 @@ CreateAmlEtNode (
   Status = CreateAmlEtd (
              Generator,
              Node,
-             GicCInfo,
+             AcpiProcessorUid,
              CpuName,
              NULL
              );
@@ -708,23 +696,22 @@ GenerateLpiStates (
       Name (_HID, "ACPI0007")
   }
 
-  @param [in]  Generator    The SSDT Cpu Topology generator.
-  @param [in]  ParentNode   Parent node to attach the Cpu node to.
-  @param [in]  GicCInfo     CM_ARCH_GICC_INFO object used to create the node.
-  @param [in]  CpuName      Value used to generate the node name.
-  @param [out] CpuNodePtr   If not NULL, return the created Cpu node.
+  @param [in]  Generator         The SSDT Cpu Topology generator.
+  @param [in]  ParentNode        Parent node to attach the Cpu node to.
+  @param [in]  AcpiProcessorUid  ACPI processor UID of the CPU.
+  @param [in]  CpuName           Value used to generate the node name.
+  @param [out] CpuNodePtr        If not NULL, return the created Cpu node.
 
   @retval EFI_SUCCESS             Success.
   @retval EFI_INVALID_PARAMETER   Invalid parameter.
   @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.
 **/
-STATIC
 EFI_STATUS
 EFIAPI
 CreateAmlCpu (
   IN   ACPI_CPU_TOPOLOGY_GENERATOR  *Generator,
   IN   AML_NODE_HANDLE              ParentNode,
-  IN   CM_ARCH_GICC_INFO            *GicCInfo,
+  IN   UINT32                       AcpiProcessorUid,
   IN   UINT32                       CpuName,
   OUT  AML_OBJECT_NODE_HANDLE       *CpuNodePtr OPTIONAL
   )
@@ -735,7 +722,6 @@ CreateAmlCpu (
 
   ASSERT (Generator != NULL);
   ASSERT (ParentNode != NULL);
-  ASSERT (GicCInfo != NULL);
 
   Status = WriteAslName ('C', CpuName, AslName);
   if (EFI_ERROR (Status)) {
@@ -751,7 +737,7 @@ CreateAmlCpu (
 
   Status = AmlCodeGenNameInteger (
              "_UID",
-             GicCInfo->AcpiProcessorUid,
+             AcpiProcessorUid,
              CpuNode,
              NULL
              );
@@ -806,8 +792,9 @@ CreateAmlCpuFromProcHierarchy (
   )
 {
   EFI_STATUS              Status;
-  CM_ARCH_GICC_INFO       *GicCInfo;
   AML_OBJECT_NODE_HANDLE  CpuNode;
+  UINT32                  AcpiProcessorUid;
+  CM_OBJECT_TOKEN         CpcToken, EtToken;
 
   ASSERT (Generator != NULL);
   ASSERT (CfgMgrProtocol != NULL);
@@ -815,18 +802,19 @@ CreateAmlCpuFromProcHierarchy (
   ASSERT (ProcHierarchyNodeInfo != NULL);
   ASSERT (ProcHierarchyNodeInfo->GicCToken != CM_NULL_TOKEN);
 
-  Status = GetEArchObjGicCInfo (
+  Status = GetIntCUidTokens (
              CfgMgrProtocol,
              ProcHierarchyNodeInfo->GicCToken,
-             &GicCInfo,
-             NULL
+             &AcpiProcessorUid,
+             &CpcToken,
+             &EtToken
              );
   if (EFI_ERROR (Status)) {
     ASSERT (0);
     return Status;
   }
 
-  Status = CreateAmlCpu (Generator, ParentNode, GicCInfo, CpuName, &CpuNode);
+  Status = CreateAmlCpu (Generator, ParentNode, AcpiProcessorUid, CpuName, &CpuNode);
   if (EFI_ERROR (Status)) {
     ASSERT (0);
     return Status;
@@ -843,9 +831,9 @@ CreateAmlCpuFromProcHierarchy (
   }
 
   // If a CPC info is associated with the
-  // GicCinfo, create an _CPC method returning them.
-  if (GicCInfo->CpcToken != CM_NULL_TOKEN) {
-    Status = CreateAmlCpcNode (Generator, CfgMgrProtocol, GicCInfo, CpuNode);
+  // IntcInfo, create an _CPC method returning them.
+  if (CpcToken != CM_NULL_TOKEN) {
+    Status = CreateAmlCpcNode (Generator, CfgMgrProtocol, CpcToken, CpuNode);
     if (EFI_ERROR (Status)) {
       ASSERT_EFI_ERROR (Status);
       return Status;
@@ -853,11 +841,12 @@ CreateAmlCpuFromProcHierarchy (
   }
 
   // Add an Embedded Trace node if present.
-  if (GicCInfo->EtToken != CM_NULL_TOKEN) {
+  if (EtToken != CM_NULL_TOKEN) {
     Status = CreateAmlEtNode (
                Generator,
                CfgMgrProtocol,
-               GicCInfo,
+               AcpiProcessorUid,
+               EtToken,
                CpuName,
                CpuNode
                );
@@ -892,7 +881,8 @@ CreateAmlCpuFromProcHierarchy (
                                       container node to.
   @param [in]  ProcHierarchyNodeInfo  CM_ARCH_PROC_HIERARCHY_INFO object used
                                       to create the node.
-  @param [in]  ProcContainerIndex     Index used to generate the node name.
+  @param [in]  ProcContainerName      Node name.
+  @param [in]  ProcContainerUid       UID of the processor container node.
   @param [out] ProcContainerNodePtr   If success, contains the created processor
                                       container node.
 
@@ -1241,92 +1231,6 @@ CreateTopologyFromProcHierarchy (
   return Status;
 }
 
-/** Create the processor hierarchy AML tree from CM_ARCH_GICC_INFO
-    CM objects.
-
-  A processor container is by extension any non-leave device in the cpu topology.
-
-  @param [in] Generator        The SSDT Cpu Topology generator.
-  @param [in] CfgMgrProtocol   Pointer to the Configuration Manager
-                               Protocol Interface.
-  @param [in] ScopeNode        Scope node handle ('\_SB' scope).
-
-  @retval EFI_SUCCESS             Success.
-  @retval EFI_INVALID_PARAMETER   Invalid parameter.
-  @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.
-**/
-STATIC
-EFI_STATUS
-EFIAPI
-CreateTopologyFromGicC (
-  IN        ACPI_CPU_TOPOLOGY_GENERATOR                   *Generator,
-  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
-  IN        AML_OBJECT_NODE_HANDLE                        ScopeNode
-  )
-{
-  EFI_STATUS              Status;
-  CM_ARCH_GICC_INFO        *GicCInfo;
-  UINT32                  GicCInfoCount;
-  UINT32                  Index;
-  AML_OBJECT_NODE_HANDLE  CpuNode;
-
-  ASSERT (Generator != NULL);
-  ASSERT (CfgMgrProtocol != NULL);
-  ASSERT (ScopeNode != NULL);
-
-  Status = GetEArchObjGicCInfo (
-             CfgMgrProtocol,
-             CM_NULL_TOKEN,
-             &GicCInfo,
-             &GicCInfoCount
-             );
-  if (EFI_ERROR (Status)) {
-    ASSERT (0);
-    return Status;
-  }
-
-  // For each CM_ARCH_GICC_INFO object, create an AML node.
-  for (Index = 0; Index < GicCInfoCount; Index++) {
-    Status = CreateAmlCpu (
-               Generator,
-               ScopeNode,
-               &GicCInfo[Index],
-               Index,
-               &CpuNode
-               );
-    if (EFI_ERROR (Status)) {
-      ASSERT (0);
-      break;
-    }
-
-    // If a CPC info is associated with the
-    // GicCinfo, create an _CPC method returning them.
-    if (GicCInfo[Index].CpcToken != CM_NULL_TOKEN) {
-      Status = CreateAmlCpcNode (Generator, CfgMgrProtocol, &GicCInfo[Index], CpuNode);
-      if (EFI_ERROR (Status)) {
-        ASSERT_EFI_ERROR (Status);
-        break;
-      }
-    }
-
-    if (GicCInfo[Index].EtToken != CM_NULL_TOKEN) {
-      Status = CreateAmlEtNode (
-                 Generator,
-                 CfgMgrProtocol,
-                 &GicCInfo[Index],
-                 Index,
-                 CpuNode
-                 );
-      if (EFI_ERROR (Status)) {
-        ASSERT_EFI_ERROR (Status);
-        return Status;
-      }
-    }
-  } // for
-
-  return Status;
-}
-
 /** Construct the SSDT Cpu Topology ACPI table.
 
   This function invokes the Configuration Manager protocol interface
@@ -1407,7 +1311,7 @@ BuildSsdtCpuTopologyTable (
   if (Status == EFI_NOT_FOUND) {
     // If hierarchy information is not found generate a flat topology
     // using CM_ARCH_GICC_INFO objects.
-    Status = CreateTopologyFromGicC (
+    Status = CreateTopologyFromIntC (
                Generator,
                CfgMgrProtocol,
                ScopeNode
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 16/20] DynamicTablesPkg: AcpiFadtLib: Move ArmBootArch to ARM specific file
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (14 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 15/20] DynamicTablesPkg: AcpiSsdtCpuTopologyLib: Move GICC from common code Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 17/20] DynamicTablesPkg: DynamicTableManagerDxe: Refactor to allow other archs Sunil V L
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

ArmBootArch field in FADT is specific to ARM. To leverage most of the
code in FADT generator for other architectures, this needs to be moved
into ARM specific file. There may be other fields in future (ex:
IA_PC_BOOT_ARCH) that need to be created in similar way. So, instead of
adding the function only to create BootArch, make this function generic
to add all arch specific functions into FADT.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf   |  4 +
 .../Acpi/Common/AcpiFadtLib/FadtGenerator.h   | 32 ++++++++
 .../Common/AcpiFadtLib/ArmFadtGenerator.c     | 80 +++++++++++++++++++
 .../Acpi/Common/AcpiFadtLib/FadtGenerator.c   | 71 ++--------------
 .../Arm/BootArch/ArmBootArchParser.c          |  8 +-
 5 files changed, 125 insertions(+), 70 deletions(-)
 create mode 100644 DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.h
 create mode 100644 DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/ArmFadtGenerator.c

diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
index c9cd850faac0..1ea47aefc3e1 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
@@ -18,6 +18,10 @@ [Defines]
 
 [Sources]
   FadtGenerator.c
+  FadtGenerator.h
+
+[Sources.ARM, Sources.AARCH64]
+  ArmFadtGenerator.c
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.h b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.h
new file mode 100644
index 000000000000..bb98ea4c8854
--- /dev/null
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.h
@@ -0,0 +1,32 @@
+/** @file
+
+  Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.<BR>
+  Copyright (c) 2024, Ventana Micro Systems Inc. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef FADT_GENERATOR_H_
+#define FADT_GENERATOR_H_
+
+/** Updates the Architecture specific information in the FADT Table.
+
+  @param [in]  CfgMgrProtocol Pointer to the Configuration Manager
+                              Protocol Interface.
+
+  @retval EFI_SUCCESS           Success.
+  @retval EFI_INVALID_PARAMETER A parameter is invalid.
+  @retval EFI_NOT_FOUND         The required object was not found.
+  @retval EFI_BAD_BUFFER_SIZE   The size returned by the Configuration
+                                Manager is less than the Object size for the
+                                requested object.
+**/
+EFI_STATUS
+EFIAPI
+FadtAddArchInfo (
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  OUT EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE           *Fadt
+  );
+
+#endif // FADT_GENERATOR_H_
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/ArmFadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/ArmFadtGenerator.c
new file mode 100644
index 000000000000..ca4f6958a5b9
--- /dev/null
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/ArmFadtGenerator.c
@@ -0,0 +1,80 @@
+/** @file
+  ARM FADT Table Helpers
+
+  Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+  @par Reference(s):
+  - ACPI 6.5 Specification, Aug 29, 2022
+
+**/
+
+#include <Library/AcpiLib.h>
+#include <Library/DebugLib.h>
+#include <Protocol/AcpiTable.h>
+
+// Module specific include files.
+#include <AcpiTableGenerator.h>
+#include <ConfigurationManagerObject.h>
+#include <ConfigurationManagerHelper.h>
+#include <Library/TableHelperLib.h>
+#include <Protocol/ConfigurationManagerProtocol.h>
+#include "FadtGenerator.h"
+
+/** This macro expands to a function that retrieves the Boot
+    Architecture Information from the Configuration Manager.
+*/
+GET_OBJECT_LIST (
+  EObjNameSpaceArch,
+  EArchObjBootArchInfo,
+  CM_ARCH_BOOT_ARCH_INFO
+  );
+
+/** Updates the Architecture specific information in the FADT Table.
+
+  @param [in]  CfgMgrProtocol Pointer to the Configuration Manager
+                              Protocol Interface.
+  @param [out] Fadt           Pointer to the FADT table
+
+  @retval EFI_SUCCESS           Success.
+  @retval EFI_NOT_FOUND         The required object was not found.
+**/
+EFI_STATUS
+EFIAPI
+FadtAddArchInfo (
+  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
+  OUT EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE           *Fadt
+  )
+{
+  EFI_STATUS              Status;
+  CM_ARCH_BOOT_ARCH_INFO  *BootArchInfo;
+
+  ASSERT (CfgMgrProtocol != NULL);
+
+  // Get the Boot Architecture flags from the Platform Configuration Manager
+  Status = GetEArchObjBootArchInfo (
+             CfgMgrProtocol,
+             CM_NULL_TOKEN,
+             &BootArchInfo,
+             NULL
+             );
+  if (EFI_ERROR (Status)) {
+    DEBUG ((
+      DEBUG_ERROR,
+      "ERROR: FADT: Failed to get Boot Architecture flags. Status = %r\n",
+      Status
+      ));
+    goto error_handler;
+  }
+
+  DEBUG ((
+    DEBUG_INFO,
+    "FADT BootArchFlag = 0x%x\n",
+    BootArchInfo->BootArchFlags
+    ));
+
+  Fadt->ArmBootArch = BootArchInfo->BootArchFlags;
+
+error_handler:
+  return Status;
+}
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
index 6f760532314e..60f1ad69a420 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.c
@@ -19,14 +19,14 @@
 #include <ConfigurationManagerHelper.h>
 #include <Library/TableHelperLib.h>
 #include <Protocol/ConfigurationManagerProtocol.h>
+#include "FadtGenerator.h"
 
-/** ARM standard FADT Generator
+/** Standard FADT Generator
 
 Requirements:
   The following Configuration Manager Object(s) are required by
   this Generator:
   - EArchObjPowerManagementProfileInfo
-  - EArchObjBootArchInfo
   - EArchObjHypervisorVendorIdentity (OPTIONAL)
 */
 
@@ -165,7 +165,7 @@ EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE  AcpiFadt = {
   // UINT8      ResetValue
   0,
   // UINT16     ArmBootArch
-  EFI_ACPI_6_5_ARM_PSCI_COMPLIANT,  // {Template}: ARM Boot Architecture Flags
+  0,  // {Template}: ARM Boot Architecture Flags
   // UINT8      MinorRevision
   EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // {Template}
   // UINT64     XFirmwareCtrl
@@ -207,15 +207,6 @@ GET_OBJECT_LIST (
   CM_ARCH_POWER_MANAGEMENT_PROFILE_INFO
   );
 
-/** This macro expands to a function that retrieves the Boot
-    Architecture Information from the Configuration Manager.
-*/
-GET_OBJECT_LIST (
-  EObjNameSpaceArch,
-  EArchObjBootArchInfo,
-  CM_ARCH_BOOT_ARCH_INFO
-  );
-
 /** This macro expands to a function that retrieves the Hypervisor
     Vendor ID from the Configuration Manager.
 */
@@ -287,58 +278,6 @@ FadtAddPmProfileInfo (
   return Status;
 }
 
-/** Updates the Boot Architecture information in the FADT Table.
-
-  @param [in]  CfgMgrProtocol Pointer to the Configuration Manager
-                              Protocol Interface.
-
-  @retval EFI_SUCCESS           Success.
-  @retval EFI_INVALID_PARAMETER A parameter is invalid.
-  @retval EFI_NOT_FOUND         The required object was not found.
-  @retval EFI_BAD_BUFFER_SIZE   The size returned by the Configuration
-                                Manager is less than the Object size for the
-                                requested object.
-**/
-STATIC
-EFI_STATUS
-EFIAPI
-FadtAddBootArchInfo (
-  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol
-  )
-{
-  EFI_STATUS             Status;
-  CM_ARCH_BOOT_ARCH_INFO  *BootArchInfo;
-
-  ASSERT (CfgMgrProtocol != NULL);
-
-  // Get the Boot Architecture flags from the Platform Configuration Manager
-  Status = GetEArchObjBootArchInfo (
-             CfgMgrProtocol,
-             CM_NULL_TOKEN,
-             &BootArchInfo,
-             NULL
-             );
-  if (EFI_ERROR (Status)) {
-    DEBUG ((
-      DEBUG_ERROR,
-      "ERROR: FADT: Failed to get Boot Architecture flags. Status = %r\n",
-      Status
-      ));
-    goto error_handler;
-  }
-
-  DEBUG ((
-    DEBUG_INFO,
-    "FADT BootArchFlag = 0x%x\n",
-    BootArchInfo->BootArchFlags
-    ));
-
-  AcpiFadt.ArmBootArch = BootArchInfo->BootArchFlags;
-
-error_handler:
-  return Status;
-}
-
 /** Update the Hypervisor Vendor ID in the FADT Table.
 
   @param [in]  CfgMgrProtocol Pointer to the Configuration Manager
@@ -577,8 +516,8 @@ BuildFadtTable (
     goto error_handler;
   }
 
-  // Update BootArch Info
-  Status = FadtAddBootArchInfo (CfgMgrProtocol);
+  // Update Arch specific Info
+  Status = FadtAddArchInfo (CfgMgrProtocol, &AcpiFadt);
   if (EFI_ERROR (Status)) {
     goto error_handler;
   }
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
index d0f6e257a7ac..028a659292f2 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Arm/BootArch/ArmBootArchParser.c
@@ -49,8 +49,8 @@ STATIC
 EFI_STATUS
 EFIAPI
 PsciNodeParser (
-  IN  CONST VOID                   *Fdt,
-  IN        INT32                  PsciNode,
+  IN  CONST VOID                    *Fdt,
+  IN        INT32                   PsciNode,
   IN        CM_ARCH_BOOT_ARCH_INFO  *BootArchInfo
   )
 {
@@ -115,8 +115,8 @@ ArmBootArchInfoParser (
   IN        INT32                      FdtBranch
   )
 {
-  EFI_STATUS             Status;
-  INT32                  PsciNode;
+  EFI_STATUS              Status;
+  INT32                   PsciNode;
   CM_ARCH_BOOT_ARCH_INFO  BootArchInfo;
 
   if (FdtParserHandle == NULL) {
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 17/20] DynamicTablesPkg: DynamicTableManagerDxe: Refactor to allow other archs
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (15 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 16/20] DynamicTablesPkg: AcpiFadtLib: Move ArmBootArch to ARM specific file Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 18/20] DynamicTablesPkg: X86: Add interfaces to succeed CI tests Sunil V L
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

mAcpiVerifyTables is an arch specific structure. So, move the structure
and the function which refers this structure to ARM specific file.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../DynamicTableManagerDxe.inf                |   4 +
 .../DynamicTableManagerDxe.h                  |  65 ++++++++
 .../ArmDynamicTableManagerDxe.c               | 154 ++++++++++++++++++
 .../DynamicTableManagerDxe.c                  | 145 +----------------
 4 files changed, 225 insertions(+), 143 deletions(-)
 create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.h
 create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/ArmDynamicTableManagerDxe.c

diff --git a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
index ad8b3d037c16..b49f6b811691 100644
--- a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
+++ b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
@@ -22,6 +22,10 @@ [Defines]
 
 [Sources]
   DynamicTableManagerDxe.c
+  DynamicTableManagerDxe.h
+
+[Sources.ARM, Sources.AARCH64]
+  ArmDynamicTableManagerDxe.c
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.h b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.h
new file mode 100644
index 000000000000..0149d9de1bdc
--- /dev/null
+++ b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.h
@@ -0,0 +1,65 @@
+/** @file
+
+  Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.<BR>
+  Copyright (c) 2024, Ventana Micro Systems Inc. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef DYNAMIC_TABLE_MANAGER_DXE_H_
+#define DYNAMIC_TABLE_MANAGER_DXE_H_
+
+#include <AcpiTableGenerator.h>
+
+///
+/// Bit definitions for acceptable ACPI table presence formats.
+/// Currently only ACPI tables present in the ACPI info list and
+/// already installed will count towards "Table Present" during
+/// verification routine.
+///
+#define ACPI_TABLE_PRESENT_INFO_LIST  BIT0
+#define ACPI_TABLE_PRESENT_INSTALLED  BIT1
+
+///
+/// Private data structure to verify the presence of mandatory
+/// or optional ACPI tables.
+///
+typedef struct {
+  /// ESTD ID for the ACPI table of interest.
+  ESTD_ACPI_TABLE_ID    EstdTableId;
+  /// Standard UINT32 ACPI signature.
+  UINT32                AcpiTableSignature;
+  /// 4 character ACPI table name (the 5th char8 is for null terminator).
+  CHAR8                 AcpiTableName[sizeof (UINT32) + 1];
+  /// Indicator on whether the ACPI table is required.
+  BOOLEAN               IsMandatory;
+  /// Formats of verified presences, as defined by ACPI_TABLE_PRESENT_*
+  /// This field should be initialized to 0 and will be populated during
+  /// verification routine.
+  UINT16                Presence;
+} ACPI_TABLE_PRESENCE_INFO;
+
+BOOLEAN
+IsFadtPresentInstalled (
+  VOID
+  );
+
+/** The function checks if the Configuration Manager has provided the
+    mandatory ACPI tables for installation.
+
+  @param [in]  AcpiTableInfo      Pointer to the ACPI Table Info list.
+  @param [in]  AcpiTableCount     Count of ACPI Table Info.
+
+  @retval EFI_SUCCESS           Success.
+  @retval EFI_NOT_FOUND         If mandatory table is not found.
+  @retval EFI_ALREADY_STARTED   If mandatory table found in AcpiTableInfo is already installed.
+**/
+EFI_STATUS
+EFIAPI
+VerifyMandatoryTablesArePresent (
+  IN CONST CM_STD_OBJ_ACPI_TABLE_INFO  *CONST  AcpiTableInfo,
+  IN       UINT32                              AcpiTableCount
+  );
+
+#endif // DYNAMIC_TABLE_MANAGER_DXE_H_
diff --git a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/ArmDynamicTableManagerDxe.c b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/ArmDynamicTableManagerDxe.c
new file mode 100644
index 000000000000..19ba501752b9
--- /dev/null
+++ b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/ArmDynamicTableManagerDxe.c
@@ -0,0 +1,154 @@
+/** @file
+  ARM Dynamic Table Manager Dxe
+
+  Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Library/DebugLib.h>
+#include <Library/PcdLib.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Protocol/AcpiSystemDescriptionTable.h>
+#include <Protocol/AcpiTable.h>
+
+// Module specific include files.
+#include <AcpiTableGenerator.h>
+#include <ConfigurationManagerObject.h>
+#include <ConfigurationManagerHelper.h>
+#include <DeviceTreeTableGenerator.h>
+#include <Library/TableHelperLib.h>
+#include <Protocol/ConfigurationManagerProtocol.h>
+#include <Protocol/DynamicTableFactoryProtocol.h>
+#include "DynamicTableManagerDxe.h"
+
+///
+/// Order of ACPI table being verified during presence inspection.
+///
+#define ACPI_TABLE_VERIFY_FADT   0
+#define ACPI_TABLE_VERIFY_MADT   1
+#define ACPI_TABLE_VERIFY_GTDT   2
+#define ACPI_TABLE_VERIFY_DSDT   3
+#define ACPI_TABLE_VERIFY_DBG2   4
+#define ACPI_TABLE_VERIFY_SPCR   5
+#define ACPI_TABLE_VERIFY_COUNT  6
+
+///
+/// We require the FADT, MADT, GTDT and the DSDT tables to boot.
+/// This list also include optional ACPI tables: DBG2, SPCR.
+///
+ACPI_TABLE_PRESENCE_INFO  mAcpiVerifyTables[ACPI_TABLE_VERIFY_COUNT] = {
+  { EStdAcpiTableIdFadt, EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,            "FADT", TRUE,  0 },
+  { EStdAcpiTableIdMadt, EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE,         "MADT", TRUE,  0 },
+  { EStdAcpiTableIdGtdt, EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE,         "GTDT", TRUE,  0 },
+  { EStdAcpiTableIdDsdt, EFI_ACPI_6_2_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE, "DSDT", TRUE,  0 },
+  { EStdAcpiTableIdDbg2, EFI_ACPI_6_2_DEBUG_PORT_2_TABLE_SIGNATURE,                      "DBG2", FALSE, 0 },
+  { EStdAcpiTableIdSpcr, EFI_ACPI_6_2_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,   "SPCR", FALSE, 0 },
+};
+
+/** The function checks if the Configuration Manager has provided the
+    mandatory ACPI tables for installation.
+
+  @param [in]  AcpiTableInfo      Pointer to the ACPI Table Info list.
+  @param [in]  AcpiTableCount     Count of ACPI Table Info.
+
+  @retval EFI_SUCCESS           Success.
+  @retval EFI_NOT_FOUND         If mandatory table is not found.
+  @retval EFI_ALREADY_STARTED   If mandatory table found in AcpiTableInfo is already installed.
+**/
+EFI_STATUS
+EFIAPI
+VerifyMandatoryTablesArePresent (
+  IN CONST CM_STD_OBJ_ACPI_TABLE_INFO  *CONST  AcpiTableInfo,
+  IN       UINT32                              AcpiTableCount
+  )
+{
+  EFI_STATUS                   Status;
+  UINTN                        Handle;
+  UINTN                        Index;
+  UINTN                        InstalledTableIndex;
+  EFI_ACPI_DESCRIPTION_HEADER  *DescHeader;
+  EFI_ACPI_TABLE_VERSION       Version;
+  EFI_ACPI_SDT_PROTOCOL        *AcpiSdt;
+
+  ASSERT (AcpiTableInfo != NULL);
+
+  Status = EFI_SUCCESS;
+
+  // Check against the statically initialized ACPI tables to see if they are in ACPI info list
+  while (AcpiTableCount-- != 0) {
+    for (Index = 0; Index < ACPI_TABLE_VERIFY_COUNT; Index++) {
+      if (AcpiTableInfo[AcpiTableCount].AcpiTableSignature == mAcpiVerifyTables[Index].AcpiTableSignature) {
+        mAcpiVerifyTables[Index].Presence |= ACPI_TABLE_PRESENT_INFO_LIST;
+        // Found this table, skip the rest.
+        break;
+      }
+    }
+  }
+
+  // They also might be published already, so we can search from there
+  if (FeaturePcdGet (PcdInstallAcpiSdtProtocol)) {
+    AcpiSdt = NULL;
+    Status  = gBS->LocateProtocol (&gEfiAcpiSdtProtocolGuid, NULL, (VOID **)&AcpiSdt);
+
+    if (EFI_ERROR (Status) || (AcpiSdt == NULL)) {
+      DEBUG ((DEBUG_ERROR, "ERROR: Failed to locate ACPI SDT protocol (0x%p) - %r\n", AcpiSdt, Status));
+      return Status;
+    }
+
+    for (Index = 0; Index < ACPI_TABLE_VERIFY_COUNT; Index++) {
+      Handle              = 0;
+      InstalledTableIndex = 0;
+      do {
+        Status = AcpiSdt->GetAcpiTable (InstalledTableIndex, (EFI_ACPI_SDT_HEADER **)&DescHeader, &Version, &Handle);
+        if (EFI_ERROR (Status)) {
+          break;
+        }
+
+        InstalledTableIndex++;
+      } while (DescHeader->Signature != mAcpiVerifyTables[Index].AcpiTableSignature);
+
+      if (!EFI_ERROR (Status)) {
+        mAcpiVerifyTables[Index].Presence |= ACPI_TABLE_PRESENT_INSTALLED;
+      }
+    }
+  }
+
+  // Reset the return Status value to EFI_SUCCESS. We do not fully care if the table look up has failed.
+  Status = EFI_SUCCESS;
+  for (Index = 0; Index < ACPI_TABLE_VERIFY_COUNT; Index++) {
+    if (mAcpiVerifyTables[Index].Presence == 0) {
+      if (mAcpiVerifyTables[Index].IsMandatory) {
+        DEBUG ((DEBUG_ERROR, "ERROR: %a Table not found.\n", mAcpiVerifyTables[Index].AcpiTableName));
+        Status = EFI_NOT_FOUND;
+      } else {
+        DEBUG ((DEBUG_WARN, "WARNING: %a Table not found.\n", mAcpiVerifyTables[Index].AcpiTableName));
+      }
+    } else if (mAcpiVerifyTables[Index].Presence ==
+               (ACPI_TABLE_PRESENT_INFO_LIST | ACPI_TABLE_PRESENT_INSTALLED))
+    {
+      DEBUG ((DEBUG_ERROR, "ERROR: %a Table found while already published.\n", mAcpiVerifyTables[Index].AcpiTableName));
+      Status = EFI_ALREADY_STARTED;
+    }
+  }
+
+  return Status;
+}
+
+/** The function checks if the FADT table is present and installed
+
+  @retval TRUE          FADT is present and installed.
+  @retval FALSE         FADT is not present and installed.
+**/
+BOOLEAN
+IsFadtPresentInstalled (
+  VOID
+  )
+{
+  if ((mAcpiVerifyTables[ACPI_TABLE_VERIFY_FADT].Presence & ACPI_TABLE_PRESENT_INSTALLED) == 0) {
+    return FALSE;
+  }
+
+  return TRUE;
+}
diff --git a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c
index 1e9b811c4017..4f0e238636bc 100644
--- a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c
+++ b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c
@@ -22,58 +22,7 @@
 #include <Protocol/ConfigurationManagerProtocol.h>
 #include <Protocol/DynamicTableFactoryProtocol.h>
 #include <SmbiosTableGenerator.h>
-
-///
-/// Bit definitions for acceptable ACPI table presence formats.
-/// Currently only ACPI tables present in the ACPI info list and
-/// already installed will count towards "Table Present" during
-/// verification routine.
-///
-#define ACPI_TABLE_PRESENT_INFO_LIST  BIT0
-#define ACPI_TABLE_PRESENT_INSTALLED  BIT1
-
-///
-/// Order of ACPI table being verified during presence inspection.
-///
-#define ACPI_TABLE_VERIFY_FADT   0
-#define ACPI_TABLE_VERIFY_MADT   1
-#define ACPI_TABLE_VERIFY_GTDT   2
-#define ACPI_TABLE_VERIFY_DSDT   3
-#define ACPI_TABLE_VERIFY_DBG2   4
-#define ACPI_TABLE_VERIFY_SPCR   5
-#define ACPI_TABLE_VERIFY_COUNT  6
-
-///
-/// Private data structure to verify the presence of mandatory
-/// or optional ACPI tables.
-///
-typedef struct {
-  /// ESTD ID for the ACPI table of interest.
-  ESTD_ACPI_TABLE_ID    EstdTableId;
-  /// Standard UINT32 ACPI signature.
-  UINT32                AcpiTableSignature;
-  /// 4 character ACPI table name (the 5th char8 is for null terminator).
-  CHAR8                 AcpiTableName[sizeof (UINT32) + 1];
-  /// Indicator on whether the ACPI table is required.
-  BOOLEAN               IsMandatory;
-  /// Formats of verified presences, as defined by ACPI_TABLE_PRESENT_*
-  /// This field should be initialized to 0 and will be populated during
-  /// verification routine.
-  UINT16                Presence;
-} ACPI_TABLE_PRESENCE_INFO;
-
-///
-/// We require the FADT, MADT, GTDT and the DSDT tables to boot.
-/// This list also include optional ACPI tables: DBG2, SPCR.
-///
-ACPI_TABLE_PRESENCE_INFO  mAcpiVerifyTables[ACPI_TABLE_VERIFY_COUNT] = {
-  { EStdAcpiTableIdFadt, EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,            "FADT", TRUE,  0 },
-  { EStdAcpiTableIdMadt, EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE,         "MADT", TRUE,  0 },
-  { EStdAcpiTableIdGtdt, EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE,         "GTDT", TRUE,  0 },
-  { EStdAcpiTableIdDsdt, EFI_ACPI_6_2_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE, "DSDT", TRUE,  0 },
-  { EStdAcpiTableIdDbg2, EFI_ACPI_6_2_DEBUG_PORT_2_TABLE_SIGNATURE,                      "DBG2", FALSE, 0 },
-  { EStdAcpiTableIdSpcr, EFI_ACPI_6_2_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,   "SPCR", FALSE, 0 },
-};
+#include "DynamicTableManagerDxe.h"
 
 /** This macro expands to a function that retrieves the ACPI Table
     List from the Configuration Manager.
@@ -440,96 +389,6 @@ BuildAndInstallAcpiTable (
   return Status;
 }
 
-/** The function checks if the Configuration Manager has provided the
-    mandatory ACPI tables for installation.
-
-  @param [in]  AcpiTableInfo      Pointer to the ACPI Table Info list.
-  @param [in]  AcpiTableCount     Count of ACPI Table Info.
-
-  @retval EFI_SUCCESS           Success.
-  @retval EFI_NOT_FOUND         If mandatory table is not found.
-  @retval EFI_ALREADY_STARTED   If mandatory table found in AcpiTableInfo is already installed.
-**/
-STATIC
-EFI_STATUS
-EFIAPI
-VerifyMandatoryTablesArePresent (
-  IN CONST CM_STD_OBJ_ACPI_TABLE_INFO  *CONST  AcpiTableInfo,
-  IN       UINT32                              AcpiTableCount
-  )
-{
-  EFI_STATUS                   Status;
-  UINTN                        Handle;
-  UINTN                        Index;
-  UINTN                        InstalledTableIndex;
-  EFI_ACPI_DESCRIPTION_HEADER  *DescHeader;
-  EFI_ACPI_TABLE_VERSION       Version;
-  EFI_ACPI_SDT_PROTOCOL        *AcpiSdt;
-
-  ASSERT (AcpiTableInfo != NULL);
-
-  Status = EFI_SUCCESS;
-
-  // Check against the statically initialized ACPI tables to see if they are in ACPI info list
-  while (AcpiTableCount-- != 0) {
-    for (Index = 0; Index < ACPI_TABLE_VERIFY_COUNT; Index++) {
-      if (AcpiTableInfo[AcpiTableCount].AcpiTableSignature == mAcpiVerifyTables[Index].AcpiTableSignature) {
-        mAcpiVerifyTables[Index].Presence |= ACPI_TABLE_PRESENT_INFO_LIST;
-        // Found this table, skip the rest.
-        break;
-      }
-    }
-  }
-
-  // They also might be published already, so we can search from there
-  if (FeaturePcdGet (PcdInstallAcpiSdtProtocol)) {
-    AcpiSdt = NULL;
-    Status  = gBS->LocateProtocol (&gEfiAcpiSdtProtocolGuid, NULL, (VOID **)&AcpiSdt);
-
-    if (EFI_ERROR (Status) || (AcpiSdt == NULL)) {
-      DEBUG ((DEBUG_ERROR, "ERROR: Failed to locate ACPI SDT protocol (0x%p) - %r\n", AcpiSdt, Status));
-      return Status;
-    }
-
-    for (Index = 0; Index < ACPI_TABLE_VERIFY_COUNT; Index++) {
-      Handle              = 0;
-      InstalledTableIndex = 0;
-      do {
-        Status = AcpiSdt->GetAcpiTable (InstalledTableIndex, (EFI_ACPI_SDT_HEADER **)&DescHeader, &Version, &Handle);
-        if (EFI_ERROR (Status)) {
-          break;
-        }
-
-        InstalledTableIndex++;
-      } while (DescHeader->Signature != mAcpiVerifyTables[Index].AcpiTableSignature);
-
-      if (!EFI_ERROR (Status)) {
-        mAcpiVerifyTables[Index].Presence |= ACPI_TABLE_PRESENT_INSTALLED;
-      }
-    }
-  }
-
-  // Reset the return Status value to EFI_SUCCESS. We do not fully care if the table look up has failed.
-  Status = EFI_SUCCESS;
-  for (Index = 0; Index < ACPI_TABLE_VERIFY_COUNT; Index++) {
-    if (mAcpiVerifyTables[Index].Presence == 0) {
-      if (mAcpiVerifyTables[Index].IsMandatory) {
-        DEBUG ((DEBUG_ERROR, "ERROR: %a Table not found.\n", mAcpiVerifyTables[Index].AcpiTableName));
-        Status = EFI_NOT_FOUND;
-      } else {
-        DEBUG ((DEBUG_WARN, "WARNING: %a Table not found.\n", mAcpiVerifyTables[Index].AcpiTableName));
-      }
-    } else if (mAcpiVerifyTables[Index].Presence ==
-               (ACPI_TABLE_PRESENT_INFO_LIST | ACPI_TABLE_PRESENT_INSTALLED))
-    {
-      DEBUG ((DEBUG_ERROR, "ERROR: %a Table found while already published.\n", mAcpiVerifyTables[Index].AcpiTableName));
-      Status = EFI_ALREADY_STARTED;
-    }
-  }
-
-  return Status;
-}
-
 /** Generate and install ACPI tables.
 
   The function gathers the information necessary for installing the
@@ -623,7 +482,7 @@ ProcessAcpiTables (
   }
 
   // Add the FADT Table first.
-  if ((mAcpiVerifyTables[ACPI_TABLE_VERIFY_FADT].Presence & ACPI_TABLE_PRESENT_INSTALLED) == 0) {
+  if (IsFadtPresentInstalled () == FALSE) {
     // FADT is not yet installed
     for (Idx = 0; Idx < AcpiTableCount; Idx++) {
       if (CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdFadt) ==
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 18/20] DynamicTablesPkg: X86: Add interfaces to succeed CI tests
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (16 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 17/20] DynamicTablesPkg: DynamicTableManagerDxe: Refactor to allow other archs Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 19/20] DynamicTablesPkg/AmlLib: Fix typo Sunil V L
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

CI tests builds DynamicTablesPkg even for X86. Though the current ACPI
table list is very ARM specific, it looks like there is a value in
building it for x86. So, add dummy interfaces to help CI tests to
succeed.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 .../DynamicTableManagerDxe.inf                |  5 ++-
 .../X86DynamicTableManagerDxe.c               | 44 +++++++++++++++++++
 2 files changed, 48 insertions(+), 1 deletion(-)
 create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/X86DynamicTableManagerDxe.c

diff --git a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
index b49f6b811691..646454a64bc2 100644
--- a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
+++ b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
@@ -17,7 +17,7 @@ [Defines]
 #
 # The following information is for reference only and not required by the build tools.
 #
-#  VALID_ARCHITECTURES           = ARM AARCH64
+#  VALID_ARCHITECTURES           = ARM AARCH64 IA32 X64
 #
 
 [Sources]
@@ -27,6 +27,9 @@ [Sources]
 [Sources.ARM, Sources.AARCH64]
   ArmDynamicTableManagerDxe.c
 
+[Sources.IA32, Sources.X64]
+  X86DynamicTableManagerDxe.c
+
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
diff --git a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/X86DynamicTableManagerDxe.c b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/X86DynamicTableManagerDxe.c
new file mode 100644
index 000000000000..f8b35eeb1c3c
--- /dev/null
+++ b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/X86DynamicTableManagerDxe.c
@@ -0,0 +1,44 @@
+/** @file
+  X86 Dynamic Table Manager Dxe
+
+  Copyright (c) 2024, Ventana Micro Systems Inc. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <AcpiTableGenerator.h>
+#include <ConfigurationManagerObject.h>
+#include "DynamicTableManagerDxe.h"
+
+// TODO: Dummy interfaces for X86 for now.
+
+/** The function checks if the Configuration Manager has provided the
+    mandatory ACPI tables for installation.
+
+  @param [in]  AcpiTableInfo      Pointer to the ACPI Table Info list.
+  @param [in]  AcpiTableCount     Count of ACPI Table Info.
+
+  @retval EFI_SUCCESS             Success.
+**/
+EFI_STATUS
+EFIAPI
+VerifyMandatoryTablesArePresent (
+  IN CONST CM_STD_OBJ_ACPI_TABLE_INFO  *CONST  AcpiTableInfo,
+  IN       UINT32                              AcpiTableCount
+  )
+{
+  return EFI_SUCCESS;
+}
+
+/** The function checks if the FADT table is present and installed
+
+  @retval TRUE          FADT is present and installed.
+**/
+BOOLEAN
+IsFadtPresentInstalled (
+  VOID
+  )
+{
+  return TRUE;
+}
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 19/20] DynamicTablesPkg/AmlLib: Fix typo
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (17 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 18/20] DynamicTablesPkg: X86: Add interfaces to succeed CI tests Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 20/20] DynamicTablesPkg.ci.yaml: Update exception and ignore list Sunil V L
  2024-01-09 18:37 ` [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Jeshua Smith via groups.io
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

For some reason, spell checker in CI finds this typo though it existed
earlier.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 DynamicTablesPkg/Library/Common/AmlLib/Parser/AmlParser.c | 2 +-
 DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/DynamicTablesPkg/Library/Common/AmlLib/Parser/AmlParser.c b/DynamicTablesPkg/Library/Common/AmlLib/Parser/AmlParser.c
index d3a51a94c70c..3762441c7a71 100644
--- a/DynamicTablesPkg/Library/Common/AmlLib/Parser/AmlParser.c
+++ b/DynamicTablesPkg/Library/Common/AmlLib/Parser/AmlParser.c
@@ -330,7 +330,7 @@ AmlParseString (
   StrSize = 0;
   // AML String is NULL terminated.
   do {
-    // Reading the stream moves the stream forward aswell.
+    // Reading the stream moves the stream forward as well.
     Status = AmlStreamReadByte (FStream, &Byte);
     if (EFI_ERROR (Status)) {
       ASSERT (0);
diff --git a/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c b/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c
index 1404a2182b65..0a744f1ff3fa 100644
--- a/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c
+++ b/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c
@@ -573,7 +573,7 @@ AmlIsMethodDefinitionNode (
 {
   AML_DATA_NODE  *ObjectType;
 
-  // Node is checked to be an object node aswell.
+  // Node is checked to be an object node as well.
   if (AmlNodeCompareOpCode (Node, AML_METHOD_OP, 0)) {
     return TRUE;
   } else if (AmlNodeCompareOpCode (Node, AML_EXTERNAL_OP, 0)) {
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [edk2-devel] [RFC PATCH v1 20/20] DynamicTablesPkg.ci.yaml: Update exception and ignore list
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (18 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 19/20] DynamicTablesPkg/AmlLib: Fix typo Sunil V L
@ 2024-01-09 16:29 ` Sunil V L
  2024-01-09 18:37 ` [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Jeshua Smith via groups.io
  20 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-09 16:29 UTC (permalink / raw)
  To: devel
  Cc: Sunil V L, Ard Biesheuvel, Leif Lindholm, Pierre Gondois,
	Sami Mujawar

GICV, GICH and MPIDR are variables defined in GicCInfo structure which
probably needs to match AcpiTable.g to be all capital. But this is
against EDK2 coding standards and somehow CI gives error now though it
exists currently also. Add them to ignore list unless there is a better
way.

Add EARCH and NAMESPACEID to ignore list of the spell checker to keep CI
happy.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 DynamicTablesPkg/DynamicTablesPkg.ci.yaml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/DynamicTablesPkg/DynamicTablesPkg.ci.yaml b/DynamicTablesPkg/DynamicTablesPkg.ci.yaml
index 42829f393e69..2bf8859d6c9e 100644
--- a/DynamicTablesPkg/DynamicTablesPkg.ci.yaml
+++ b/DynamicTablesPkg/DynamicTablesPkg.ci.yaml
@@ -24,6 +24,9 @@
         "9005", "@ingroup",       # Use extra Doxygen commands
         "9005", "@mainpage",      # Use extra Doxygen commands
         "9005", "@ref",           # Use extra Doxygen commands
+        "8005", "CM_ARCH_GICC_INFO.GICV",
+        "8005", "CM_ARCH_GICC_INFO.GICH",
+        "8005", "CM_ARCH_GICC_INFO.MPIDR",
         ],
         ## Both file path and directory path are accepted.
         "IgnoreFiles": [
@@ -128,7 +131,9 @@
            "TABLEEX",
            "TNSID",
            "Vatos",
-           "WBINVD"
+           "WBINVD",
+           "EARCH",
+           "NAMESPACEID"
            ],           # words to extend to the dictionary for this package
         "IgnoreStandardPaths": [],   # Standard Plugin defined paths that
                                      # should be ignore
-- 
2.34.1



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



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support
  2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
                   ` (19 preceding siblings ...)
  2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 20/20] DynamicTablesPkg.ci.yaml: Update exception and ignore list Sunil V L
@ 2024-01-09 18:37 ` Jeshua Smith via groups.io
  2024-01-10  4:20   ` Sunil V L
  20 siblings, 1 reply; 26+ messages in thread
From: Jeshua Smith via groups.io @ 2024-01-09 18:37 UTC (permalink / raw)
  To: devel@edk2.groups.io, sunilvl@ventanamicro.com
  Cc: Ard Biesheuvel, Leif Lindholm, Pierre Gondois, Sami Mujawar,
	Andrei Warkentin, Laszlo Ersek, AbdulLateef Attar, Jeff Brasen

> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sunil V L
> via groups.io
> Sent: Tuesday, January 9, 2024 9:29 AM
> DynamicTablesPkg can be used by RISC-V platforms to generate ACPI tables
> from FDT passed from previous stage FW. However, DynamicTablesPkg
> currently is ARM specific even though several parsers and ACPI generators can
> be used across architectures. For ex: SSDT (PCIe), SSDT (CPU), MCFG, SPCR,
> DBG2, FADT, SRAT, Raw (DSDT) are mostly common across architectures. Only
> MADT, IORT and GTDT are ARM specific.
> 
> This series tries to refactor the DynamicTablesPkg so that RISC-V support can
> be added fairly easily later.

It looks like instead of moving the common code to EObjNameSpaceStandard namespace or a new (Arch? Common?) namespace, you're renaming the entire EObjNameSpaceArm namespace to EObjNameSpaceArch. It seems to me that if ARM code vs. common code is being separated out, then the EObjNameSpaceArm namespace should continue to be used for the ARM-specific code and a common namespace should be used for the common code.


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



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support
  2024-01-09 18:37 ` [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Jeshua Smith via groups.io
@ 2024-01-10  4:20   ` Sunil V L
  2024-01-10 21:56     ` Jeshua Smith via groups.io
  0 siblings, 1 reply; 26+ messages in thread
From: Sunil V L @ 2024-01-10  4:20 UTC (permalink / raw)
  To: Jeshua Smith
  Cc: devel@edk2.groups.io, Ard Biesheuvel, Leif Lindholm,
	Pierre Gondois, Sami Mujawar, Andrei Warkentin, Laszlo Ersek,
	AbdulLateef Attar, Jeff Brasen

Hi Jeshua,

On Tue, Jan 09, 2024 at 06:37:43PM +0000, Jeshua Smith wrote:
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sunil V L
> > via groups.io
> > Sent: Tuesday, January 9, 2024 9:29 AM
> > DynamicTablesPkg can be used by RISC-V platforms to generate ACPI tables
> > from FDT passed from previous stage FW. However, DynamicTablesPkg
> > currently is ARM specific even though several parsers and ACPI generators can
> > be used across architectures. For ex: SSDT (PCIe), SSDT (CPU), MCFG, SPCR,
> > DBG2, FADT, SRAT, Raw (DSDT) are mostly common across architectures. Only
> > MADT, IORT and GTDT are ARM specific.
> > 
> > This series tries to refactor the DynamicTablesPkg so that RISC-V support can
> > be added fairly easily later.
> 
> It looks like instead of moving the common code to EObjNameSpaceStandard namespace or a new (Arch? Common?) namespace, you're renaming the entire EObjNameSpaceArm namespace to EObjNameSpaceArch. It seems to me that if ARM code vs. common code is being separated out, then the EObjNameSpaceArm namespace should continue to be used for the ARM-specific code and a common namespace should be used for the common code.

I agree. I started with separating common things into new common space
and create one for risc-v. However, I dropped that approach for two
reasons.

1) The commit "b2bbe3df5470 DynamicTablesPkg: Remove PPTT ID structure
from ACPI 6.4 generator" when removed one of the enums from ArmObjectID,
didn't change the other values for other enums but reserved the removed
one. So, I thought there may be some assumptions which will break if the
enum value changes.

2) DynamicPlatformRepositoryInfo structure has ArmCmObjList and
ArmCmObjArray. With separate spaces for Arm, RiscV and Common, list
management needs some redesign and I was not sure it is worth it.

Hence, I thought a single list of all possible Obj Ids for all
architectures and common things would be a good trade off. But I can go
back to that approach in v2 if above issues are fine.

Thanks!
Sunil


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



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support
  2024-01-10  4:20   ` Sunil V L
@ 2024-01-10 21:56     ` Jeshua Smith via groups.io
  2024-01-22 17:15       ` Sami Mujawar
  0 siblings, 1 reply; 26+ messages in thread
From: Jeshua Smith via groups.io @ 2024-01-10 21:56 UTC (permalink / raw)
  To: Sunil V L
  Cc: devel@edk2.groups.io, Ard Biesheuvel, Leif Lindholm,
	Pierre Gondois, Sami Mujawar, Andrei Warkentin, Laszlo Ersek,
	AbdulLateef Attar, Jeff Brasen

> > It looks like instead of moving the common code to
> EObjNameSpaceStandard namespace or a new (Arch? Common?) namespace,
> you're renaming the entire EObjNameSpaceArm namespace to
> EObjNameSpaceArch. It seems to me that if ARM code vs. common code is
> being separated out, then the EObjNameSpaceArm namespace should
> continue to be used for the ARM-specific code and a common namespace
> should be used for the common code.
> 
> I agree. I started with separating common things into new common space and
> create one for risc-v. However, I dropped that approach for two reasons.
> 
> 1) The commit "b2bbe3df5470 DynamicTablesPkg: Remove PPTT ID structure
> from ACPI 6.4 generator" when removed one of the enums from
> ArmObjectID, didn't change the other values for other enums but reserved the
> removed one. So, I thought there may be some assumptions which will break
> if the enum value changes.

I'm not familiar with why that was done. Hopefully someone else can comment. I do know that edk2/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c has arrays (StdNamespaceObjectParser and ArmNamespaceObjectParser) that need to be kept in sync with all of the namespace enums, but other than that I'm not aware of any places that need to be changes when the enums are changed.

> 2) DynamicPlatformRepositoryInfo structure has ArmCmObjList and
> ArmCmObjArray. With separate spaces for Arm, RiscV and Common, list
> management needs some redesign and I was not sure it is worth it.
> 
> Hence, I thought a single list of all possible Obj Ids for all architectures and
> common things would be a good trade off. But I can go back to that approach
> in v2 if above issues are fine.

Hopefully ARM can give input on the best direction before you make more changes. The DynamicPlatRepo currently only supports the ARM namespace, but comments such as "only Arm objects are supported for now." (line 144) seem to imply that support for more namespaces was considered.


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



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support
  2024-01-10 21:56     ` Jeshua Smith via groups.io
@ 2024-01-22 17:15       ` Sami Mujawar
  2024-01-23  7:01         ` Sunil V L
  0 siblings, 1 reply; 26+ messages in thread
From: Sami Mujawar @ 2024-01-22 17:15 UTC (permalink / raw)
  To: Jeshua Smith, Sunil V L, Pierre Gondois, devel@edk2.groups.io
  Cc: Ard Biesheuvel, Leif Lindholm, Andrei Warkentin, Laszlo Ersek,
	AbdulLateef Attar, Jeff Brasen (jbrasen@nvidia.com), Yeo Reum Yun,
	Meenakshi Aggarwal (meenakshi.aggarwal@nxp.com), Girish Mahadevan,
	nd

Hi All,

DynamicTablesPkg currently supports Arm architecture, and we welcome the adoption by other architectures.

Following is my proposal for moving forward.

Goals:
- reuse common code
- streamline the adoption by other architectures
- minimise the impact on migration of the existing platforms
- maintain flexibility across architectural components
- use this opportunity to integrate Dynamic SMBIOS support
  (Ref: https://edk2.groups.io/g/devel/message/107254)

The following steps would help in achieving the goals:
1.  Create an edk2 staging branch. For the edk2-platforms updates, I will create a branch on my Github fork (note this is required as there is no staging repo for edk2-platforms).
2. The design aspects and changes shall be discussed on the mailing list with patches to support the details.
3. A new section in DynamicTablesPkg\Readme.md shall be added to reflect the design updates, e.g. changes to CM Objects, Namespace definitions, etc.
4.  The design changes should typically be supported by patches for the DynamicTables core framework and demonstrate the impact on the existing platform code by typically providing patches for at least one existing platform (possibly edk2-platforms/Platform/ARM/[Juno | FVP]).
5. The design changes should be small and typically be reflected in separate patch series.
6. The first phase would be to partition the codebase into common code vs architectural specific code. This would involve moving files and reflecting the associated changes such that the build does not break.
7. Define a new namespace e.g. “ArchCommon” for the common architectural components.
8. Identify the CM_ARM_OBJECTs that can be moved to the “ArchCommon” namespace. As part of this identify if any object needs to be dropped, e.g. EArmObjReserved29
9. Identify overlap of SMBIOS objects with existing CM Objects.
10. Submit patches to move CM objects from Arm Namespace to ArchCommon Namespace. Ideally one object (and any dependencies) should be moved at a time.
11. Submit patches to migrate upstream platforms that use DynamicTablesPkg
12. Define a new namespace for RISCV specific objects
13. Submit patches for enabling RISCV
14. In the next phase support for Dynamic SMBIOS can be enabled.

Notes: 
a. Periodically rebase with edk2 & edk2-platforms master branch to sync with latest changes.
b. We can decide to merge the updates after point 11 above to edk2 & edk2-platforms master branch.
c. Similarly, the RISCV support can be merged after point 13.

I will send out a request for creating the staging branch shortly.

Regards,

Sami Mujawar

On 10/01/2024, 21:56, "Jeshua Smith" <jeshuas@nvidia.com <mailto:jeshuas@nvidia.com>> wrote:


> > It looks like instead of moving the common code to
> EObjNameSpaceStandard namespace or a new (Arch? Common?) namespace,
> you're renaming the entire EObjNameSpaceArm namespace to
> EObjNameSpaceArch. It seems to me that if ARM code vs. common code is
> being separated out, then the EObjNameSpaceArm namespace should
> continue to be used for the ARM-specific code and a common namespace
> should be used for the common code.
> 
> I agree. I started with separating common things into new common space and
> create one for risc-v. However, I dropped that approach for two reasons.
> 
> 1) The commit "b2bbe3df5470 DynamicTablesPkg: Remove PPTT ID structure
> from ACPI 6.4 generator" when removed one of the enums from
> ArmObjectID, didn't change the other values for other enums but reserved the
> removed one. So, I thought there may be some assumptions which will break
> if the enum value changes.


I'm not familiar with why that was done. Hopefully someone else can comment. I do know that edk2/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c has arrays (StdNamespaceObjectParser and ArmNamespaceObjectParser) that need to be kept in sync with all of the namespace enums, but other than that I'm not aware of any places that need to be changes when the enums are changed.


> 2) DynamicPlatformRepositoryInfo structure has ArmCmObjList and
> ArmCmObjArray. With separate spaces for Arm, RiscV and Common, list
> management needs some redesign and I was not sure it is worth it.
> 
> Hence, I thought a single list of all possible Obj Ids for all architectures and
> common things would be a good trade off. But I can go back to that approach
> in v2 if above issues are fine.


Hopefully ARM can give input on the best direction before you make more changes. The DynamicPlatRepo currently only supports the ARM namespace, but comments such as "only Arm objects are supported for now." (line 144) seem to imply that support for more namespaces was considered.





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



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support
  2024-01-22 17:15       ` Sami Mujawar
@ 2024-01-23  7:01         ` Sunil V L
  0 siblings, 0 replies; 26+ messages in thread
From: Sunil V L @ 2024-01-23  7:01 UTC (permalink / raw)
  To: Sami Mujawar
  Cc: Jeshua Smith, Pierre Gondois, devel@edk2.groups.io,
	Ard Biesheuvel, Leif Lindholm, Andrei Warkentin, Laszlo Ersek,
	AbdulLateef Attar, Jeff Brasen (jbrasen@nvidia.com), Yeo Reum Yun,
	Meenakshi Aggarwal (meenakshi.aggarwal@nxp.com), Girish Mahadevan,
	nd

Hi Sami,

On Mon, Jan 22, 2024 at 05:15:44PM +0000, Sami Mujawar wrote:
> Hi All,
> 
> DynamicTablesPkg currently supports Arm architecture, and we welcome the adoption by other architectures.
> 
> Following is my proposal for moving forward.
> 
> Goals:
> - reuse common code
> - streamline the adoption by other architectures
> - minimise the impact on migration of the existing platforms
> - maintain flexibility across architectural components
> - use this opportunity to integrate Dynamic SMBIOS support
>   (Ref: https://edk2.groups.io/g/devel/message/107254)
> 
> The following steps would help in achieving the goals:
> 1.  Create an edk2 staging branch. For the edk2-platforms updates, I will create a branch on my Github fork (note this is required as there is no staging repo for edk2-platforms).
> 2. The design aspects and changes shall be discussed on the mailing list with patches to support the details.
> 3. A new section in DynamicTablesPkg\Readme.md shall be added to reflect the design updates, e.g. changes to CM Objects, Namespace definitions, etc.
> 4.  The design changes should typically be supported by patches for the DynamicTables core framework and demonstrate the impact on the existing platform code by typically providing patches for at least one existing platform (possibly edk2-platforms/Platform/ARM/[Juno | FVP]).
> 5. The design changes should be small and typically be reflected in separate patch series.
> 6. The first phase would be to partition the codebase into common code vs architectural specific code. This would involve moving files and reflecting the associated changes such that the build does not break.
> 7. Define a new namespace e.g. “ArchCommon” for the common architectural components.
> 8. Identify the CM_ARM_OBJECTs that can be moved to the “ArchCommon” namespace. As part of this identify if any object needs to be dropped, e.g. EArmObjReserved29
> 9. Identify overlap of SMBIOS objects with existing CM Objects.
> 10. Submit patches to move CM objects from Arm Namespace to ArchCommon Namespace. Ideally one object (and any dependencies) should be moved at a time.
> 11. Submit patches to migrate upstream platforms that use DynamicTablesPkg
> 12. Define a new namespace for RISCV specific objects
> 13. Submit patches for enabling RISCV
> 14. In the next phase support for Dynamic SMBIOS can be enabled.
> 
> Notes: 
> a. Periodically rebase with edk2 & edk2-platforms master branch to sync with latest changes.
> b. We can decide to merge the updates after point 11 above to edk2 & edk2-platforms master branch.
> c. Similarly, the RISCV support can be merged after point 13.
> 
> I will send out a request for creating the staging branch shortly.
> 
This is great!. I think staging branches is a great idea considering the
amount of changes this work needs. Thank you very much!.

I can send small patch sets to partition the code base as per #6 along
with documentation changes. Let me know once staging branches are
created.

Thanks!
Sunil


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



^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2024-01-23  7:01 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-09 16:29 [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 01/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM parsers to Arm directory Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 02/20] DynamicTablesPkg: Move common ACPI libraries from folder Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 03/20] DynamicTablesPkg: Update ACPI common libraries BASE_NAME Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 04/20] DynamicTablesPkg: Rename ArmNameSpaceObjects to ArchNameSpaceObjects Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 05/20] DynamicTablesPkg: DynamicPlatRepoLib: Rename ArmObjList as ArchObjList Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 06/20] DynamicTablesPkg: Rename EObjNameSpaceArm to EObjNameSpaceArch Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 07/20] DynamicTablesPkg: FdtHwInfoParserLib: Separate ARM specific code Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 08/20] DynamicTablesPkg: FdtHwInfoParserLib: Pci: Make it common for architectures Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 09/20] DynamicTablesPkg: FdtHwInfoParserLib: Make Serial parser arch neutral Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 10/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ArmLib.h to ArmGicCParser.c Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 11/20] DynamicTablesPkg: TableHelperLib: Populate OemTableId using ConfigManager Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 12/20] DynamicTablesPkg: Add CreatorId in CM_STD_OBJ_CONFIGURATION_MANAGER_INFO Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 13/20] DynamicTablesPkg: FdtHwInfoParserLib: Move ARM utilities to separate file Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 14/20] DynamicTablesPkg/FdtHwInfoParserLib: Add function for INTC address cells Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 15/20] DynamicTablesPkg: AcpiSsdtCpuTopologyLib: Move GICC from common code Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 16/20] DynamicTablesPkg: AcpiFadtLib: Move ArmBootArch to ARM specific file Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 17/20] DynamicTablesPkg: DynamicTableManagerDxe: Refactor to allow other archs Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 18/20] DynamicTablesPkg: X86: Add interfaces to succeed CI tests Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 19/20] DynamicTablesPkg/AmlLib: Fix typo Sunil V L
2024-01-09 16:29 ` [edk2-devel] [RFC PATCH v1 20/20] DynamicTablesPkg.ci.yaml: Update exception and ignore list Sunil V L
2024-01-09 18:37 ` [edk2-devel] [RFC PATCH v1 00/20] DynamicTablesPkg: Prepare to add RISC-V support Jeshua Smith via groups.io
2024-01-10  4:20   ` Sunil V L
2024-01-10 21:56     ` Jeshua Smith via groups.io
2024-01-22 17:15       ` Sami Mujawar
2024-01-23  7:01         ` Sunil V L

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox