SBSA Reference Platform can have GIC ITS present. And when it has then we can have complex PCI Express setup (and some other things).
First patch adds support for GIC ITS. Address is read from TF-A via SMC call. IORT is generated, MADT has ITS information. Linux boots and sees GIC ITS as expected. SMMU information is also provided in IORT and used. Second patch tries to take care of system where GIC ITS is not present (like week old QEMU). If GIC ITS address is not set then there is no mention of it in MADT, Linux boots. But information is still present in IORT. I do not know ASL and do not know how to make ITS information present only when needed. Any help or pointers? Marcin Juszkiewicz (1): Platform/QemuSbsa: handle lack of ITS in MADT Shashi Mallela (1): Platform/SbsaQemu: add GIC ITS support Silicon/Qemu/SbsaQemu/SbsaQemu.dec | 3 + Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 3 + .../Qemu/SbsaQemu/AcpiTables/AcpiTables.inf | 2 + .../SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf | 1 + .../SbsaQemuPlatformDxe.inf | 1 + .../Include/IndustryStandard/SbsaQemuAcpi.h | 11 ++ .../Include/IndustryStandard/SbsaQemuSmc.h | 1 + .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c | 18 +++ .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 10 ++ Silicon/Qemu/SbsaQemu/AcpiTables/Iort.aslc | 135 ++++++++++++++++++ 10 files changed, 185 insertions(+) create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Iort.aslc -- 2.41.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106472): https://edk2.groups.io/g/devel/message/106472 Mute This Topic: https://groups.io/mt/99833911/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-