From efeec4c70798ecbca2919e9e8888fec45937a1af Mon Sep 17 00:00:00 2001 From: Harry Ramsey Date: Wed, 19 Nov 2025 07:53:51 +0000 Subject: [PATCH] arm/mpu: Implement ioremap_attr for MPU Implement the function `ioremap_attr` for MPU systems. Signed-off-by: Harry Ramsey Acked-by: Michal Orzel Reviewed-by: Luca Fancellu Tested-by: Luca Fancellu --- xen/arch/arm/mpu/mm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c index 29dd8c4622..687dec3bc6 100644 --- a/xen/arch/arm/mpu/mm.c +++ b/xen/arch/arm/mpu/mm.c @@ -473,8 +473,14 @@ void free_init_memory(void) void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags) { - BUG_ON("unimplemented"); - return NULL; + paddr_t start_pg = round_pgdown(start); + paddr_t end_pg = round_pgup(start_pg + len); + + if ( xen_mpumap_update(start_pg, end_pg, flags) ) + return NULL; + + /* Mapped or already mapped */ + return maddr_to_virt(start_pg); } /*