MAP_FAULT can be used for the zero page to make it faulting. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/cpu/mmu_32.c | 4 ++++ arch/arm/cpu/mmu_64.c | 3 +++ include/mmu.h | 1 + 3 files changed, 8 insertions(+) diff --git a/arch/arm/cpu/mmu_32.c b/arch/arm/cpu/mmu_32.c index 8ec21ee1d2..a1ecc49f03 100644 --- a/arch/arm/cpu/mmu_32.c +++ b/arch/arm/cpu/mmu_32.c @@ -178,6 +178,10 @@ int arch_remap_range(void *start, size_t size, unsigned flags) pte_flags = pte_flags_uncached; pgd_flags = pgd_flags_uncached; break; + case MAP_FAULT: + pte_flags = 0x0; + pgd_flags = 0x0; + break; case ARCH_MAP_WRITECOMBINE: pte_flags = pte_flags_wc; pgd_flags = pgd_flags_wc; diff --git a/arch/arm/cpu/mmu_64.c b/arch/arm/cpu/mmu_64.c index f43ac9a121..a22e0c81ab 100644 --- a/arch/arm/cpu/mmu_64.c +++ b/arch/arm/cpu/mmu_64.c @@ -154,6 +154,9 @@ int arch_remap_range(void *_start, size_t size, unsigned flags) case MAP_UNCACHED: attrs = attrs_uncached_mem(); break; + case MAP_FAULT: + attrs = 0x0; + break; default: return -EINVAL; } diff --git a/include/mmu.h b/include/mmu.h index 2e23853df3..2326cb215a 100644 --- a/include/mmu.h +++ b/include/mmu.h @@ -4,6 +4,7 @@ #define MAP_UNCACHED 0 #define MAP_CACHED 1 +#define MAP_FAULT 2 /* * Depending on the architecture the default mapping can be -- 2.39.2