edk2-rk3588 icon indicating copy to clipboard operation
edk2-rk3588 copied to clipboard

No support for PCIe switches when booted with ACPI

Open mariobalanica opened this issue 1 year ago • 2 comments

Need to investigate and see what workarounds are available in each OS.

At quick glance, Linux does have custom ECAM accessors for Synquacer and Armada. Can this bind to ACPI somehow?

Windows overall support is still a big question mark due to other unknown issues, but it is actually possible to expose both the root port and full config space via separate MCFG entries on the same segment, with "NXPMX6" set as OEMID for FADT. The only drawback seems to be that this forces BAR space allocations to happen in the 32-bit MMIO window, which is much smaller.

mariobalanica avatar Jul 26 '23 05:07 mariobalanica

Another thing to consider is the Arm DEN0115A spec which describes implementing config space accessors exposed through SMC (so that's ATF territory).

Linux had refused supporting this, but I've heard it's supported in ESXi and some BSD variants.

mariobalanica avatar Jul 28 '23 04:07 mariobalanica

For Windows and Linux: 4b915e69f56112d9317bd52f0688c8928723c87a

There's the PCI SMC left to be implemented in TF-A for BSDs and ESXi.

mariobalanica avatar Feb 11 '24 19:02 mariobalanica