Commit-ID: 5a2c7ccc51a2bc42d96e05dd3d920ef0c09eb730 Gitweb: http://git.kernel.org/tip/5a2c7ccc51a2bc42d96e05dd3d920ef0c09eb730 Author: Yinghai Lu <[email protected]> AuthorDate: Thu, 13 Jun 2013 21:02:51 +0800 Committer: H. Peter Anvin <[email protected]> CommitDate: Fri, 14 Jun 2013 14:03:49 -0700
x86, ACPI: Search buffer above 4GB in a second try for acpi initrd table override Now we only search buffer for new acpi tables in initrd under 4GB. In some case, like user use memmap to exclude all low ram, we may not find range for it under 4GB. So do second try to search for buffer above 4GB. Since later accessing to the tables is using early_ioremap(), using memory above 4GB is OK. Signed-off-by: Yinghai Lu <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Cc: "Rafael J. Wysocki" <[email protected]> Cc: [email protected] Tested-by: Thomas Renninger <[email protected]> Reviewed-by: Tang Chen <[email protected]> Tested-by: Tang Chen <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]> --- drivers/acpi/osl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 93e3194..42c48fc 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -627,6 +627,10 @@ void __init acpi_initrd_override(void *data, size_t size) /* under 4G at first, then above 4G */ acpi_tables_addr = memblock_find_in_range(0, (1ULL<<32) - 1, all_tables_size, PAGE_SIZE); + if (!acpi_tables_addr) + acpi_tables_addr = memblock_find_in_range(0, + ~(phys_addr_t)0, + all_tables_size, PAGE_SIZE); if (!acpi_tables_addr) { WARN_ON(1); return; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

