[SeaBIOS] [PATCH] nmi: Don't try to switch onto extra stack in NMI handler

Kevin O'Connor kevin at koconnor.net
Wed Dec 23 21:47:26 CET 2015


The NMI could occur when already on the extra stack, which would
corrupt it.  Always use the current stack on an NMI to avoid this.

Signed-off-by: Kevin O'Connor <kevin at koconnor.net>
---
 src/romlayout.S | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/romlayout.S b/src/romlayout.S
index fedadfe..53cc0f5 100644
--- a/src/romlayout.S
+++ b/src/romlayout.S
@@ -548,7 +548,10 @@ entry_post:
         ENTRY_INTO32 _cfunc32flat_handle_post   // Normal entry point
 
         ORG 0xe2c3
-        IRQ_ENTRY 02
+        .global entry_02
+entry_02:
+        ENTRY handle_02  // NMI handler does not switch onto extra stack
+        iretw
 
         ORG 0xe3fe
         .global entry_13_official
-- 
2.5.0




More information about the SeaBIOS mailing list