x86, fpu: Use the proper asm constraint in use_xsave()
authorH. Peter Anvin <hpa@zytor.com>
Mon, 10 May 2010 20:41:41 +0000 (13:41 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 10 May 2010 20:41:41 +0000 (13:41 -0700)
The proper constraint for a receiving 8-bit variable is "=qm", not
"=g" which equals "=rim"; even though the "i" will never match, bugs
can and do happen due to the difference between "q" and "r".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <1273135546-29690-2-git-send-email-avi@redhat.com>

arch/x86/include/asm/i387.h

index 1a8cca3..8002e9c 100644 (file)
@@ -64,7 +64,7 @@ static inline bool use_xsave(void)
        alternative_io("mov $0, %0",
                       "mov $1, %0",
                       X86_FEATURE_XSAVE,
-                      "=g"(has_xsave));
+                      "=qm" (has_xsave));
 
        return has_xsave;
 }