#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)
{
}
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
*
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)