diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2021-02-14 15:09:45 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2021-10-18 14:20:28 +0000 |
commit | b54388df63f1a42b623e01ec03476712b4a08710 (patch) | |
tree | 7e11996c134b0f89b094958d49bdb2501938cc3b /src/acpi | |
parent | 9ae922abf728814e10781a71f35803bd53d57524 (diff) |
ACPI: Have common acpi_fill_mcfg()
As long as there is only one PCI segment we do not need
more complicated MCFG generation.
Change-Id: Ic2a8e84383883039bb7f994227e2e425366f9e13
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/50666
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/acpi')
-rw-r--r-- | src/acpi/acpi.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c index 6417ef891e..282d734bd7 100644 --- a/src/acpi/acpi.c +++ b/src/acpi/acpi.c @@ -263,6 +263,13 @@ void acpi_create_madt(acpi_madt_t *madt) header->checksum = acpi_checksum((void *)madt, header->length); } +static unsigned long acpi_fill_mcfg(unsigned long current) +{ + current += acpi_create_mcfg_mmconfig((acpi_mcfg_mmconfig_t *)current, + CONFIG_MMCONF_BASE_ADDRESS, 0, 0, CONFIG_MMCONF_BUS_NUMBER - 1); + return current; +} + /* MCFG is defined in the PCI Firmware Specification 3.0. */ void acpi_create_mcfg(acpi_mcfg_t *mcfg) { @@ -284,7 +291,8 @@ void acpi_create_mcfg(acpi_mcfg_t *mcfg) header->length = sizeof(acpi_mcfg_t); header->revision = get_acpi_table_revision(MCFG); - current = acpi_fill_mcfg(current); + if (CONFIG(MMCONF_SUPPORT)) + current = acpi_fill_mcfg(current); /* (Re)calculate length and checksum. */ header->length = current - (unsigned long)mcfg; |