[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XenPPC] [PATCH] Fix xchg api to for Xen-unstable
On Wed, 2007-04-04 at 08:57 -0400, Jimi Xenidis wrote: > hmm, how did this ever work?! > I your problem with a direct caller of __xchg() or is this thru the > macro xchg()? The caller is in common/domain.c @ line 310: /* Already dying? Then bail. */ if ( xchg(&d->is_dying, 1) ) { domain_unpause(d); return; } The current macro matches that one in x86. But the parameters we have for __xchg are not in the same order. So one has to change to be right. > > 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? Doubtful..see use of code above. > I'd rather not change __xchg(). Ok .. I've attached a patch to this email with that change instead of changing __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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |