KVM: x86 emulator: fix test_cc() build failure on i386
Avi Kivity [Sat, 26 Jan 2013 21:56:04 +0000 (23:56 +0200)]
'pushq' doesn't exist on i386.  Replace with 'push', which should work
since the operand is a register.

Signed-off-by: Avi Kivity <avi.kivity@gmail.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>

arch/x86/kvm/emulate.c

index e99fb72..2b11318 100644 (file)
@@ -1013,7 +1013,7 @@ static u8 test_cc(unsigned int condition, unsigned long flags)
        void (*fop)(void) = (void *)em_setcc + 4 * (condition & 0xf);
 
        flags = (flags & EFLAGS_MASK) | X86_EFLAGS_IF;
-       asm("pushq %[flags]; popf; call *%[fastop]"
+       asm("push %[flags]; popf; call *%[fastop]"
            : "=a"(rc) : [fastop]"r"(fop), [flags]"r"(flags));
        return rc;
 }