[PATCH RFC 5/8] xen: introduce XENMEM_get_dma_buf and xen_put_dma_buf
Stefano Stabellini
stefano.stabellini at eu.citrix.com
Thu Aug 1 11:13:31 EDT 2013
On Wed, 31 Jul 2013, Konrad Rzeszutek Wilk wrote:
> Stefano Stabellini <stefano.stabellini at eu.citrix.com> wrote:
> >Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
> >---
> >include/xen/interface/memory.h | 62
> >++++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 62 insertions(+), 0 deletions(-)
> >
> >diff --git a/include/xen/interface/memory.h
> >b/include/xen/interface/memory.h
> >index 2ecfe4f..ffd7f4e 100644
> >--- a/include/xen/interface/memory.h
> >+++ b/include/xen/interface/memory.h
> >@@ -263,4 +263,66 @@ struct xen_remove_from_physmap {
> > };
> > DEFINE_GUEST_HANDLE_STRUCT(xen_remove_from_physmap);
> >
> >+#define XENMEM_get_dma_buf 26
> >+/*
> >+ * This hypercall is similar to XENMEM_exchange: it exchanges the
> >pages
>
> Could you elaborate why the existing hyper call won't work?
Two reasons:
- the existing XENMEM_exchange hypercall does not copy back the mfns
into the out field for autotranslate guests;
- the existing XENMEM_exchange hypercall does not guarantee that the
hypervisor won't change the p2m mappings for the exchanged pages while
the guest is using them. Keep in mind that Xen never promises to keep
the p2m mapping stable for autotranslate guests in general.
In practice it won't happen unless you use uncommon features like memory
sharing or paging.
More information about the linux-arm-kernel
mailing list