KVM: x86 emulator: fix regression with cmpxchg8b on i386 hosts
commit4c3c3a114f20eb79e0fd09fba6dd13a373a73ced
authorAvi Kivity <avi@redhat.com>
Thu, 26 Aug 2010 11:31:30 +0000 (26 14:31 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 22 Nov 2010 19:00:18 +0000 (22 11:00 -0800)
tree4a973b648c026997dfb79f115b9d80fdbafb981d
parente3a8550880f75c4ca34ac8009b8d8190d36d5c0b
KVM: x86 emulator: fix regression with cmpxchg8b on i386 hosts

commit 16518d5ada690643453eb0aef3cc7841d3623c2d upstream.

operand::val and operand::orig_val are 32-bit on i386, whereas cmpxchg8b
operands are 64-bit.

Fix by adding val64 and orig_val64 union members to struct operand, and
using them where needed.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/include/asm/kvm_emulate.h
arch/x86/kvm/emulate.c