On 2011-03-23 15:58, Avi Kivity wrote: > On 03/23/2011 04:54 PM, Jan Kiszka wrote: >>> @@ -3991,9 +3987,7 @@ static void __vmx_complete_interrupts(struct vcpu_vmx *vmx, >>> * Clear bit "block by NMI" before VM entry if a NMI >>> * delivery faulted. >>> */ >>> - vmcs_clear_bits(GUEST_INTERRUPTIBILITY_INFO, >>> - GUEST_INTR_STATE_NMI); >>> - vmx->nmi_known_unmasked = true; >>> + vmx_set_nmi_mask(&vmx->vcpu, false); >>> break; >>> case INTR_TYPE_SOFT_EXCEPTION: >>> vmx->vcpu.arch.event_exit_inst_len = >> >> Looks consistent to me, but maybe you should update the comment above >> that's now also applied to the emulated mask. > > In what way? > > /* > * SDM 3: 27.7.1.2 (September 2008) > * Clear bit "block by NMI" before VM entry if a NMI > * delivery faulted. > */ > > Seems pretty descriptive. IIRC, the above only applies to CPUs that support VNMI and is meaningless for older ones. But vmx_set_nmi_mask is not void for those old CPUs. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 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