From: Yinghai Lu <ying...@kernel.org>

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 <ying...@kernel.org>
Cc: "Rafael J. Wysocki" <r...@sisk.pl>
Cc: linux-a...@vger.kernel.org
Tested-by: Thomas Renninger <tr...@suse.de>
Reviewed-by: Tang Chen <tangc...@cn.fujitsu.com>
Tested-by: Tang Chen <tangc...@cn.fujitsu.com>
---
 drivers/acpi/osl.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

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;
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to