Hello, When a vmentry failure occurs, where is it caught? I see that VMX_EXIT_REASONS_FAILED_VMENTRY is defined but I don't see where it is used. Shouldn't there be something in handle_excetion() like:
static int handle_exception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) { struct vcpu_vmx *vmx = to_vmx(vcpu); u32 intr_info, error_code, exit_reason; unsigned long cr2, rip; u32 vect_info; enum emulation_result er; vect_info = vmx->idt_vectoring_info; intr_info = vmcs_read32(VM_EXIT_INTR_INFO); exit_reason = vmcs_readl(VM_EXIT_REASON); if (unlikely(exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY)) /* check why and do something */ ... } I tried but it didn't catch any vmentry failures (and I know that there is at least one during the test). The idea is to find failure due to invalid guest state (like with old gfxboot bug) and emulate the code until the guest recovers a valid state. Regards, Guillaume ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel