diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2014-05-08 18:32:32 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2014-05-08 18:44:35 -0400 |
commit | 3fcabf0281bb89f3e54d4f2ffad14fca22def6ae (patch) | |
tree | fde3f0515b943a425530084381700e9f5c0f2b0e /src/system.c | |
parent | 9d0d08c8debe560eadec5079def966874e90f026 (diff) | |
download | seabios-3fcabf0281bb89f3e54d4f2ffad14fca22def6ae.tar.gz |
Fix int 1589 calls when CONFIG_ENTRY_EXTRASTACK is enabled.
The int 1589 call is entered in real mode and returns in protected
mode. However, the code to use the "extra stack" does not support
that. Fix this by never using the "extra stack" on int 1589 calls.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/system.c')
-rw-r--r-- | src/system.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/system.c b/src/system.c index 3cb2228f..756dc311 100644 --- a/src/system.c +++ b/src/system.c @@ -191,9 +191,10 @@ handle_1588(struct bregs *regs) } // Switch to protected mode -static void +void VISIBLE16 handle_1589(struct bregs *regs) { + debug_enter(regs, DEBUG_HDL_15); set_a20(1); pic_reset(regs->bl, regs->bh); @@ -355,7 +356,6 @@ handle_15(struct bregs *regs) case 0x86: handle_1586(regs); break; case 0x87: handle_1587(regs); break; case 0x88: handle_1588(regs); break; - case 0x89: handle_1589(regs); break; case 0x90: handle_1590(regs); break; case 0x91: handle_1591(regs); break; case 0xc0: handle_15c0(regs); break; |