Hi Paolo and all, There are some question about the emulation for real mode in kvm/qemu. For all the question I suppose the 'unstrict guest' is not enabled.
1. how the protected mode CPU emulate the real mode? It seems it uses vm86, however, vm86 is not available in x86_64 CPU? So what's the 'to_vmx(vcpu)->rmode.vm86_active' here vm86 means? 2. Does the guest's real mode code run directly in native CPU? It seems 'vmx->emulation_required' is also be false, it the vmx_vcpu_run will do a switch to guest. 3. How the EPT work in guest real mode? The EPT is for GVA->GPA->HPA, however there is no GVA, seems the identity mapping does something. But there also some confusion for me. For example the real mode uses CS*4 + IP to address the code. Who does this calculation? In the kernel emulator? Thanks, Li Qiang