summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/mmu.h
diff options
context:
space:
mode:
authorBandan Das <bsd@redhat.com>2014-04-16 12:46:14 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2014-07-11 09:14:01 +0200
commit41061cdb98a0bec464278b4db8e894a3121671f5 (patch)
treeda1cd3e8f52f23fe8dd614b38474065f5b9f3ca1 /arch/x86/kvm/mmu.h
parent573e80fe04db1aa44e8303037f65716ba5c3a343 (diff)
downloadlinux-41061cdb98a0bec464278b4db8e894a3121671f5.tar.gz
linux-41061cdb98a0bec464278b4db8e894a3121671f5.tar.bz2
linux-41061cdb98a0bec464278b4db8e894a3121671f5.zip
KVM: emulate: do not initialize memopp
rip_relative is only set if decode_modrm runs, and if you have ModRM you will also have a memopp. We can then access memopp unconditionally. Note that rip_relative cannot be hoisted up to decode_modrm, or you break "mov $0, xyz(%rip)". Also, move typecast on "out of range value" of mem.ea to decode_modrm. Together, all these optimizations save about 50 cycles on each emulated instructions (4-6%). Signed-off-by: Bandan Das <bsd@redhat.com> [Fix immediate operands with rip-relative addressing. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/mmu.h')
0 files changed, 0 insertions, 0 deletions