>>> On 11.02.15 at 16:14, <andrew.coop...@citrix.com> wrote:
> On 11/02/15 13:39, Jan Beulich wrote:
>> @@ -55,12 +54,9 @@ static inline void set_bit(int nr, volat
>>   * If it's called on the same region of memory simultaneously, the effect
>>   * may be that only one operation succeeds.
>>   */
>> -static inline void __set_bit(int nr, volatile void *addr)
>> +static inline void __set_bit(int nr, void *addr)
>>  {
>> -    asm volatile (
>> -        "btsl %1,%0"
>> -        : "=m" (ADDR)
>> -        : "Ir" (nr), "m" (ADDR) : "memory");
>> +    asm volatile ( "btsl %1,%0" : "+m" (ADDR) : "Ir" (nr) : "memory" );
> 
> You presumably want to s/ADDR/addr/ to avoid re-gaining the volatile
> attribute on the pointer?

I don't think it makes a difference, but yes, that would get things
into more consistent shape. Looking at it again the memory
operand could also legitimately be just an input, as we have a
memory clobber.

Jan


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

Reply via email to