mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 19:07:52 +00:00
ACPICA: Tables: Allow FADT to be customized with virtual address
ACPICA commit d98de9ca14891130efc5dcdc871b97eb27b4b0f5 FADT parsing code requires FADT to be installed as ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, using new acpi_tb_get_table()/acpi_tb_put_table(), other address types can also be allowed, thus facilitates FADT customization with virtual address. Lv Zheng. Link: https://github.com/acpica/acpica/commit/d98de9ca Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
174cc7187e
commit
66360faa43
1 changed files with 7 additions and 7 deletions
|
@ -311,6 +311,8 @@ void acpi_tb_parse_fadt(void)
|
||||||
{
|
{
|
||||||
u32 length;
|
u32 length;
|
||||||
struct acpi_table_header *table;
|
struct acpi_table_header *table;
|
||||||
|
struct acpi_table_desc *fadt_desc;
|
||||||
|
acpi_status status;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The FADT has multiple versions with different lengths,
|
* The FADT has multiple versions with different lengths,
|
||||||
|
@ -319,14 +321,12 @@ void acpi_tb_parse_fadt(void)
|
||||||
* Get a local copy of the FADT and convert it to a common format
|
* Get a local copy of the FADT and convert it to a common format
|
||||||
* Map entire FADT, assumed to be smaller than one page.
|
* Map entire FADT, assumed to be smaller than one page.
|
||||||
*/
|
*/
|
||||||
length = acpi_gbl_root_table_list.tables[acpi_gbl_fadt_index].length;
|
fadt_desc = &acpi_gbl_root_table_list.tables[acpi_gbl_fadt_index];
|
||||||
|
status = acpi_tb_get_table(fadt_desc, &table);
|
||||||
table =
|
if (ACPI_FAILURE(status)) {
|
||||||
acpi_os_map_memory(acpi_gbl_root_table_list.
|
|
||||||
tables[acpi_gbl_fadt_index].address, length);
|
|
||||||
if (!table) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
length = fadt_desc->length;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Validate the FADT checksum before we copy the table. Ignore
|
* Validate the FADT checksum before we copy the table. Ignore
|
||||||
|
@ -340,7 +340,7 @@ void acpi_tb_parse_fadt(void)
|
||||||
|
|
||||||
/* All done with the real FADT, unmap it */
|
/* All done with the real FADT, unmap it */
|
||||||
|
|
||||||
acpi_os_unmap_memory(table, length);
|
acpi_tb_put_table(fadt_desc);
|
||||||
|
|
||||||
/* Obtain the DSDT and FACS tables via their addresses within the FADT */
|
/* Obtain the DSDT and FACS tables via their addresses within the FADT */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue