WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

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

On Thu, 2007-04-05 at 11:23 -0400, Jimi Xenidis wrote:
> On Apr 4, 2007, at 10:43 PM, Jerone Young wrote:
> 
> > 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.
> 
> Why?
How did I know that this would come back to haunt me :-)... it was late
and I wasn't thinking straight.

So this should work. The parameters are correct now with this approach.

I'll send another patch using this instead ;-)

> 
> 
> 


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

<Prev in Thread] Current Thread [Next in Thread>