On 2013-02-27 12:17, Joerg Roedel wrote: > On Sun, Feb 24, 2013 at 03:08:53PM +0100, Jan Kiszka wrote: >> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> > >> @@ -2390,6 +2390,21 @@ static int nested_svm_vmexit(struct vcpu_svm *svm) >> return 0; >> } >> +static bool nested_svm_handle_init_received(struct kvm_vcpu *vcpu) >> +{ >> + struct vcpu_svm *svm = to_svm(vcpu); >> + >> + if (!is_guest_mode(vcpu) || >> + !(svm->nested.intercept & (1ULL << INTERCEPT_INIT))) >> + return false; >> + >> + svm->vmcb->control.exit_code = SVM_EXIT_INIT; >> + svm->vmcb->control.exit_int_info = 0; >> + nested_svm_vmexit(svm); >> + >> + return true; >> +} > > [...] > >> + if (vcpu->arch.mp_state == KVM_MP_STATE_INIT_RECEIVED && >> + kvm_x86_ops->handle_init_received(vcpu)) { >> + /* nested vmexit, L1 is runnable now */ >> + vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE; >> + return 1; >> + } > > Hmm, looks like the INIT signal is lost after the VMEXIT. But on SVM the > INIT signal is still pending an will be delivered when GIF becomes one > again. Do I miss anything? No, this is unsolved yet, see the other mail. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux -- 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