[HVM][VMX] Fix the build with certain versions of gcc.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 12 Jun 2006 09:09:44 +0000 (10:09 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 12 Jun 2006 09:09:44 +0000 (10:09 +0100)
Restrict register choices to this which are byte addressable.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/include/asm-x86/hvm/vmx/vmx.h

index 074c85bbaf4bfd0481984c3eb66b7c6a9e4c3767..444751ec6eaba9a93503fbc5e3909020cfb89653 100644 (file)
@@ -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");