Jeremy Fitzhardinge wrote:
> Linus Torvalds wrote:
>   
>> On Fri, 20 Jun 2008, Ingo Molnar wrote:
>>   
>>     
>>> okay - Jeremy, could you try the fix below? (or tip/master, i just 
>>> pushed this out)
>>>     
>>>       
>> Actually, don't try that one.
>>
>> It needs to be a _byte_ registers, so "ir" was wrong. You need "iq".
>>   
>>     
>
> Doesn't work, unfortunately:
> {standard input}:20511: Error: Incorrect register `%eax' used with `b' 
> suffix
>
>         lock; orb %eax,1(%rdi)  # tmp64,
>   

This does work:

                asm volatile(LOCK_PREFIX "orb %1,%0"
                        : CONST_MASK_ADDR(nr, addr)
                        : "iq" ((u8)CONST_MASK(nr))
                        : "memory");

(ie, explicitly casting the mask to u8)

    J
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to