Re: [PATCH] KVM: x86: Convert INIT and SIPI signals into synchronously handled events

Jan Kiszka
2013-03-12T13:16:32Z

On 2013-03-12 14:13, Paolo Bonzini wrote:
> Il 12/03/2013 14:01, Jan Kiszka ha scritto:
>>>>>> For example, should kvm_arch_interrupt_allowed return zero if the VCPU
>>>>>> is in the INIT_RECEIVED state?
>>>>
>>>> Yeah, that probably makes sense beyond async_pf.
>> Wait: If you perform a proper reset on INIT already, we would clear IF
>> thus prevent also async_pf injections. On the other hand,
>> kvm_arch_can_inject_async_page_present returns true if apf.msr_val &
>> KVM_ASYNC_PF_ENABLED is not set - shouldn't that be cleared on reset as
>> well? Hmm...
>
> So if you split the reset (which is done on INIT) from setting up CS on
> SIPI, you kill two birds with a stone, or at least one and a half: you
> clear IF as you wrote above, and INIT on BSP almost works (the only
> missing bit should be setting the mp_state to KVM_MP_STATE_RUNNABLE).

...unless the async_pf MSR is cleared on reset as well.

Jan

--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux