From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vitaly Kuznetsov Subject: [PATCH RFC/WIPv2 2/6] libxc: support XENMEM_transfer operation Date: Wed, 24 Sep 2014 16:20:51 +0200 Message-ID: <1411568455-27113-3-git-send-email-vkuznets@redhat.com> References: <1411568455-27113-1-git-send-email-vkuznets@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XWnRP-0000nD-SB for xen-devel@lists.xenproject.org; Wed, 24 Sep 2014 14:21:11 +0000 In-Reply-To: <1411568455-27113-1-git-send-email-vkuznets@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Andrew Jones , David Vrabel , Jan Beulich List-Id: xen-devel@lists.xenproject.org Introduce xc_domain_transfer_pages() function supporting XENMEM_transfer. Signed-off-by: Vitaly Kuznetsov --- tools/libxc/xc_domain.c | 19 +++++++++++++++++++ tools/libxc/xenctrl.h | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c index 1a6f90a..b844f8b 100644 --- a/tools/libxc/xc_domain.c +++ b/tools/libxc/xc_domain.c @@ -924,6 +924,25 @@ int xc_domain_claim_pages(xc_interface *xch, return err; } +int xc_domain_transfer_pages(xc_interface *xch, + uint32_t source_domid, + uint32_t dest_domid, + xen_pfn_t gmfn_start, + uint64_t gmfn_count) +{ + int err; + struct xen_memory_transfer trans = { + .source_domid = source_domid, + .dest_domid = dest_domid, + .gmfn_start = gmfn_start, + .gmfn_count = gmfn_count, + .nr_transferred = 0 + }; + + err = do_memory_op(xch, XENMEM_transfer, &trans, sizeof(trans)); + return err; +} + int xc_domain_populate_physmap(xc_interface *xch, uint32_t domid, unsigned long nr_extents, diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h index 514b241..cff36c6 100644 --- a/tools/libxc/xenctrl.h +++ b/tools/libxc/xenctrl.h @@ -1353,6 +1353,12 @@ int xc_domain_claim_pages(xc_interface *xch, uint32_t domid, unsigned long nr_pages); +int xc_domain_transfer_pages(xc_interface *xch, + uint32_t source_domid, + uint32_t dest_domid, + xen_pfn_t gmfn_start, + uint64_t gmfn_count); + int xc_domain_memory_exchange_pages(xc_interface *xch, int domid, unsigned long nr_in_extents, -- 1.9.3