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

Paolo Bonzini
2013-03-12T13:13:57Z

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).

Paolo