From: Andrew Cooper Date: Mon, 8 Jul 2019 22:12:06 +0000 (+0100) Subject: x86/gnttab: Use explicit instruction size in gnttab_clear_flags() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~1944 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c1247554578180ba1ff688fd4892f498243c230e;p=xen.git x86/gnttab: Use explicit instruction size in gnttab_clear_flags() 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)); ^ :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 Reviewed-by: Jan Beulich --- diff --git a/xen/include/asm-x86/grant_table.h b/xen/include/asm-x86/grant_table.h index 568a6bb57c..61c889b297 100644 --- a/xen/include/asm-x86/grant_table.h +++ b/xen/include/asm-x86/grant_table.h @@ -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. */