arm: armv8: mmu: add mmu_unmap_reserved_mem
authorAnshul Dalal <anshuld@ti.com>
Fri, 17 Oct 2025 13:15:29 +0000 (18:45 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 22 Oct 2025 18:05:52 +0000 (12:05 -0600)
commit856480eef0a25dde339cce6d1889efdc836c6be8
treea0fa72da2d9e2624343b07d5a12ebd00a02e92cf
parentf1c694b8fddece279cdd103ae4009bf25345d8e4
arm: armv8: mmu: add mmu_unmap_reserved_mem

For armv8, U-Boot uses a static map defined as 'mem_map' for configuring
the MMU's page tables, done by mmu_setup.

Though this works well for simpler platforms, it makes creating runtime
carveouts by modifying the static array at runtime exceedingly complex
like in mach-snapdragon/board.c.

Creation of such carveouts are much better handled by APIs such as
mmu_change_region_attr once the page tables are configured. Usually such
carveouts are configured via the device-tree's reserved-memory node
which provides the address and size for the carveout.

Therefore this patch adds mmu_unmap_reserved_mem which acts as a wrapper
over mmu_change_region_attr, helping unmap a reserved-memory region.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Tested-by: Wadim Egorov <w.egorov@phytec.de>
arch/arm/cpu/armv8/cache_v8.c
arch/arm/include/asm/armv8/mmu.h