|
|
|
@ -27,6 +27,9 @@ |
|
|
|
|
*/ |
|
|
|
|
extern const unsigned char AmlCode[]; |
|
|
|
|
|
|
|
|
|
/* ACPI RSDP address to be used in boot parameters */ |
|
|
|
|
static ulong acpi_rsdp_addr; |
|
|
|
|
|
|
|
|
|
static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct acpi_rsdt *rsdt, |
|
|
|
|
struct acpi_xsdt *xsdt) |
|
|
|
|
{ |
|
|
|
@ -357,8 +360,7 @@ void enter_acpi_mode(int pm1_cnt) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* QEMU's version of write_acpi_tables is defined in |
|
|
|
|
* arch/x86/cpu/qemu/acpi_table.c |
|
|
|
|
* QEMU's version of write_acpi_tables is defined in drivers/misc/qfw.c |
|
|
|
|
*/ |
|
|
|
|
ulong write_acpi_tables(ulong start) |
|
|
|
|
{ |
|
|
|
@ -461,6 +463,7 @@ ulong write_acpi_tables(ulong start) |
|
|
|
|
|
|
|
|
|
debug("current = %x\n", current); |
|
|
|
|
|
|
|
|
|
acpi_rsdp_addr = (unsigned long)rsdp; |
|
|
|
|
debug("ACPI: done\n"); |
|
|
|
|
|
|
|
|
|
/* Don't touch ACPI hardware on HW reduced platforms */ |
|
|
|
@ -476,6 +479,11 @@ ulong write_acpi_tables(ulong start) |
|
|
|
|
return current; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ulong acpi_get_rsdp_addr(void) |
|
|
|
|
{ |
|
|
|
|
return acpi_rsdp_addr; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static struct acpi_rsdp *acpi_valid_rsdp(struct acpi_rsdp *rsdp) |
|
|
|
|
{ |
|
|
|
|
if (strncmp((char *)rsdp, RSDP_SIG, sizeof(RSDP_SIG) - 1) != 0) |
|
|
|
|