From fe48ed944bd870050849598a032e790418b18196 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Mon, 14 May 2012 18:55:50 -0700 Subject: [PATCH] ANDROID: GKI: memblock: Add memblock_overlaps_memory() to fix ABI diff This is needed to reduce the ABI diff for vendors. Add a new function, memblock_overlaps_memory(), to check if a region overlaps with a memory bank. This will be used by peripheral loader code to detect when kernel memory would be overwritten. Signed-off-by: Swathi Sridhar (cherry picked from commit bbbc80b6d8b75ffea6a0eb1f53ab503ccf0011f1) [surenb: cherry-picked parts from: bbbc80b6d8b75 "ion : Merge ion changes..." to fix ABI diff caused by memblock_overlaps_memory function] Signed-off-by: Suren Baghdasaryan Bug: 150875716 Test: build Change-Id: I6ee723c99ef171f23a621d130eded843222ba4f7 --- include/linux/memblock.h | 1 + mm/memblock.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/include/linux/memblock.h b/include/linux/memblock.h index f5dd780ddfc5..72b4f919995f 100644 --- a/include/linux/memblock.h +++ b/include/linux/memblock.h @@ -352,6 +352,7 @@ bool memblock_is_map_memory(phys_addr_t addr); bool memblock_is_region_memory(phys_addr_t base, phys_addr_t size); bool memblock_is_reserved(phys_addr_t addr); bool memblock_is_region_reserved(phys_addr_t base, phys_addr_t size); +bool memblock_overlaps_memory(phys_addr_t base, phys_addr_t size); extern void __memblock_dump_all(void); diff --git a/mm/memblock.c b/mm/memblock.c index 258a4f9a1281..f81d494e1945 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -1773,6 +1773,14 @@ bool __init_memblock memblock_is_region_memory(phys_addr_t base, phys_addr_t siz memblock.memory.regions[idx].size) >= end; } +bool __init_memblock memblock_overlaps_memory(phys_addr_t base, + phys_addr_t size) +{ + memblock_cap_size(base, &size); + + return memblock_overlaps_region(&memblock.memory, base, size); +} + /** * memblock_is_region_reserved - check if a region intersects reserved memory * @base: base of region to check