fter some conversation with Avi concerning why unreal mode has been seen to work with KVM on Intel. It clears out the scenario is caused as follows: - guest enters big real mode - kvm squashes limit to 64k-1 - guest executes instructions with offset > 64k - cpu issues #GP due to limit violation - kvm handle_rmode_exception() -> emulator - emulator ignores limit, emulates instruction With these applied I am getting vmentry failures with SeaBIOS and gPXE. I could still get SeaBIOS to work with emulate_invalid_guest_state=1. So it's needless to say that these patches are not meant for merging! -------- Changes from v2: - Addeded generic segment limit check helpers - Removed individual segment register segment helpers as they're no longer needed -------- Mohammed Gamal (3): Add helper methods to get segment limits x86 emulator: Add segment limit checking helpers x86 emulator: Add segment limit checks to emulator arch/x86/include/asm/kvm_emulate.h | 1 + arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/emulate.c | 112 ++++++++++++++++++++++++++++------- arch/x86/kvm/svm.c | 8 +++ arch/x86/kvm/vmx.c | 8 +++ arch/x86/kvm/x86.c | 12 ++++ 6 files changed, 119 insertions(+), 23 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