[NTOS:KE] Improvements for the Trap02 (NMI) and Trap08 (double-fault) exception handlers.
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Mon, 4 Feb 2019 00:16:29 +0000 (01:16 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Thu, 20 Jun 2019 17:38:56 +0000 (19:38 +0200)
commit3c8f19eb2153034b9b47fc91284b54b1200f21d8
treee8958244214d078822e5235e27ed3d0ec91ce04f
parentd15e36a1f19b78ca4acbc6041a06e5abaa8050d8
[NTOS:KE] Improvements for the Trap02 (NMI) and Trap08 (double-fault) exception handlers.

- Add FRAME_TSS FPO debug information for Trap02 and Trap08.
- Switch the active TSS in Trap08 in the very same way as is done in Trap02.

This allows to correctly debug NMI and double-fault exceptions with WinDbg,
by following the different TSS contexts, as described in:
https://blogs.msdn.microsoft.com/debuggingtoolbox/2008/02/22/special-command-analyzing-and-reconstructing-the-stack-using-the-k-command-and-its-variations/
https://blogs.msdn.microsoft.com/ntdebugging/2009/11/25/part-1-got-stack-no-we-ran-out-of-kernel-mode-stack-and-kv-wont-tell-me-why/
http://www.osronline.com/article.cfm?article=254 and http://www.osronline.com/article.cfm?article=328
ntoskrnl/include/internal/i386/asmmacro.S
ntoskrnl/include/internal/i386/ke.h
ntoskrnl/ke/i386/trap.s
ntoskrnl/ke/i386/traphdlr.c