On Wed, Sep 14, 2011 at 10:00:07AM +0300, Avi Kivity wrote:
> On 09/13/2011 10:21 PM, Don Zickus wrote:
> >Or are you saying an NMI in an idle system will have the same %rip thus
> >falsely detecting a back-to-back NMI?
> >
> >
>
> That's easy to avoid - insert an instruction zeroing the last nmi_rip
> somewhere before or after hlt. It's always okay to execute such an
> instruction (outside the nmi handler itself), since nmi_rip is meant to
> detect a "no instructions executed" condition.
At least for classic hlt there is no simple "after hlt" because it's all
interrupt handlers and exceptions and everything else that can interrupt
combined.