The DynamicTables framework has mainly been developed/tested against Arm
architecture. While still trying to have re-usable libraries, opening the
framework to other architectures implies some re-organization.

The libraries that are generic enough to be directly re-used are moved
to a Common/ directory. For some libraries, additional arch-specific hooks
have been added to allow architectures specific modifications.

---

Changes can be seen at:
  https://github.com/pierregondois/edk2/tree/pg/dyntables_libraries_reorg

---

References:
1. Staging branch creation:
   URL: https://edk2.groups.io/g/devel/message/114790

2. edk2-staging Repo
   URL: https://github.com/tianocore/edk2-staging.git
   Branch Name: dynamictables-reorg

3. edk2-platforms Repo
   URL: https://github.com/tianocore/edk2-platforms.git
   Branch Name: devel-dynamictables-reorg

---

Cc: AbdulLateef Attar <abdullateef.at...@amd.com>
Cc: Girish Mahadevan <gmahade...@nvidia.com>
Cc: Jeff Brasen <jbra...@nvidia.com>
Cc: Jeshua Smith <jesh...@nvidia.com>
Cc: Leif Lindholm <quic_llind...@quicinc.com>
Cc: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>
Cc: Pierre Gondois <pierre.gond...@arm.com>
Cc: Sami Mujawar <sami.muja...@arm.com>
Cc: Sunil V L <suni...@ventanamicro.com>
Cc: Yeo Reum Yun <yeoreum....@arm.com>

Pierre Gondois (15):
  DynamicTablesPkg: Acpi: Move generic libraries to common folder
  DynamicTablesPkg: Acpi: Prepare common libraries to support other
    archs
  DynamicTablesPkg: AcpiFadtLib: Prepare to support other archs
  DynamicTablesPkg: AcpiDbg2Lib: Prepare to support other archs
  DynamicTablesPkg: AcpiSpcrLib: Prepare to support other archs
  DynamicTablesPkg: AcpiSratLib: Prepare to support other archs
  DynamicTablesPkg: AcpiSsdtCpuTopologyLib: Avoid dependency on GICC
  DynamicTablesPkg: DynamicTableManagerDxe: Refactor PresenceArray
  DynamicTablesPkg: FdtHwInfoParserLib: Move ARM parsers to Arm
    directory
  DynamicTablesPkg: FdtHwInfoParserLib: Refactor to prepare for other
    archs
  DynamicTablesPkg: FdtHwInfoParserLib: Make Pci parser arch neutral
  DynamicTablesPkg: FdtHwInfoParserLib: Make Serial Port parser arch
    neutral
  DynamicTablesPkg: FdtHwInfoParserLib: Move ArmLib.h to ArmGicCParser.c
  DynamicTablesPkg: FdtHwInfoParserLib: Move IRQ map to arch folder
  DynamicTablesPkg: FdtHwInfoParserLib: Create wrapper to get INTC addr
    cells

 .../Arm/ArmDynamicTableManagerDxe.c           |  63 +++
 .../Common/CommonDynamicTableManagerDxe.c     |  58 +++
 .../DynamicTableManagerDxe.c                  |  70 +--
 .../DynamicTableManagerDxe.h                  |  63 +++
 .../DynamicTableManagerDxe.inf                |   7 +
 DynamicTablesPkg/DynamicTables.dsc.inc        |  64 +--
 .../SsdtCpuTopologyGenerator.h                | 147 -------
 .../AcpiDbg2Lib/AcpiDbg2Lib.inf}              |  22 +-
 .../Common/AcpiDbg2Lib/Arm/ArmDbg2Generator.c |  67 +++
 .../AcpiDbg2Lib/Common/CommonDbg2Generator.c  |  59 +++
 .../AcpiDbg2Lib}/Dbg2Generator.c              |  24 +-
 .../Acpi/Common/AcpiDbg2Lib/Dbg2Generator.h   |  56 +++
 .../AcpiFadtLib/AcpiFadtLib.inf}              |  16 +-
 .../Common/AcpiFadtLib/Arm/ArmFadtGenerator.c | 126 ++++++
 .../AcpiFadtLib/Common/CommonFadtGenerator.c  |  46 ++
 .../AcpiFadtLib}/FadtGenerator.c              |  86 +---
 .../Acpi/Common/AcpiFadtLib/FadtGenerator.h   |  35 ++
 .../AcpiMcfgLib/AcpiMcfgLib.inf}              |   9 +-
 .../AcpiMcfgLib}/McfgGenerator.c              |   0
 .../AcpiPcctLib/AcpiPcctLib.inf}              |   2 +-
 .../AcpiPcctLib}/PcctGenerator.c              |   0
 .../AcpiPcctLib}/PcctGenerator.h              |   0
 .../AcpiPpttLib/AcpiPpttLib.inf}              |   2 +-
 .../AcpiPpttLib}/PpttGenerator.c              |   0
 .../AcpiPpttLib}/PpttGenerator.h              |   0
 .../AcpiRawLib/AcpiRawLib.inf}                |   9 +-
 .../AcpiRawLib}/RawGenerator.c                |   0
 .../AcpiSpcrLib/AcpiSpcrLib.inf}              |   9 +-
 .../AcpiSpcrLib}/SpcrGenerator.c              |   2 +-
 .../AcpiSratLib/AcpiSratLib.inf}              |   9 +-
 .../Common/AcpiSratLib/Arm/ArmSratGenerator.c | 262 +++++++++++
 .../AcpiSratLib/Common/CommonSratGenerator.c  |  77 ++++
 .../AcpiSratLib}/SratGenerator.c              | 214 +--------
 .../Acpi/Common/AcpiSratLib/SratGenerator.h   |  59 +++
 .../Arm/ArmSsdtCpuTopologyGenerator.c         | 408 ++++++++++++++++++
 .../SsdtCpuTopologyGenerator.c                | 341 ++-------------
 .../SsdtCpuTopologyGenerator.h                | 343 +++++++++++++++
 .../SsdtCpuTopologyLib.inf}                   |   9 +-
 .../AcpiSsdtPcieLib}/SsdtPcieGenerator.c      |   2 +-
 .../AcpiSsdtPcieLib}/SsdtPcieGenerator.h      |   0
 .../AcpiSsdtPcieLib/SsdtPcieLib.inf}          |   2 +-
 .../SsdtSerialPortGenerator.c                 |   0
 .../SsdtSerialPortLib.inf}                    |   6 +-
 .../Arm/ArmFdtHwInfoParser.c                  |  83 ++++
 .../FdtHwInfoParserLib/Arm/ArmFdtUtility.c    | 118 +++++
 .../{ => Arm}/BootArch/ArmBootArchParser.c    |   2 +-
 .../{ => Arm}/BootArch/ArmBootArchParser.h    |   0
 .../GenericTimer/ArmGenericTimerParser.c      |   4 +-
 .../GenericTimer/ArmGenericTimerParser.h      |   0
 .../{ => Arm}/Gic/ArmGicCParser.c             |   5 +-
 .../{ => Arm}/Gic/ArmGicCParser.h             |   0
 .../{ => Arm}/Gic/ArmGicDParser.c             |   4 +-
 .../{ => Arm}/Gic/ArmGicDParser.h             |   0
 .../{ => Arm}/Gic/ArmGicDispatcher.c          |  12 +-
 .../{ => Arm}/Gic/ArmGicDispatcher.h          |   0
 .../{ => Arm}/Gic/ArmGicItsParser.c           |   4 +-
 .../{ => Arm}/Gic/ArmGicItsParser.h           |   0
 .../{ => Arm}/Gic/ArmGicMsiFrameParser.c      |   4 +-
 .../{ => Arm}/Gic/ArmGicMsiFrameParser.h      |   0
 .../{ => Arm}/Gic/ArmGicRParser.c             |   4 +-
 .../{ => Arm}/Gic/ArmGicRParser.h             |   0
 .../FdtHwInfoParserLib/FdtHwInfoParser.c      |  78 +---
 .../FdtHwInfoParserLib/FdtHwInfoParser.h      |  27 ++
 .../FdtHwInfoParserInclude.h                  |   1 -
 .../FdtHwInfoParserLib/FdtHwInfoParserLib.inf |  48 ++-
 .../Library/FdtHwInfoParserLib/FdtUtility.c   |  71 ---
 .../Library/FdtHwInfoParserLib/FdtUtility.h   |  30 ++
 ...igSpaceParser.c => PciConfigSpaceParser.c} |  19 +-
 ...igSpaceParser.h => PciConfigSpaceParser.h} |  10 +-
 ...mSerialPortParser.c => SerialPortParser.c} |  16 +-
 ...mSerialPortParser.h => SerialPortParser.h} |   8 +-
 71 files changed, 2248 insertions(+), 1074 deletions(-)
 create mode 100644 
DynamicTablesPkg/Drivers/DynamicTableManagerDxe/Arm/ArmDynamicTableManagerDxe.c
 create mode 100644 
DynamicTablesPkg/Drivers/DynamicTableManagerDxe/Common/CommonDynamicTableManagerDxe.c
 create mode 100644 
DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.h
 delete mode 100644 
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.h
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf => 
Common/AcpiDbg2Lib/AcpiDbg2Lib.inf} (75%)
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Arm/ArmDbg2Generator.c
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Common/CommonDbg2Generator.c
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiDbg2LibArm => 
Common/AcpiDbg2Lib}/Dbg2Generator.c (93%)
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/Dbg2Generator.h
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf => 
Common/AcpiFadtLib/AcpiFadtLib.inf} (75%)
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/Arm/ArmFadtGenerator.c
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/Common/CommonFadtGenerator.c
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiFadtLibArm => 
Common/AcpiFadtLib}/FadtGenerator.c (87%)
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/FadtGenerator.h
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf => 
Common/AcpiMcfgLib/AcpiMcfgLib.inf} (85%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiMcfgLibArm => 
Common/AcpiMcfgLib}/McfgGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf => 
Common/AcpiPcctLib/AcpiPcctLib.inf} (90%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm => 
Common/AcpiPcctLib}/PcctGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPcctLibArm => 
Common/AcpiPcctLib}/PcctGenerator.h (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf => 
Common/AcpiPpttLib/AcpiPpttLib.inf} (90%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm => 
Common/AcpiPpttLib}/PpttGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiPpttLibArm => 
Common/AcpiPpttLib}/PpttGenerator.h (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiRawLibArm/AcpiRawLibArm.inf => 
Common/AcpiRawLib/AcpiRawLib.inf} (85%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiRawLibArm => 
Common/AcpiRawLib}/RawGenerator.c (100%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf => 
Common/AcpiSpcrLib/AcpiSpcrLib.inf} (86%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSpcrLibArm => 
Common/AcpiSpcrLib}/SpcrGenerator.c (96%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSratLibArm/AcpiSratLibArm.inf => 
Common/AcpiSratLib/AcpiSratLib.inf} (74%)
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/Arm/ArmSratGenerator.c
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/Common/CommonSratGenerator.c
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSratLibArm => 
Common/AcpiSratLib}/SratGenerator.c (75%)
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.h
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/Arm/ArmSsdtCpuTopologyGenerator.c
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm => 
Common/AcpiSsdtCpuTopologyLib}/SsdtCpuTopologyGenerator.c (79%)
 create mode 100644 
DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyGenerator.h
 rename 
DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf
 => Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf} (80%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm => 
Common/AcpiSsdtPcieLib}/SsdtPcieGenerator.c (96%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm => 
Common/AcpiSsdtPcieLib}/SsdtPcieGenerator.h (100%)
 rename 
DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf => 
Common/AcpiSsdtPcieLib/SsdtPcieLib.inf} (91%)
 rename DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtSerialPortLibArm => 
Common/AcpiSsdtSerialPortLib}/SsdtSerialPortGenerator.c (100%)
 rename 
DynamicTablesPkg/Library/Acpi/{Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
 => Common/AcpiSsdtSerialPortLib/SsdtSerialPortLib.inf} (87%)
 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 (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/BootArch/ArmBootArchParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/GenericTimer/ArmGenericTimerParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/GenericTimer/ArmGenericTimerParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicCParser.c (96%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicCParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicDParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicDParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicDispatcher.c (92%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicDispatcher.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicItsParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicItsParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicMsiFrameParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicMsiFrameParser.h (100%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicRParser.c (95%)
 rename DynamicTablesPkg/Library/FdtHwInfoParserLib/{ => 
Arm}/Gic/ArmGicRParser.h (100%)
 rename 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/{ArmPciConfigSpaceParser.c => 
PciConfigSpaceParser.c} (95%)
 rename 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/{ArmPciConfigSpaceParser.h => 
PciConfigSpaceParser.h} (93%)
 rename 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/{ArmSerialPortParser.c => 
SerialPortParser.c} (95%)
 rename 
DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/{ArmSerialPortParser.h => 
SerialPortParser.h} (89%)

-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119632): https://edk2.groups.io/g/devel/message/119632
Mute This Topic: https://groups.io/mt/106770151/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to