On Sun, Apr 19, 2009 at 04:07:52PM +0200, Julian Stecklina wrote: > Gleb Natapov <gleb@xxxxxxxxxx> writes: > > > On Sun, Apr 19, 2009 at 04:43:12PM +0300, Avi Kivity wrote: > >> Gleb Natapov wrote: > >>> On Sun, Apr 19, 2009 at 04:40:51PM +0300, Avi Kivity wrote: > >>> > >>>> Gleb Natapov wrote: > >>>> > >>>>>> It's OK as a first step towards correct NMI emulation. Additionally, you > >>>>>> could enable the IRQ window interception in case the is an NMI pending. > >>>>>> The resulting behavior should then much like the VNMI mask emulation for > >>>>>> vmx. > >>>>>> > >>>>>> > >>>>> Yeah, but the question is if IRQ windows is already opened will exit > >>>>> happens before or after IRET. > >>>>> > >>>> You mean if the NMI handler enabled interrupts? > >>>> > >>>> > >>> Yes. > >>> > >>> > >> > >> Then the guest deserves whatever it gets... > >> > > I suspect windows may do this since it uses NMI for task switching. > > Could you elaborate on that? How/why does it use NMIs for task > switching? > During WHQL testing (or if you just enable verifier on windows 2003) windows changes hibernate to not power down a PC, but resume immediately. During this immediate resume it sends NMI to non-boot CPUs while IDT for nmi is configured as a task gate. I am not sure it actually calls IRET after that. -- Gleb. -- 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