Attention is currently required from: Fred Reitberger, Jason Glenesk, Matt DeVillier.
Hello Fred Reitberger, Jason Glenesk, Matt DeVillier,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/79861?usp=email
to look at the new patch set (#2).
Change subject: soc/amd/common/acpi: factor out common MADT code ......................................................................
soc/amd/common/acpi: factor out common MADT code
The acpi_fill_madt implementation from the Genoa PoC also works for the other AMD SoCs that select SOC_AMD_COMMON_BLOCK_DATA_FABRIC_DOMAIN, so factor out this function to the common AMD ACPI code and change those other SoCs to use the new common functionality instead of having their own implementations.
The old code on the single-domain SoCs used the GNB_IO_APIC_ADDR base address to create the MADT entry for the additional IOAPIC in the root complex. The new code iterates over all domains and looks for a resource with the IOMMU_IOAPIC_IDX index in each domain and if it finds it, it creates an MADT entry for that IOAPIC. This resource is created earlier in the boot process when the non-PCI resources are read from the IOHC registers and reported to the allocator.
TEST=The resulting MADT doesn't change on Mandolin
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: I4cc0d3f30b4e6ba29542dcfde84ccac90820d258 --- M src/soc/amd/cezanne/Kconfig M src/soc/amd/cezanne/acpi.c M src/soc/amd/common/block/acpi/Kconfig M src/soc/amd/common/block/acpi/Makefile.inc A src/soc/amd/common/block/acpi/madt.c M src/soc/amd/genoa_poc/Kconfig M src/soc/amd/genoa_poc/acpi.c M src/soc/amd/glinda/Kconfig M src/soc/amd/glinda/acpi.c M src/soc/amd/mendocino/Kconfig M src/soc/amd/mendocino/acpi.c M src/soc/amd/phoenix/Kconfig M src/soc/amd/phoenix/acpi.c M src/soc/amd/picasso/Kconfig M src/soc/amd/picasso/acpi.c 15 files changed, 33 insertions(+), 58 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/79861/2