aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2015-12-23 15:33:02 -0500
committerKevin O'Connor <kevin@koconnor.net>2015-12-28 11:48:26 -0500
commit0c5a6077fc569d27aeadde690810f820b3256fbd (patch)
tree59158951182cd2a7f430fdd15b67354b72e60c31
parent636cbb435a6fb9f08689e32fc87d699fb5b1d8f3 (diff)
downloadseabios-hppa-0c5a6077fc569d27aeadde690810f820b3256fbd.zip
seabios-hppa-0c5a6077fc569d27aeadde690810f820b3256fbd.tar.gz
seabios-hppa-0c5a6077fc569d27aeadde690810f820b3256fbd.tar.bz2
nmi: Don't try to switch onto extra stack in NMI handler
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@koconnor.net>
-rw-r--r--src/romlayout.S5
1 files changed, 4 insertions, 1 deletions
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