From: kaf24@firebug.cl.cam.ac.uk Date: Mon, 12 Jun 2006 09:09:44 +0000 (+0100) Subject: [HVM][VMX] Fix the build with certain versions of gcc. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15972^2~10 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=16ee61ce2adab89167db3b6a310025aedc941f0e;p=xen.git [HVM][VMX] Fix the build with certain versions of gcc. Restrict register choices to this which are byte addressable. Signed-off-by: Keir Fraser --- diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h index 074c85bbaf..444751ec6e 100644 --- a/xen/include/asm-x86/hvm/vmx/vmx.h +++ b/xen/include/asm-x86/hvm/vmx/vmx.h @@ -242,7 +242,7 @@ static always_inline int ___vmread( MODRM_EAX_ECX /* CF==1 or ZF==1 --> rc = -1 */ "setna %b0 ; neg %0" - : "=r" (rc), "=c" (ecx) + : "=q" (rc), "=c" (ecx) : "a" (field) : "memory"); @@ -313,7 +313,7 @@ static inline int __vmwrite (unsigned long field, unsigned long value) MODRM_EAX_ECX /* CF==1 or ZF==1 --> rc = -1 */ "setna %b0 ; neg %0" - : "=r" (rc) + : "=q" (rc) : "a" (field) , "c" (value) : "memory"); @@ -366,7 +366,7 @@ static inline int __vmxon (u64 addr) MODRM_EAX_06 /* CF==1 or ZF==1 --> rc = -1 */ "setna %b0 ; neg %0" - : "=r" (rc) + : "=q" (rc) : "a" (&addr) : "memory");