The patch series adds invalid guest state emulation for VMX hosts, which is needed in order to properly support real mode guests. Usually, a guest would be in an VMX-invalid state during mode switches from real to protected mode or vice versa. We handle this invalid state by using the x86 emulator to emulate instructions until we arrive back to a VMX-friendly state. This is achieved by: - Adding thorough guest state checking in order to catch and handle invalid states - Adding a guest state handler which emulates instructions till guest state is valid - Adding an "emulation required" flag, enabled on mode switches, to indicated that emulation is needed - Checking for guest state on vcpu_run() and emulating instructions instead of entering VMX if the state is invalid.
The next step needed is to add more instructions to the x86 emulator, since we might run into instructions not supported yet. In order not to interfere with normal KVM operation, a module parameter 'emulate_invalid_guest_state' -which is disabled by default- that is used in order to drive emulation. Bear in mind that currently you can't use this patch alone to get real mode guests to work. There is still a lot of work needed on the x86 emulator in order not to run into failures running these guests. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html