diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2008-02-25 22:30:47 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2008-02-25 22:30:47 -0500 |
commit | 38fcbfeebc7ce9c1aa940c1b98f6141f161a6ff4 (patch) | |
tree | 31ca1bb3a2f9a8d44695df13a183d01ca87abe3e /src/system.c | |
parent | 4b60c000deee2002ba272b45a1121df7495c39f9 (diff) | |
download | seabios-rel-0.1.2.tar.gz |
Version 0.1.2rel-0.1.2
Diffstat (limited to 'src/system.c')
-rw-r--r-- | src/system.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/system.c b/src/system.c index 3967fc49..f54f9308 100644 --- a/src/system.c +++ b/src/system.c @@ -282,6 +282,13 @@ handle_1591(struct bregs *regs) { } +// keyboard intercept +static void +handle_154f(struct bregs *regs) +{ + set_cf(regs, 1); +} + static void handle_15c0(struct bregs *regs) { @@ -453,6 +460,7 @@ handle_15(struct bregs *regs) default: handle_1524XX(regs); break; } break; + case 0x4f: handle_154f(regs); break; case 0x52: handle_1552(regs); break; case 0x83: switch (regs->al) { @@ -526,4 +534,13 @@ void VISIBLE handle_75(struct bregs *regs) { debug_enter(regs); + + // clear irq13 + outb(0, PORT_MATH_CLEAR); + // clear interrupt + eoi_both_pics(); + // legacy nmi call + struct bregs br; + memset(&br, 0, sizeof(br)); + call16_int(0x02, &br); } |