summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86/lib/acpi_table.c21
-rw-r--r--lib/acpi/acpi_writer.c8
2 files changed, 8 insertions, 21 deletions
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 8275c36ad3..c0534343f1 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -29,9 +29,6 @@
#include <dm/acpi.h>
#include <linux/err.h>
-/* ACPI RSDP address to be used in boot parameters */
-static ulong acpi_rsdp_addr;
-
static int acpi_create_madt_lapic(struct acpi_madt_lapic *lapic,
u8 cpu, u8 apic)
{
@@ -513,24 +510,6 @@ int acpi_write_mcfg(struct acpi_ctx *ctx, const struct acpi_writer *entry)
}
ACPI_WRITER(5mcfg, "MCFG", acpi_write_mcfg, 0);
-/*
- * QEMU's version of write_acpi_tables is defined in drivers/misc/qfw.c
- */
-int write_acpi_tables_x86(struct acpi_ctx *ctx,
- const struct acpi_writer *entry)
-{
- acpi_rsdp_addr = (unsigned long)ctx->rsdp;
- debug("ACPI: done\n");
-
- return 0;
-}
-ACPI_WRITER(9x86, NULL, write_acpi_tables_x86, 0);
-
-ulong acpi_get_rsdp_addr(void)
-{
- return acpi_rsdp_addr;
-}
-
/**
* acpi_write_hpet() - Write out a HPET table
*
diff --git a/lib/acpi/acpi_writer.c b/lib/acpi/acpi_writer.c
index 59f951cba4..9b0aa23fd7 100644
--- a/lib/acpi/acpi_writer.c
+++ b/lib/acpi/acpi_writer.c
@@ -102,6 +102,14 @@ int write_dev_tables(struct acpi_ctx *ctx, const struct acpi_writer *entry)
return 0;
}
ACPI_WRITER(8dev, NULL, write_dev_tables, 0);
+
+ulong acpi_get_rsdp_addr(void)
+{
+ if (!gd->acpi_ctx)
+ return 0;
+
+ return map_to_sysmem(gd->acpi_ctx->rsdp);
+}
#endif /* QEMU */
void acpi_setup_ctx(struct acpi_ctx *ctx, ulong start)