Author: ros-arm-bringup Date: Fri Jan 1 22:05:41 2010 New Revision: 44862
URL: http://svn.reactos.org/svn/reactos?rev=44862&view=rev Log: NMI Support Patch 7 Straggler: [HAL]: Piggyback on V8086 handler (don't restore kernel GPF handler) during an NMI, so that we don't enter another fault context during a recursive NMI after display reset. If another NMI does happen, the V8086 GPF handler will just spin.
Modified: trunk/reactos/hal/halx86/generic/bios.c
Modified: trunk/reactos/hal/halx86/generic/bios.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/bios.c?r... ============================================================================== --- trunk/reactos/hal/halx86/generic/bios.c [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/generic/bios.c [iso-8859-1] Fri Jan 1 22:05:41 2010 @@ -313,9 +313,19 @@ HalpRestoreTrapHandlers(VOID) { // - // We're back, restore the handlers we over-wrote - // - KeRegisterInterruptHandler(13, HalpGpfHandler); + // Keep dummy GPF handler in case we get an NMI during V8086 + // + if (!HalpNMIInProgress) + { + // + // Not an NMI -- put back the original handler + // + KeRegisterInterruptHandler(13, HalpGpfHandler); + } + + // + // Restore invalid opcode handler + // KeRegisterInterruptHandler(6, HalpBopHandler); }