diff options
author | Avi Kivity <avi.kivity@gmail.com> | 2013-01-26 16:56:04 -0500 |
---|---|---|
committer | Gleb Natapov <gleb@redhat.com> | 2013-01-27 04:09:38 -0500 |
commit | 3f0c3d0bb2bcc4b88b22452a7cf0073ee9a0f1e6 (patch) | |
tree | e75abca462df6fbd001c323e9ec453c8c49053f0 /arch/x86/kvm | |
parent | 141687869fb904e912568c6b94a6b1fa2114f6ed (diff) |
KVM: x86 emulator: fix test_cc() build failure on i386
'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>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r-- | arch/x86/kvm/emulate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index e99fb72cd4c5..2b11318151a4 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c | |||
@@ -1013,7 +1013,7 @@ static u8 test_cc(unsigned int condition, unsigned long flags) | |||
1013 | void (*fop)(void) = (void *)em_setcc + 4 * (condition & 0xf); | 1013 | void (*fop)(void) = (void *)em_setcc + 4 * (condition & 0xf); |
1014 | 1014 | ||
1015 | flags = (flags & EFLAGS_MASK) | X86_EFLAGS_IF; | 1015 | flags = (flags & EFLAGS_MASK) | X86_EFLAGS_IF; |
1016 | asm("pushq %[flags]; popf; call *%[fastop]" | 1016 | asm("push %[flags]; popf; call *%[fastop]" |
1017 | : "=a"(rc) : [fastop]"r"(fop), [flags]"r"(flags)); | 1017 | : "=a"(rc) : [fastop]"r"(fop), [flags]"r"(flags)); |
1018 | return rc; | 1018 | return rc; |
1019 | } | 1019 | } |