aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-12-19 16:04:00 +0100
committerSimon Glass <sjg@chromium.org>2024-01-07 13:49:15 -0700
commitb2f088c1210184b1ba11edaee0943ebd206e87e7 (patch)
tree40fee07b4c07e6a5d6fb05511987237777061156
parentf47c86f6d3b468a4d467814783937ee9162b92fc (diff)
downloadu-boot-b2f088c1210184b1ba11edaee0943ebd206e87e7.zip
u-boot-b2f088c1210184b1ba11edaee0943ebd206e87e7.tar.gz
u-boot-b2f088c1210184b1ba11edaee0943ebd206e87e7.tar.bz2
acpi: Kconfig symbol CONFIG_QFW_ACPI
We have two implementations of write_acpi_tables(). One for writing ACPI tables based on ACPI_WRITER() entries another based on copying tables from QEMU. Create a symbol CONFIG_QFW_ACPI that signifies copying ACPI tables from QEMU and use it consistently. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/misc/Kconfig7
-rw-r--r--drivers/misc/qfw.c4
-rw-r--r--lib/acpi/Makefile2
-rw-r--r--lib/acpi/acpi_writer.c4
4 files changed, 12 insertions, 5 deletions
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index ed7eced..e8e4400 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -540,6 +540,13 @@ config QFW
Hidden option to enable QEMU fw_cfg interface and uclass. This will
be selected by either CONFIG_CMD_QFW or CONFIG_GENERATE_ACPI_TABLE.
+config QFW_ACPI
+ bool
+ default y
+ depends on QFW && GENERATE_ACPI_TABLE && !SANDBOX
+ help
+ Hidden option to read ACPI tables from QEMU.
+
config QFW_PIO
bool
depends on QFW
diff --git a/drivers/misc/qfw.c b/drivers/misc/qfw.c
index e3b6b4c..307334f 100644
--- a/drivers/misc/qfw.c
+++ b/drivers/misc/qfw.c
@@ -21,7 +21,7 @@
#include <tables_csum.h>
#include <asm/acpi_table.h>
-#if defined(CONFIG_GENERATE_ACPI_TABLE) && !defined(CONFIG_SANDBOX)
+#ifdef QFW_ACPI
/*
* This function allocates memory for ACPI tables
*
@@ -259,7 +259,7 @@ ulong acpi_get_rsdp_addr(void)
file = qfw_find_file(dev, "etc/acpi/rsdp");
return file->addr;
}
-#endif
+#endif /* QFW_ACPI */
static void qfw_read_entry_io(struct qfw_dev *qdev, u16 entry, u32 size,
void *address)
diff --git a/lib/acpi/Makefile b/lib/acpi/Makefile
index c1c9675..cc28684 100644
--- a/lib/acpi/Makefile
+++ b/lib/acpi/Makefile
@@ -12,7 +12,7 @@ obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi_table.o
obj-y += acpi_writer.o
# With QEMU the ACPI tables come from there, not from U-Boot
-ifndef CONFIG_QEMU
+ifndef CONFIG_QFW_ACPI
obj-y += base.o
obj-y += csrt.o
obj-y += mcfg.o
diff --git a/lib/acpi/acpi_writer.c b/lib/acpi/acpi_writer.c
index a8dc207..bbb9b54 100644
--- a/lib/acpi/acpi_writer.c
+++ b/lib/acpi/acpi_writer.c
@@ -48,7 +48,7 @@ int acpi_write_one(struct acpi_ctx *ctx, const struct acpi_writer *entry)
return 0;
}
-#ifndef CONFIG_QEMU
+#ifndef CONFIG_QFW_ACPI
static int acpi_write_all(struct acpi_ctx *ctx)
{
const struct acpi_writer *writer =
@@ -115,7 +115,7 @@ ulong acpi_get_rsdp_addr(void)
return map_to_sysmem(gd->acpi_ctx->rsdp);
}
-#endif /* QEMU */
+#endif /* QFW_ACPI */
void acpi_setup_ctx(struct acpi_ctx *ctx, ulong start)
{