[PATCH] vmx: Fix register constraint in launch code

Both "=r" and "=g" breaks my build on i386:

$ make
CC [M] drivers/kvm/vmx.o
{standard input}: Assembler messages:
{standard input}:3318: Error: bad register name `%sil'
make[1]: *** [drivers/kvm/vmx.o] Error 1
make: *** [_module_drivers/kvm] Error 2

The reason is that setbe requires an 8-bit register but "=r" does not
constrain the target register to be one that has an 8-bit version on
i386.

According to

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10153

the correct constraint is "=q".

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Herbert Xu and committed by Linus Torvalds e0015489 46fd9061

+1 -1
+1 -1
drivers/kvm/vmx.c
··· 1824 #endif 1825 "setbe %0 \n\t" 1826 "popf \n\t" 1827 - : "=g" (fail) 1828 : "r"(vcpu->launched), "d"((unsigned long)HOST_RSP), 1829 "c"(vcpu), 1830 [rax]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RAX])),
··· 1824 #endif 1825 "setbe %0 \n\t" 1826 "popf \n\t" 1827 + : "=q" (fail) 1828 : "r"(vcpu->launched), "d"((unsigned long)HOST_RSP), 1829 "c"(vcpu), 1830 [rax]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RAX])),