]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
x86/gnttab: Use explicit instruction size in gnttab_clear_flags()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 8 Jul 2019 22:12:06 +0000 (23:12 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 9 Jul 2019 14:06:05 +0000 (09:06 -0500)
The OpenSUSE Leap compilers complain about ambiguity:

In file included from grant_table.c:33:
In file included from ...xen/include/xen/grant_table.h:30:
...xen/include/asm/grant_table.h:67:19: error: ambiguous instructions require
an explicit suffix (could be 'andb', 'andw', 'andl', or 'andq')
    asm volatile ("lock and %1,%0" : "+m" (*addr) : "ir" ((uint16_t)~mask));
                  ^
<inline asm>:1:2: note: instantiated into assembly here
        lock and $-17,(%rsi)
        ^

Full logs: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/247600284
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/include/asm-x86/grant_table.h

index 568a6bb57c40524738718320bc46e36a71fbe544..61c889b2970921afb38ab0aa2f9235f465c9e8d0 100644 (file)
@@ -64,7 +64,7 @@ static inline void gnttab_clear_flags(struct domain *d,
                                       unsigned int mask, uint16_t *addr)
 {
     /* Access must be confined to the specified 2 bytes. */
-    asm volatile ("lock and %1,%0" : "+m" (*addr) : "ir" ((uint16_t)~mask));
+    asm volatile ("lock andw %1,%0" : "+m" (*addr) : "ir" ((uint16_t)~mask));
 }
 
 /* Foreign mappings of HVM-guest pages do not modify the type count. */