OpenCloudOS-Kernel/arch/x86/include
Bandan Das 41061cdb98 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>
2014-07-11 09:14:01 +02:00
..
asm KVM: emulate: do not initialize memopp 2014-07-11 09:14:01 +02:00
uapi/asm KVM: nVMX: Advertise support for MSR_IA32_VMX_TRUE_*_CTLS 2014-06-19 12:52:11 +02:00