Re: [PATCH v5 04/22] x86, ACPI: Search buffer above 4G in secondtry for acpi override tables

From: Toshi Kani
Date: Mon Jun 17 2013 - 19:56:55 EST


On Mon, 2013-06-17 at 16:38 -0700, Yinghai Lu wrote:
> On Mon, Jun 17, 2013 at 4:22 PM, Toshi Kani <toshi.kani@xxxxxx> wrote:
> > On Fri, 2013-06-14 at 17:56 -0700, Yinghai Lu wrote:
> >> Now we only search buffer for override acpi table under 4G.
> >> In some case, like user use memmap to exclude all low ram,
> >> we may not find range for it under 4G.
> >>
> >> Do second try to search above 4G.
> >>
> >> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> >> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx>
> >> Cc: linux-acpi@xxxxxxxxxxxxxxx
> >> Tested-by: Thomas Renninger <trenn@xxxxxxx>
> >> Reviewed-by: Tang Chen <tangchen@xxxxxxxxxxxxxx>
> >> Tested-by: Tang Chen <tangchen@xxxxxxxxxxxxxx>
> >> ---
> >> 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);
> >
> > Should this search start from 4G, instead of 0?
>
> should be ok, as memblock searching is top-down.

I see. Thanks for the clarification.

Acked-by: Toshi Kani <toshi.kani@xxxxxx>

-Toshi

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