]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
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 | |
5 | ||
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 | |
10 | ||
11 | ||
12 | Signed-off-by: Thomas Renninger <trenn@suse.de> | |
13 | Tested-by: Mark Doughty <me@markdoughty.co.uk> | |
14 | ||
15 | ||
16 | --- | |
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(-) | |
21 | ||
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 | |
25 | ||
26 | /* Differentiate between RSDT and XSDT root tables */ | |
27 | ||
28 | - if (rsdp->revision > 1 && rsdp->xsdt_physical_address) { | |
29 | + if (rsdp->revision > 1 && rsdp->xsdt_physical_address | |
30 | + && !acpi_gbl_force_rsdt) { | |
31 | /* | |
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; | |
37 | /* System flags */ | |
38 | ||
39 | u32 acpi_gbl_startup_flags = 0; | |
40 | +int acpi_gbl_force_rsdt = 0; | |
41 | ||
42 | /* System starts uninitialized */ | |
43 | ||
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 | |
47 | ||
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]; |