1 From: Thomas Renninger <trenn@suse.de>
2 Subject: ACPICA: Add acpi_gbl_force_rsdt variable
3 Patch-mainline: not yet
4 References: http://bugzilla.kernel.org/show_bug.cgi?id=8246
6 This one is part of a patch series:
7 acpi_thinkpad_introduce_acpi_root_table_boot_param.patch
8 acpi_thinkpad_introduce_acpica_rsdt_global_variable.patch
9 acpi_thinkpad_remove_R40e_c-state_blacklist.patch
12 Signed-off-by: Thomas Renninger <trenn@suse.de>
13 Tested-by: Mark Doughty <me@markdoughty.co.uk>
17 drivers/acpi/tables/tbutils.c | 3 ++-
18 drivers/acpi/utilities/utglobal.c | 1 +
19 include/acpi/acglobal.h | 1 +
20 3 files changed, 4 insertions(+), 1 deletion(-)
22 --- a/drivers/acpi/tables/tbutils.c
23 +++ b/drivers/acpi/tables/tbutils.c
24 @@ -420,7 +420,8 @@ acpi_tb_parse_root_table(acpi_physical_a
26 /* Differentiate between RSDT and XSDT root tables */
28 - if (rsdp->revision > 1 && rsdp->xsdt_physical_address) {
29 + if (rsdp->revision > 1 && rsdp->xsdt_physical_address
30 + && !acpi_gbl_force_rsdt) {
32 * Root table is an XSDT (64-bit physical addresses). We must use the
33 * XSDT if the revision is > 1 and the XSDT pointer is present, as per
34 --- a/drivers/acpi/utilities/utglobal.c
35 +++ b/drivers/acpi/utilities/utglobal.c
36 @@ -76,6 +76,7 @@ u8 acpi_gbl_method_executing = FALSE;
39 u32 acpi_gbl_startup_flags = 0;
40 +int acpi_gbl_force_rsdt = 0;
42 /* System starts uninitialized */
44 --- a/include/acpi/acglobal.h
45 +++ b/include/acpi/acglobal.h
46 @@ -246,6 +246,7 @@ ACPI_EXTERN u8 acpi_gbl_system_awake_and
48 extern u8 acpi_gbl_shutdown;
49 extern u32 acpi_gbl_startup_flags;
50 +extern int acpi_gbl_force_rsdt;
51 extern const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT];
52 extern const char *acpi_gbl_highest_dstate_names[4];
53 extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES];