summaryrefslogtreecommitdiffstats
path: root/usr.bin/doscmd/trap.c
diff options
context:
space:
mode:
authortg <tg@FreeBSD.org>2001-10-02 11:28:59 +0000
committertg <tg@FreeBSD.org>2001-10-02 11:28:59 +0000
commit5a5faeb1fdc45ba96f1845430e14e114bf638d07 (patch)
tree15ee4fccd16594c90a39dddc748220e18b5aa6f0 /usr.bin/doscmd/trap.c
parentb377b771103513eea4b0a6853c82cc12a35fc3e7 (diff)
downloadFreeBSD-src-5a5faeb1fdc45ba96f1845430e14e114bf638d07.zip
FreeBSD-src-5a5faeb1fdc45ba96f1845430e14e114bf638d07.tar.gz
- First shot at PIC emulation;
- better 8250 emulation; - fake vertical retrace bit in Input Status #1 register (this was lost in the VGA emu rewrite). Submitted by: Igor Serikov <bt@turtle.pangeatech.com>
Diffstat (limited to 'usr.bin/doscmd/trap.c')
-rw-r--r--usr.bin/doscmd/trap.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/usr.bin/doscmd/trap.c b/usr.bin/doscmd/trap.c
index 678d22d..4eb8688 100644
--- a/usr.bin/doscmd/trap.c
+++ b/usr.bin/doscmd/trap.c
@@ -321,13 +321,10 @@ sigbus(struct sigframe *sf)
resettrace(REGS);
if ((R_EFLAGS & (PSL_VIP | PSL_VIF)) == (PSL_VIP | PSL_VIF)) {
- if (n_pending < 1) {
- fatal("Pending interrupts out of sync\n");
- exit(1);
- }
resume_interrupt();
goto out;
}
+
/* printf("%p\n", addr); fflush(stdout); */
debug (D_TRAPS2, "%04x:%04x [%02x %02x %02x] ", R_CS, R_IP,
(int)addr[0], (int)addr[1], (int)addr[2]);
@@ -516,7 +513,7 @@ sigbus(struct sigframe *sf)
out:
if (tmode)
- tracetrap(REGS);
+ tracetrap(REGS);
}
#endif /* USE_VM86 */
@@ -601,11 +598,9 @@ sigalrm(struct sigframe *sf)
if (tmode)
resettrace(REGS);
-/* debug(D_ALWAYS,"tick %d", update_counter); */
update_counter = 0; /* remember we've updated */
video_update((regcontext_t *)&REGS->sc);
- hardint(0x08);
-/* debug(D_ALWAYS,"\n"); */
+ hardint(0x00);
if (tmode)
tracetrap(REGS);
OpenPOWER on IntegriCloud