lkml.org 
[lkml]   [2013]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:x86/mm] x86, ACPI: Search buffer above 4GB in a second try for acpi initrd table override
    Commit-ID:  5a2c7ccc51a2bc42d96e05dd3d920ef0c09eb730
    Gitweb: http://git.kernel.org/tip/5a2c7ccc51a2bc42d96e05dd3d920ef0c09eb730
    Author: Yinghai Lu <yinghai@kernel.org>
    AuthorDate: Thu, 13 Jun 2013 21:02:51 +0800
    Committer: H. Peter Anvin <hpa@linux.intel.com>
    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 <yinghai@kernel.org>
    Link: http://lkml.kernel.org/r/1371128589-8953-5-git-send-email-tangchen@cn.fujitsu.com
    Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
    Cc: linux-acpi@vger.kernel.org
    Tested-by: Thomas Renninger <trenn@suse.de>
    Reviewed-by: Tang Chen <tangchen@cn.fujitsu.com>
    Tested-by: Tang Chen <tangchen@cn.fujitsu.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    ---
    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;

    \
     
     \ /
      Last update: 2013-06-14 23:41    [W:4.146 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site