[RFC PATCH edk2-platforms 0/2] add basic support for CXL on sbsa-ref

Yuquan Wang posted 2 patches 2 months, 3 weeks ago
Platform/Qemu/SbsaQemu/SbsaQemu.dsc           |  30 +-
.../Qemu/SbsaQemu/AcpiTables/AcpiTables.inf   |  20 +-
Silicon/Qemu/SbsaQemu/AcpiTables/Cedt.aslc    |  70 +++
Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl     | 410 +++++++++++++++++-
Silicon/Qemu/SbsaQemu/AcpiTables/Mcfg.aslc    |   2 +-
.../SbsaQemuPciHostBridgeLib.c                |   4 +-
.../SbsaQemuPciHostBridgeLib.inf              |   3 +
Silicon/Qemu/SbsaQemu/SbsaQemu.dec            |  34 +-
8 files changed, 555 insertions(+), 18 deletions(-)
create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Cedt.aslc
[RFC PATCH edk2-platforms 0/2] add basic support for CXL on sbsa-ref
Posted by Yuquan Wang 2 months, 3 weeks ago
RFC because
- Many contents are ported from Jonathan' patch on qemu virt design

- Bring plenty of PCDs values and modifying the original PCIE values

- Less experience and not particularly confident in ACPI area so this might be
  stupidly broken in a way I've not considered.

This series leverages Jonathan's patches[1] to add acpi0016 & acpi0017 objects into the
previous DSDT table of sbsa-ref. Since the acpi0016 implementation model on qemu side is
the pxb-cxl, this cxl Bus would share the MMIO space and ECAM sapce of PCIE Bus. Thus I
divide some space from PciMmio32、PciMmio64、PciExpressBar to support cxl-related values.

Based on the new CEDT definitions patch on edk2[2], this series adds a static Cedt.aslc to
support the [SBSA_CXL_HOST] & [SBSA_CXL_FIXED_WINDOW] space on sbsa-ref.

Since I was first developing this platform design for cxl, at the initial stage I only reserved 
one cxl host bridge (Bus: 0000:fe) and a cxl root port underneath (fe:00.0), therefore, only one
cxl device(ff:00.0)could be added by user on this cxl Bus.

Link:
[1]: https://lore.kernel.org/linux-cxl/20220616141950.23374-2-Jonathan.Cameron@huawei.com/
[2]: https://edk2.groups.io/g/devel/topic/rfc_patch_0_1/108173029

Yuquan Wang (2):
  SbsaQemu: Add acpi0016 & acpi0017 objects into DSDT
  SbsaQemu: AcpiTables: Add CEDT Table

 Platform/Qemu/SbsaQemu/SbsaQemu.dsc           |  30 +-
 .../Qemu/SbsaQemu/AcpiTables/AcpiTables.inf   |  20 +-
 Silicon/Qemu/SbsaQemu/AcpiTables/Cedt.aslc    |  70 +++
 Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl     | 410 +++++++++++++++++-
 Silicon/Qemu/SbsaQemu/AcpiTables/Mcfg.aslc    |   2 +-
 .../SbsaQemuPciHostBridgeLib.c                |   4 +-
 .../SbsaQemuPciHostBridgeLib.inf              |   3 +
 Silicon/Qemu/SbsaQemu/SbsaQemu.dec            |  34 +-
 8 files changed, 555 insertions(+), 18 deletions(-)
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Cedt.aslc

-- 
2.34.1