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.kis...@siemens.com>
> 
>> @@ -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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to