summaryrefslogtreecommitdiffstats
path: root/usr.bin/doscmd/trap.c
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>1997-09-30 22:04:06 +0000
committerjlemon <jlemon@FreeBSD.org>1997-09-30 22:04:06 +0000
commitd41bb2bc87f29068e4d03f319a4989911f2cd73c (patch)
tree648a56a6242ed5ba9d08e736053edb3c7c0a6194 /usr.bin/doscmd/trap.c
parent0f45f2fb69fa51d32a49bcda72f6de056fdf4b0a (diff)
downloadFreeBSD-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.c9
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(&REGS->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(&REGS->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;
}
OpenPOWER on IntegriCloud