diff options
author | jlemon <jlemon@FreeBSD.org> | 1997-09-30 22:04:06 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 1997-09-30 22:04:06 +0000 |
commit | d41bb2bc87f29068e4d03f319a4989911f2cd73c (patch) | |
tree | 648a56a6242ed5ba9d08e736053edb3c7c0a6194 /usr.bin/doscmd/trap.c | |
parent | 0f45f2fb69fa51d32a49bcda72f6de056fdf4b0a (diff) | |
download | FreeBSD-src-d41bb2bc87f29068e4d03f319a4989911f2cd73c.zip FreeBSD-src-d41bb2bc87f29068e4d03f319a4989911f2cd73c.tar.gz |
Add support for EMS emulation to doscmd. This requires changing the
interface for callbacks to doscmd from DOS, obsoleting the instbsdi
redirector. (redir.com replaces it)
A temporary hack is in place so the instbsdi program will (hopefully) work
in the short term.
Submitted by: Helmut F. Wirth <hfwirth@ping.at>
Diffstat (limited to 'usr.bin/doscmd/trap.c')
-rw-r--r-- | usr.bin/doscmd/trap.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.bin/doscmd/trap.c b/usr.bin/doscmd/trap.c index 7f11368..a3d5af0 100644 --- a/usr.bin/doscmd/trap.c +++ b/usr.bin/doscmd/trap.c @@ -29,7 +29,7 @@ * * BSDI trap.c,v 2.3 1996/04/08 19:33:08 bostic Exp * - * $Id: trap.c,v 1.10 1996/10/02 00:31:43 miff Exp $ + * $Id: trap.c,v 1.1 1997/08/09 01:42:58 dyson Exp $ */ #include "doscmd.h" @@ -63,7 +63,7 @@ fake_int(regcontext_t *REGS, int intnum) int2f(®S->sc); break; case 0xff: /* doscmd special */ - intff(REGS); + emuint(REGS); break; default: /* should not get here */ if (vflag) dump_regs(REGS); @@ -581,7 +581,7 @@ sigalrm(struct sigframe *sf) update_counter = 0; /* remember we've updated */ video_update(®S->sc); hardint(0x08); -/* debug(D_ALWAYS,"\n"); */ +/* debug(D_ALWAYS,"\n"); */ if (tmode) tracetrap(REGS); @@ -604,6 +604,9 @@ sigfpe(struct sigframe *sf) regcontext_t *REGS = (regcontext_t *)(&sf->sf_sc); if (R_EFLAGS & PSL_VM) { + dump_regs(REGS); + debug(D_ALWAYS, "DOS program caused floating point fault\n"); +/*XXX Look into that !! */ fake_int(REGS, 0); /* call handler XXX rather bogus, eh? */ return; } |