166 lines
6.1 KiB
Diff
166 lines
6.1 KiB
Diff
Index: 2008-01-07/xen/arch/ia64/xen/hypercall.c
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/arch/ia64/xen/hypercall.c 2007-12-05 17:13:57.000000000 +0100
|
|
+++ 2008-01-07/xen/arch/ia64/xen/hypercall.c 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -34,9 +34,6 @@
|
|
#include <xen/perfc.h>
|
|
#include <public/arch-ia64/debug_op.h>
|
|
|
|
-extern long do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg);
|
|
-extern long do_callback_op(int cmd, XEN_GUEST_HANDLE(void) arg);
|
|
-
|
|
static IA64FAULT
|
|
xen_hypercall (struct pt_regs *regs)
|
|
{
|
|
@@ -457,7 +454,7 @@ static long unregister_guest_callback(st
|
|
/* First time to add callback to xen/ia64, so let's just stick to
|
|
* the newer callback interface.
|
|
*/
|
|
-long do_callback_op(int cmd, XEN_GUEST_HANDLE(void) arg)
|
|
+long do_callback_op(int cmd, XEN_GUEST_HANDLE(cvoid) arg)
|
|
{
|
|
long ret;
|
|
|
|
Index: 2008-01-07/xen/arch/x86/x86_32/traps.c
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/arch/x86/x86_32/traps.c 2007-11-26 16:57:03.000000000 +0100
|
|
+++ 2008-01-07/xen/arch/x86/x86_32/traps.c 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -419,7 +419,7 @@ static long unregister_guest_callback(st
|
|
}
|
|
|
|
|
|
-long do_callback_op(int cmd, XEN_GUEST_HANDLE(void) arg)
|
|
+long do_callback_op(int cmd, XEN_GUEST_HANDLE(cvoid) arg)
|
|
{
|
|
long ret;
|
|
|
|
Index: 2008-01-07/xen/arch/x86/x86_64/traps.c
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/arch/x86/x86_64/traps.c 2007-11-02 17:25:58.000000000 +0100
|
|
+++ 2008-01-07/xen/arch/x86/x86_64/traps.c 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -470,7 +470,7 @@ static long unregister_guest_callback(st
|
|
}
|
|
|
|
|
|
-long do_callback_op(int cmd, XEN_GUEST_HANDLE(void) arg)
|
|
+long do_callback_op(int cmd, XEN_GUEST_HANDLE(cvoid) arg)
|
|
{
|
|
long ret;
|
|
|
|
Index: 2008-01-07/xen/include/asm-x86/guest_access.h
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/include/asm-x86/guest_access.h 2007-12-07 11:51:50.000000000 +0100
|
|
+++ 2008-01-07/xen/include/asm-x86/guest_access.h 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -34,7 +34,8 @@
|
|
*/
|
|
#define copy_to_guest_offset(hnd, off, ptr, nr) ({ \
|
|
const typeof(*(ptr)) *_s = (ptr); \
|
|
- char (*_d)[sizeof(*_s)] = (void *)(hnd).p; \
|
|
+ void *_p = (hnd).p; \
|
|
+ char (*_d)[sizeof(*_s)] = _p; \
|
|
((void)((hnd).p == (ptr))); \
|
|
is_hvm_vcpu(current) ? \
|
|
copy_to_user_hvm(_d+(off), _s, sizeof(*_s)*(nr)) : \
|
|
@@ -82,7 +83,8 @@
|
|
|
|
#define __copy_to_guest_offset(hnd, off, ptr, nr) ({ \
|
|
const typeof(*(ptr)) *_s = (ptr); \
|
|
- char (*_d)[sizeof(*_s)] = (void *)(hnd).p; \
|
|
+ void *_p = (hnd).p; \
|
|
+ char (*_d)[sizeof(*_s)] = _p; \
|
|
((void)((hnd).p == (ptr))); \
|
|
is_hvm_vcpu(current) ? \
|
|
copy_to_user_hvm(_d+(off), _s, sizeof(*_s)*(nr)) : \
|
|
Index: 2008-01-07/xen/include/public/arch-ia64.h
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/include/public/arch-ia64.h 2008-01-07 12:02:52.000000000 +0100
|
|
+++ 2008-01-07/xen/include/public/arch-ia64.h 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -47,18 +47,7 @@
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
-/* Guest handles for primitive C types. */
|
|
-__DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
|
|
-__DEFINE_XEN_GUEST_HANDLE(uint, unsigned int);
|
|
-__DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long);
|
|
-__DEFINE_XEN_GUEST_HANDLE(u64, unsigned long);
|
|
-DEFINE_XEN_GUEST_HANDLE(char);
|
|
-DEFINE_XEN_GUEST_HANDLE(int);
|
|
-DEFINE_XEN_GUEST_HANDLE(long);
|
|
-DEFINE_XEN_GUEST_HANDLE(void);
|
|
-
|
|
typedef unsigned long xen_pfn_t;
|
|
-DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
|
|
#define PRI_xen_pfn "lx"
|
|
#endif
|
|
|
|
Index: 2008-01-07/xen/include/public/arch-powerpc.h
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/include/public/arch-powerpc.h 2008-01-07 12:02:52.000000000 +0100
|
|
+++ 2008-01-07/xen/include/public/arch-powerpc.h 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -47,17 +47,7 @@
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
-/* Guest handles for primitive C types. */
|
|
-__DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
|
|
-__DEFINE_XEN_GUEST_HANDLE(uint, unsigned int);
|
|
-__DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long);
|
|
-DEFINE_XEN_GUEST_HANDLE(char);
|
|
-DEFINE_XEN_GUEST_HANDLE(int);
|
|
-DEFINE_XEN_GUEST_HANDLE(long);
|
|
-DEFINE_XEN_GUEST_HANDLE(void);
|
|
-
|
|
typedef unsigned long long xen_pfn_t;
|
|
-DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
|
|
#define PRI_xen_pfn "llx"
|
|
#endif
|
|
|
|
Index: 2008-01-07/xen/include/public/arch-x86/xen.h
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/include/public/arch-x86/xen.h 2008-01-07 12:02:52.000000000 +0100
|
|
+++ 2008-01-07/xen/include/public/arch-x86/xen.h 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -53,17 +53,7 @@
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
-/* Guest handles for primitive C types. */
|
|
-__DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
|
|
-__DEFINE_XEN_GUEST_HANDLE(uint, unsigned int);
|
|
-__DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long);
|
|
-DEFINE_XEN_GUEST_HANDLE(char);
|
|
-DEFINE_XEN_GUEST_HANDLE(int);
|
|
-DEFINE_XEN_GUEST_HANDLE(long);
|
|
-DEFINE_XEN_GUEST_HANDLE(void);
|
|
-
|
|
typedef unsigned long xen_pfn_t;
|
|
-DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
|
|
#define PRI_xen_pfn "lx"
|
|
#endif
|
|
|
|
Index: 2008-01-07/xen/include/public/xen.h
|
|
===================================================================
|
|
--- 2008-01-07.orig/xen/include/public/xen.h 2008-01-07 12:02:52.000000000 +0100
|
|
+++ 2008-01-07/xen/include/public/xen.h 2008-01-07 12:11:43.000000000 +0100
|
|
@@ -39,6 +39,20 @@
|
|
#error "Unsupported architecture"
|
|
#endif
|
|
|
|
+#ifndef __ASSEMBLY__
|
|
+/* Guest handles for primitive C types. */
|
|
+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(cvoid, const void);
|
|
+
|
|
+DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
|
|
+#endif
|
|
+
|
|
/*
|
|
* HYPERCALLS
|
|
*/
|