Subject: [PATCH] arm64: KVM: export current vcpu->pause state via pseudo regs

From: [email-masked] (Will Deacon)
Date: Thu, 31 Jul 2014 18:44:00 +0100

On Thu, Jul 31, 2014 at 06:36:35PM +0100, Peter Maydell wrote:
> On 31 July 2014 18:21, Paolo Bonzini <[email-masked]> wrote:
> > What does ARM do if you have a WFI while interrupts are disabled?  On
> > x86 after "cli;hlt" only an NMI will wake you up.  With spurious
> > wakeups, it's pretty much guaranteed that you will break such "cli;hlt"
> > sequences.
> 
> The architecture mandates some things that *must* wake you from
> a WFI, but it also allows wakeups for other reasons not listed, or
> for no reason at all. It's perfectly valid to implement WFI as a NOP
> (though it would not be very good for power efficiency, obviously).
> Guests which don't surround WFI with a "check whether we should
> just go back to WFI" loop are buggy.

(and in case that wasn't clear, local_irq_disable() doesn't prevent an
interrupt from waking you up from wfi, otherwise our idle code would be
broken).

Will