[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XenPPC] [PATCH] Fix xchg api to for Xen-unstable




hmm, how did this ever work?!
I your problem with a direct caller of __xchg() or is this thru the macro xchg()?

I notice we have the macro wrong (at least in my copy of xen source):
#define xchg(ptr,v) ((__typeof__(*(ptr)))__xchg((unsigned long)(v), (ptr),sizeof(*(ptr))))

where it should be (from Linux):
  #define xchg(ptr,x)                                                        \
  ({                                                                         \
     __typeof__(*(ptr)) _x_ = (x);                                           \
(__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(* (ptr))); \
  })

Will that change fix your issue?

I'd rather not change __xchg().

-JX

On Apr 4, 2007, at 2:04 AM, Jerone Young wrote:

This fixes the api for __xchg function in system.h so that PPC Xen can
build correctly in Xen unstable. This is the same API used in the __xchg
on x86.

Signed-off-by: Jerone Young <jyoung5@xxxxxxxxxx>


diff -r 7e431ea834a8 xen/include/asm-powerpc/system.h
--- a/xen/include/asm-powerpc/system.h  Tue Apr 03 13:22:37 2007 +0100
+++ b/xen/include/asm-powerpc/system.h  Wed Jan 29 05:37:30 2031 -0600
@@ -73,7 +73,7 @@ extern void __xchg_called_with_bad_point
 extern void __xchg_called_with_bad_pointer(void);

 static __inline__ unsigned long
-__xchg(volatile void *ptr, unsigned long x, int size)
+__xchg(unsigned long x, volatile void *ptr, int size)
 {
     switch (size) {
     case 4:




_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel


_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.