>>> On 06.09.15 at 08:32, <feng...@intel.com> wrote:
>> From: Wu, Feng
>> Sent: Sunday, September 06, 2015 2:07 PM
>> If that is the case, what about the changes below?
>> 
>> #define cmpxchg16b(ptr,o,n)
>> \
>>     ASSERT((unsigned long)ptr & 0xF == 0);
>> \
>>     ASSERT(sizeof(*o) == sizeof(__uint128_t))
>> \
>>     ASSERT(sizeof(*n) == sizeof(__uint128_t))
>> \
>>     __cmpxchg16b((ptr), (void *)(o), (void *)(n))
> 
> Seems there is a build error with this change, we cannot
> add stuff before __cmpxchg() since it needs return some
> value to the caller. Any suggestion here?

You of course first need to make this proper C (missing semicolons)
and convert it to a construct that is just a single statement (if
necessary using gcc's compound expression extension).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to