Furquan Shaikh has submitted this change. ( https://review.coreboot.org/c/coreboot/+/48184 )
Change subject: soc/intel/common/systemagent: Reserve window used for extended BIOS decoding ......................................................................
soc/intel/common/systemagent: Reserve window used for extended BIOS decoding
This change reserves the window used for extended BIOS decoding as a fixed MMIO resource using read_resources callback in systemagent driver. This ensures that the resource allocator does not allocate from this window.
Additionally, this window is also marked as fixed memory region in _CRS for PNP0C02 device.
BUG=b:171534504
Signed-off-by: Furquan Shaikh furquan@google.com Change-Id: I42b5a0ebda2627f72b825551c566cd22dbc5cca7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/48184 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Tim Wawrzynczak twawrzynczak@chromium.org --- M src/soc/intel/common/block/acpi/acpi/northbridge.asl M src/soc/intel/common/block/systemagent/systemagent.c 2 files changed, 10 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Tim Wawrzynczak: Looks good to me, approved
diff --git a/src/soc/intel/common/block/acpi/acpi/northbridge.asl b/src/soc/intel/common/block/acpi/acpi/northbridge.asl index b4b7465..5780f4c 100644 --- a/src/soc/intel/common/block/acpi/acpi/northbridge.asl +++ b/src/soc/intel/common/block/acpi/acpi/northbridge.asl @@ -276,6 +276,11 @@ /* FLASH range */ Memory32Fixed (ReadOnly, 0, CONFIG_ROM_SIZE, FIOH)
+#if CONFIG(FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW) + /* Extended BIOS window */ + Memory32Fixed (ReadOnly, CONFIG_EXT_BIOS_WIN_BASE, CONFIG_EXT_BIOS_WIN_SIZE) +#endif + /* Local APIC range(0xFEE0_0000 to 0xFEEF_FFFF) */ Memory32Fixed (ReadOnly, 0xFEE00000, 0x100000)
diff --git a/src/soc/intel/common/block/systemagent/systemagent.c b/src/soc/intel/common/block/systemagent/systemagent.c index 4c5731f..6b039e1 100644 --- a/src/soc/intel/common/block/systemagent/systemagent.c +++ b/src/soc/intel/common/block/systemagent/systemagent.c @@ -287,6 +287,11 @@ if (CONFIG(SA_ENABLE_IMR)) /* Add the isolated memory ranges (IMRs). */ sa_add_imr_resources(dev, &index); + + /* Reserve the window used for extended BIOS decoding. */ + if (CONFIG(FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW)) + mmio_resource(dev, index++, CONFIG_EXT_BIOS_WIN_BASE / KiB, + CONFIG_EXT_BIOS_WIN_SIZE / KiB); }
void enable_power_aware_intr(void)