On 2013-03-12 14:25, Gleb Natapov wrote: > On Tue, Mar 12, 2013 at 02:16:29PM +0100, Jan Kiszka wrote: >> 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. >> > It is: > vcpu->arch.apf.msr_val = 0; Can you explain the "if !(apf.msr_val & KVM_ASYNC_PF_ENABLED) return true;" in kvm_arch_can_inject_async_page_present? 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