Re: [RFC PATCH] x86 NMI-safe INT3 and Page Fault (v5)

From: H. Peter Anvin
Date: Mon Apr 21 2008 - 10:30:47 EST


Pavel Machek wrote:
On Thu 2008-04-17 16:14:10, Mathieu Desnoyers wrote:
(hopefully finally CCing LKML) :)

Implements an alternative iret with popf and return so trap and exception
handlers can return to the NMI handler without issuing iret. iret would cause
NMIs to be reenabled prematurely. x86_32 uses popf and far return. x86_64 has to
copy the return instruction pointer to the top of the previous stack, issue a
popf, loads the previous esp and issue a near return (ret).

sounds expensive. Does it slow down normal loads?


It should *only* be used to return from NMI, #MC or INT3 (breakpoint), which should never happen in normal operation, and even then only when interrupting another NMI or #MC handler.

-hpa

--
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/