|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 09/10] xen: remove XEN_GUEST_HANDLE(ulong)
On Thu, 2012-10-18 at 07:50 +0100, Jan Beulich wrote:
> >>> On 15.10.12 at 17:20, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote:
> > --- a/xen/include/public/grant_table.h
> > +++ b/xen/include/public/grant_table.h
> > @@ -385,7 +385,7 @@ struct gnttab_setup_table {
> > uint32_t nr_frames;
> > /* OUT parameters. */
> > int16_t status; /* => enum grant_status */
> > - XEN_GUEST_HANDLE(ulong) frame_list;
> > + XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> > };
> > typedef struct gnttab_setup_table gnttab_setup_table_t;
> > DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_t);
> > --- a/xen/include/public/xen.h
> > +++ b/xen/include/public/xen.h
> > @@ -43,8 +43,6 @@ DEFINE_XEN_GUEST_HANDLE(char);
> > __DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
> > DEFINE_XEN_GUEST_HANDLE(int);
> > __DEFINE_XEN_GUEST_HANDLE(uint, unsigned int);
> > -DEFINE_XEN_GUEST_HANDLE(long);
> > -__DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long);
> > DEFINE_XEN_GUEST_HANDLE(void);
> >
> > DEFINE_XEN_GUEST_HANDLE(uint64_t);
>
> These two must be wrapped in __XEN_INTERFACE_VERSION__
> conditionals (and __XEN_LATEST_INTERFACE_VERSION__ needs
> to be bumped accordingly), since the various guest handles are
> distinct types (i.e. consumers will fail to build if not updated).
Are there external consumers of gnttab_setup_table?
Nevertheless, here is the fix.
8<-----------------------------------------------------
# HG changeset patch
# User Ian Campbell <ijc@xxxxxxxxxxxxxx>
# Date 1350544609 -3600
# Node ID 68f0f7ed3e7b3b7b4b9dbc692a448421ebc31035
# Parent 5c402b905e00fb0871c3f439c8391dd3cfb3bc10
xen: retain ulong guest handle for older consumers.
26072:5529b91bd2e4 removed this but we need to keep it around for
older consumers. Bump __XEN_LATEST_INTERFACE_VERSION__ accordingly.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
diff -r 5c402b905e00 -r 68f0f7ed3e7b xen/include/public/grant_table.h
--- a/xen/include/public/grant_table.h Wed Oct 17 16:43:55 2012 +0100
+++ b/xen/include/public/grant_table.h Thu Oct 18 08:16:49 2012 +0100
@@ -385,7 +385,11 @@ struct gnttab_setup_table {
uint32_t nr_frames;
/* OUT parameters. */
int16_t status; /* => enum grant_status */
+#if __XEN_INTERFACE_VERSION__ < 0x00040300
+ XEN_GUEST_HANDLE(ulong) frame_list;
+#else
XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
+#endif
};
typedef struct gnttab_setup_table gnttab_setup_table_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_t);
diff -r 5c402b905e00 -r 68f0f7ed3e7b xen/include/public/xen-compat.h
--- a/xen/include/public/xen-compat.h Wed Oct 17 16:43:55 2012 +0100
+++ b/xen/include/public/xen-compat.h Thu Oct 18 08:16:49 2012 +0100
@@ -27,7 +27,7 @@
#ifndef __XEN_PUBLIC_XEN_COMPAT_H__
#define __XEN_PUBLIC_XEN_COMPAT_H__
-#define __XEN_LATEST_INTERFACE_VERSION__ 0x00040200
+#define __XEN_LATEST_INTERFACE_VERSION__ 0x00040300
#if defined(__XEN__) || defined(__XEN_TOOLS__)
/* Xen is built with matching headers and implements the latest interface. */
diff -r 5c402b905e00 -r 68f0f7ed3e7b xen/include/public/xen.h
--- a/xen/include/public/xen.h Wed Oct 17 16:43:55 2012 +0100
+++ b/xen/include/public/xen.h Thu Oct 18 08:16:49 2012 +0100
@@ -43,6 +43,10 @@ DEFINE_XEN_GUEST_HANDLE(char);
__DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
DEFINE_XEN_GUEST_HANDLE(int);
__DEFINE_XEN_GUEST_HANDLE(uint, unsigned int);
+#if __XEN_INTERFACE_VERSION__ < 0x00040300
+DEFINE_XEN_GUEST_HANDLE(long);
+__DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long);
+#endif
DEFINE_XEN_GUEST_HANDLE(void);
DEFINE_XEN_GUEST_HANDLE(uint64_t);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |