mbox series

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

Message ID 20240830031545.548789-1-wangyuquan1236@phytium.com.cn
Headers show
Series add basic support for CXL on sbsa-ref | expand

Message

Yuquan Wang Aug. 30, 2024, 3:15 a.m. UTC
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