Re: [PATCH] x86, nmi: workaround sti; hlt race vs nmi; intr

From: Avi Kivity
Date: Tue Sep 28 2010 - 04:50:39 EST


On 09/27/2010 11:55 PM, H. Peter Anvin wrote:
On 09/27/2010 02:27 AM, Avi Kivity wrote:
>
> I don't have write permissions for the spec. If you can verify that all
> existing and future hardware will mask NMI after STI and convince the
> spec owners to update the specifications, I'm all for it; it's certainly
> a cleaner solution.
>

I'm trying to see if this is doable. As you can well imagine, though,
it takes time.

Joerg, can you look at this from the AMD side?

First, do AMD processors block NMI after an IF-enabling STI? The documentation explicitly states that they don't:

Sets the interrupt flag (IF) in the rFLAGS register to 1, thereby allowing external interrupts received on
the INTR input. Interrupts received on the non-maskable interrupt (NMI) input are not affected by this
instruction.

though that may refer to the general effect of EFLAGS.IF, not STI.

Second, if NMIs are blocked, is it possible to retro-document this?

Personally I think the safer route is to take the patch. There are other processors besides Intel and AMD and we can't test all of them, not to mention various emulators and virtual machine monitors out there.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/