Il 22/05/2014 05:55, Jidong Xiao ha scritto:
Hi, I noticed that there is a file call emulate.c, under the directory of arch/x86/kvm/, in its header part, it says: "Generic x86 (32-bit and 64-bit) instruction decoder and emulator." I am confused about this, since qemu will be the emulator, why does kvm itself also includes such an emulator? In particular, I added some printk debug statement in x86_emulate_insn() and emulate_instruction(), but I never see them being invoked. Can someone kindly explain this, thank you!
QEMU is providing the device model and interfaces with KVM. QEMU's CPU emulation functionality is not used when running with KVM.
The KVM emulator is used: 1) to execute instructions that read or write to device memory; 2) to run "big real mode" programs on microprocessors that do not support it natively, for example Intel processors older than Westmere.
Paolo -- 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