[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] arm/mpu: Implement ioremap_attr for MPU



commit efeec4c70798ecbca2919e9e8888fec45937a1af
Author:     Harry Ramsey <harry.ramsey@xxxxxxx>
AuthorDate: Wed Nov 19 07:53:51 2025 +0000
Commit:     Michal Orzel <michal.orzel@xxxxxxx>
CommitDate: Mon Nov 24 13:53:47 2025 +0100

    arm/mpu: Implement ioremap_attr for MPU
    
    Implement the function `ioremap_attr` for MPU systems.
    
    Signed-off-by: Harry Ramsey <harry.ramsey@xxxxxxx>
    Acked-by: Michal Orzel <michal.orzel@xxxxxxx>
    Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx>
    Tested-by: Luca Fancellu <luca.fancellu@xxxxxxx>
---
 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);
 }
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.