This patchset further cleans up the emulator. The goal is to push segment decoding into 'struct operand', but a few things stood in the way. Avi Kivity (15): KVM: x86 emulator: push segment override out of decode_modrm() KVM: x86 emulator: use correct type for memory address in operands KVM: x86 emulator: simplify xchg decode tables KVM: x86 emulator: use SrcAcc to simplify xchg decoding KVM: x86 emulator: put register operand fetch into a function KVM: x86 emulator: drop use_modrm_ea KVM: x86 emulator: simplify REX.W check KVM: x86 emulator: introduce Force64 for forcing operand size to 64 bits KVM: x86 emulator: mark mov cr and mov dr as 64-bit instructions in long mode KVM: x86 emulator: use struct operand for mov reg,cr and mov cr,reg for reg op KVM: x86 emulator: use struct operand for mov reg,dr and mov dr,reg for reg op KVM: x86 emulator: add NoAccess flag for memory instructions that skip access KVM: x86 emulator: switch LEA to use SrcMem decoding KVM: x86 emulator: change invlpg emulation to use src.mem.addr KVM: x86 emulator: Decode memory operands directly into a 'struct operand' arch/x86/include/asm/kvm_emulate.h | 11 +- arch/x86/kvm/emulate.c | 321 ++++++++++++++++-------------------- 2 files changed, 147 insertions(+), 185 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html