]> xenbits.xensource.com Git - people/tklengyel/xen.git/commitdiff
xen/arm: set up shared memory foreign mapping for borrower domain
authorPenny Zheng <Penny.Zheng@arm.com>
Thu, 8 Sep 2022 13:55:10 +0000 (21:55 +0800)
committerStefano Stabellini <stefano.stabellini@amd.com>
Fri, 9 Sep 2022 19:58:00 +0000 (12:58 -0700)
This commit sets up shared memory foreign mapping for borrower domain.

If owner domain is the default dom_io, all shared domain are treated as
borrower domain.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/domain_build.c

index 417a0e82ba18b3cb03bf9153404083e10f3f6490..dfcda604b3ffaf809487cedfa1693caf990a0412 100644 (file)
@@ -992,6 +992,15 @@ static int __init process_shm(struct domain *d,
             if ( ret )
                 return ret;
         }
+
+        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
+        {
+            /* Set up P2M foreign mapping for borrower domain. */
+            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
+                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
+            if ( ret )
+                return ret;
+        }
     }
 
     return 0;