Corey Minyard <minyard@xxxxxxx> writes:"mostly useless" and "completely useless" are two different things.
This patch fixes a race between the CMOS clock setting and the NMI
code. The NMI code indiscriminatly sets index registers and values
in the same place the CMOS clock is set. If you are setting the
CMOS clock and an NMI occurs, Bad values could be written to or
read from the CMOS RAM, or the NMI operation might not occur
correctly.
In general you should send all x86-64 patches to me. I would have
eventually merged it from i386 anyways if it was good.
But in this case it isnt. Instead of all this complexity just remove the NMI reassert code from the NMI handler.
It is oudated and mostly useless on modern systems anyways.
Since the NMI watchdog runs regularly even if an NMI is missed
it will be eventually handled. And even when it doesn't run
it doesn't matter much because NMI does nothing essential.
-Andi