diff mbox

[4/5] xen: move xenforeignmemory compat layer into common place

Message ID 1455034636-27829-4-git-send-email-ian.campbell@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ian Campbell Feb. 9, 2016, 4:17 p.m. UTC
Now that we no longer support Xen 4.2 and earlier only the <470 case
needs this so it can live with all the others.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 include/hw/xen/xen_common.h | 34 ++++++++++++++--------------------
 1 file changed, 14 insertions(+), 20 deletions(-)

Comments

Stefano Stabellini Feb. 9, 2016, 5:18 p.m. UTC | #1
On Tue, 9 Feb 2016, Ian Campbell wrote:
> Now that we no longer support Xen 4.2 and earlier only the <470 case
> needs this so it can live with all the others.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  include/hw/xen/xen_common.h | 34 ++++++++++++++--------------------
>  1 file changed, 14 insertions(+), 20 deletions(-)
> 
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index 254ef14..7a3cce0 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -53,7 +53,20 @@ typedef xc_gnttab xengnttab_handle;
>  #define xengnttab_map_grant_refs(h, c, d, r, p) \
>      xc_gnttab_map_grant_refs(h, c, d, r, p)
>  
> -/* See below for xenforeignmemory_* APIs */
> +#define xenforeignmemory_open(l, f) xen_xc
> +
> +static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
> +                                         int prot, size_t pages,
> +                                         const xen_pfn_t arr[/*pages*/],
> +                                         int err[/*pages*/])
> +{
> +    if (err)
> +        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
> +    else
> +        return xc_map_foreign_pages(h, dom, prot, arr, pages);
> +}
> +
> +#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
>  
>  #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 471 */
>  
> @@ -359,23 +372,4 @@ static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref,
>  #endif
>  #endif
>  
> -#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 471
> -
> -#define xenforeignmemory_open(l, f) xen_xc
> -
> -static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
> -                                         int prot, size_t pages,
> -                                         const xen_pfn_t arr[/*pages*/],
> -                                         int err[/*pages*/])
> -{
> -    if (err)
> -        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
> -    else
> -        return xc_map_foreign_pages(h, dom, prot, arr, pages);
> -}
> -
> -#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
> -
> -#endif
> -
>  #endif /* QEMU_HW_XEN_COMMON_H */
> -- 
> 2.1.4
>
diff mbox

Patch

diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 254ef14..7a3cce0 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -53,7 +53,20 @@  typedef xc_gnttab xengnttab_handle;
 #define xengnttab_map_grant_refs(h, c, d, r, p) \
     xc_gnttab_map_grant_refs(h, c, d, r, p)
 
-/* See below for xenforeignmemory_* APIs */
+#define xenforeignmemory_open(l, f) xen_xc
+
+static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
+                                         int prot, size_t pages,
+                                         const xen_pfn_t arr[/*pages*/],
+                                         int err[/*pages*/])
+{
+    if (err)
+        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
+    else
+        return xc_map_foreign_pages(h, dom, prot, arr, pages);
+}
+
+#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
 
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 471 */
 
@@ -359,23 +372,4 @@  static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref,
 #endif
 #endif
 
-#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 471
-
-#define xenforeignmemory_open(l, f) xen_xc
-
-static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
-                                         int prot, size_t pages,
-                                         const xen_pfn_t arr[/*pages*/],
-                                         int err[/*pages*/])
-{
-    if (err)
-        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
-    else
-        return xc_map_foreign_pages(h, dom, prot, arr, pages);
-}
-
-#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
-
-#endif
-
 #endif /* QEMU_HW_XEN_COMMON_H */