lkml.org 
[lkml]   [2015]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.2 030/134] of/fdt: make memblock maximum physical address arch configurable
    Date
    4.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Ard Biesheuvel <ard.biesheuvel@linaro.org>

    commit 8eafeb48022816513abc4f440bdad4c350fe81a3 upstream.

    When parsing the memory nodes to populate the memblock memory
    table, we check against high and low limits and clip any memory
    that exceeds either one of them.

    However, for arm64, the high limit of (phys_addr_t)~0 is not very
    meaningful, since phys_addr_t is 64 bits (i.e., no limit) but there
    may be other constraints that limit the memory ranges that we can
    support.

    So rename MAX_PHYS_ADDR to MAX_MEMBLOCK_ADDR (for clarity) and only
    define it if the arch does not supply a definition of its own.

    Acked-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
    Tested-by: Stuart Yoder <stuart.yoder@freescale.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/of/fdt.c | 12 +++++++-----
    1 file changed, 7 insertions(+), 5 deletions(-)

    --- a/drivers/of/fdt.c
    +++ b/drivers/of/fdt.c
    @@ -967,7 +967,9 @@ int __init early_init_dt_scan_chosen(uns
    }

    #ifdef CONFIG_HAVE_MEMBLOCK
    -#define MAX_PHYS_ADDR ((phys_addr_t)~0)
    +#ifndef MAX_MEMBLOCK_ADDR
    +#define MAX_MEMBLOCK_ADDR ((phys_addr_t)~0)
    +#endif

    void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
    {
    @@ -984,16 +986,16 @@ void __init __weak early_init_dt_add_mem
    }
    size &= PAGE_MASK;

    - if (base > MAX_PHYS_ADDR) {
    + if (base > MAX_MEMBLOCK_ADDR) {
    pr_warning("Ignoring memory block 0x%llx - 0x%llx\n",
    base, base + size);
    return;
    }

    - if (base + size - 1 > MAX_PHYS_ADDR) {
    + if (base + size - 1 > MAX_MEMBLOCK_ADDR) {
    pr_warning("Ignoring memory range 0x%llx - 0x%llx\n",
    - ((u64)MAX_PHYS_ADDR) + 1, base + size);
    - size = MAX_PHYS_ADDR - base + 1;
    + ((u64)MAX_MEMBLOCK_ADDR) + 1, base + size);
    + size = MAX_MEMBLOCK_ADDR - base + 1;
    }

    if (base + size < phys_offset) {



    \
     
     \ /
      Last update: 2015-09-27 00:41    [W:4.090 / U:0.660 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site