Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf7400e7 authored by Stephen Boyd's avatar Stephen Boyd Committed by Matt Wagantall
Browse files

memblock: Add memblock_overlaps_memory()



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.

Change-Id: I851f8f416a0f36e85c0e19536b5209f7d4bd431c
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit cc2753448d9f2adf48295f935a7eee36023ba8d3)
Signed-off-by: default avatarJosh Cartwright <joshc@codeaurora.org>
parent b072c492
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -285,6 +285,7 @@ phys_addr_t memblock_end_of_DRAM(void);
void memblock_enforce_memory_limit(phys_addr_t memory_limit);
int memblock_is_memory(phys_addr_t addr);
int memblock_is_region_memory(phys_addr_t base, phys_addr_t size);
int memblock_overlaps_memory(phys_addr_t base, phys_addr_t size);
int memblock_is_reserved(phys_addr_t addr);
int memblock_is_region_reserved(phys_addr_t base, phys_addr_t size);

+7 −0
Original line number Diff line number Diff line
@@ -1440,6 +1440,13 @@ int __init_memblock memblock_is_region_memory(phys_addr_t base, phys_addr_t size
		 memblock.memory.regions[idx].size) >= end;
}

int __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) >= 0;
}

/**
 * memblock_is_region_reserved - check if a region intersects reserved memory
 * @base: base of region to check