summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRaul E Rangel <rrangel@chromium.org>2021-11-19 11:38:35 -0700
committerRaul Rangel <rrangel@chromium.org>2021-11-29 20:35:33 +0000
commit6b446b991b00c44902b70d86c75b23a8f93d510b (patch)
tree85bea9358740e1053c3ead24532ab1cea3329383 /src
parenta19d6253f8a92ab50b279b859efce1ae27eec9d0 (diff)
acpi,Makefile: Add preload_acpi_dsdt
This will allow us to preload the dsdt.aml file. BUG=b:179699789 TEST=Build guybrush | 80 - write tables | 1.564 | 1.08 Δ( -0.48, -0.03%) | | 85 - finalize chips | 15.483 | 13.543 Δ( -1.94, -0.14%) | Signed-off-by: Raul E Rangel <rrangel@chromium.org> Change-Id: Ibf69ecb947811a2eec861018e3ba5f858155f1c3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/59504 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/acpi/acpi.c11
-rw-r--r--src/include/acpi/acpi.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c
index 78c3fd3b90..3bf57c6ff2 100644
--- a/src/acpi/acpi.c
+++ b/src/acpi/acpi.c
@@ -1577,6 +1577,17 @@ unsigned long __weak fw_cfg_acpi_tables(unsigned long start)
return 0;
}
+void preload_acpi_dsdt(void)
+{
+ const char *file = CONFIG_CBFS_PREFIX "/dsdt.aml";
+
+ if (!CONFIG(CBFS_PRELOAD))
+ return;
+
+ printk(BIOS_DEBUG, "Preloading %s\n", file);
+ cbfs_preload(file);
+}
+
unsigned long write_acpi_tables(unsigned long start)
{
unsigned long current;
diff --git a/src/include/acpi/acpi.h b/src/include/acpi/acpi.h
index 4f059bb947..4a958553e9 100644
--- a/src/include/acpi/acpi.h
+++ b/src/include/acpi/acpi.h
@@ -1215,6 +1215,7 @@ void acpi_create_einj(acpi_einj_t *einj, uintptr_t addr, u8 actions);
unsigned long fw_cfg_acpi_tables(unsigned long start);
/* These are implemented by the target port or north/southbridge. */
+void preload_acpi_dsdt(void);
unsigned long write_acpi_tables(unsigned long addr);
unsigned long acpi_fill_madt(unsigned long current);
unsigned long acpi_fill_ivrs_ioapic(acpi_ivrs_t *ivrs, unsigned long current);