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

[Xen-changelog] [xen master] libxc: add xc_domain_remove_from_physmap to wrap XENMEM_remove_from_physmap



commit bb3b88f894e7e1b3a8be3a2b7ea514a8046b4e67
Author:     Zhongze Liu <blackskygg@xxxxxxxxx>
AuthorDate: Wed Jan 31 01:50:18 2018 +0800
Commit:     Wei Liu <wei.liu2@xxxxxxxxxx>
CommitDate: Tue Feb 6 17:41:42 2018 +0000

    libxc: add xc_domain_remove_from_physmap to wrap XENMEM_remove_from_physmap
    
    This is for the proposal "Allow setting up shared memory areas between VMs
    from xl config file". See:
    
      https://lists.xen.org/archives/html/xen-devel/2017-08/msg03242.html
    
    Then plan is to use XENMEM_add_to_physmap_batch to map the shared pages from
    one domU to another and use XENMEM_remove_from_physmap to cancel the 
sharing.
    A wrapper to XENMEM_add_to_physmap_batch was added in the following commit:
    
      commit 20e725e9364cff4a29945f66986ecd88cca8743d
    
    Now add the wrapper to XENMEM_remove_from_physmap.
    
    Signed-off-by: Zhongze Liu <blackskygg@xxxxxxxxx>
    Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 tools/libxc/include/xenctrl.h |  4 ++++
 tools/libxc/xc_domain.c       | 11 +++++++++++
 2 files changed, 15 insertions(+)

diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
index 235b8bb..543abfc 100644
--- a/tools/libxc/include/xenctrl.h
+++ b/tools/libxc/include/xenctrl.h
@@ -1416,6 +1416,10 @@ int xc_domain_add_to_physmap_batch(xc_interface *xch,
                                    xen_pfn_t *gfpns,
                                    int *errs);
 
+int xc_domain_remove_from_physmap(xc_interface *xch,
+                                  uint32_t domid,
+                                  xen_pfn_t gpfn);
+
 int xc_domain_populate_physmap(xc_interface *xch,
                                uint32_t domid,
                                unsigned long nr_extents,
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index da0aa2f..ea3df1e 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -1090,6 +1090,17 @@ out:
     return rc;
 }
 
+int xc_domain_remove_from_physmap(xc_interface *xch,
+                                  uint32_t domid,
+                                  xen_pfn_t gpfn)
+{
+    struct xen_remove_from_physmap xrfp = {
+        .domid = domid,
+        .gpfn = gpfn,
+    };
+    return do_memory_op(xch, XENMEM_remove_from_physmap, &xrfp, sizeof(xrfp));
+}
+
 int xc_domain_claim_pages(xc_interface *xch,
                                uint32_t domid,
                                unsigned long nr_pages)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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