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
The caller is in common/domain.c @ line 310:
/* Already dying? Then bail. */
if ( xchg(&d->is_dying, 1) )
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
I notice we have the macro wrong (at least in my copy of xen source):
#define xchg(ptr,v) ((__typeof__(*(ptr)))__xchg((unsigned long)
where it should be (from Linux):
#define xchg(ptr,x) \
__typeof__(*(ptr)) _x_ = (x); \
(__typeof__(*(ptr))) __xchg((ptr), (unsigned long)_x_, sizeof(*
Will that change fix your issue?
Doubtful..see use of code above.
Xen-ppc-devel mailing list