[RESEND] [PATCH 1/3] ACPICA: Add acpi_gbl_force_rsdt variable

Thomas Renninger
2008-10-19T21:49:45Z

ACPICA: Add acpi_gbl_force_rsdt variable

References: http://bugzilla.kernel.org/show_bug.cgi?id=8246

Signed-off-by: Thomas Renninger <trenn@suse.de>
Tested-by: Mark Doughty <me@markdoughty.co.uk>

---
drivers/acpi/tables/tbutils.c | 3 ++-
drivers/acpi/utilities/utglobal.c | 1 +
include/acpi/acglobal.h | 1 +
3 files changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/acpi/tables/tbutils.c
+++ b/drivers/acpi/tables/tbutils.c
@@ -420,7 +420,8 @@ acpi_tb_parse_root_table(acpi_physical_a

/* Differentiate between RSDT and XSDT root tables */

- if (rsdp->revision > 1 && rsdp->xsdt_physical_address) {
+ if (rsdp->revision > 1 && rsdp->xsdt_physical_address
+ && !acpi_gbl_force_rsdt) {
/*
* Root table is an XSDT (64-bit physical addresses). We must use the
* XSDT if the revision is > 1 and the XSDT pointer is present, as per
--- a/drivers/acpi/utilities/utglobal.c
+++ b/drivers/acpi/utilities/utglobal.c
@@ -76,6 +76,7 @@ u8 acpi_gbl_method_executing = FALSE;
/* System flags */

u32 acpi_gbl_startup_flags = 0;
+int acpi_gbl_force_rsdt = 0;

/* System starts uninitialized */

--- a/include/acpi/acglobal.h
+++ b/include/acpi/acglobal.h
@@ -246,6 +246,7 @@ ACPI_EXTERN u8 acpi_gbl_system_awake_and

extern u8 acpi_gbl_shutdown;
extern u32 acpi_gbl_startup_flags;
+extern int acpi_gbl_force_rsdt;
extern const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT];
extern const char *acpi_gbl_highest_dstate_names[4];
extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES];