KVM: x86 emulator: fix test_cc() build failure on i386
authorAvi Kivity <avi.kivity@gmail.com>
Sat, 26 Jan 2013 21:56:04 +0000 (23:56 +0200)
committerGleb Natapov <gleb@redhat.com>
Sun, 27 Jan 2013 09:09:38 +0000 (11:09 +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 e99fb72cd4c53896bd530ec901f8ebf8874e8109..2b11318151a468d5ec296674e71d4d7346f7af80 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;
 }