Date: Mon, 19 Jan 1998 20:17:59 -0500 From: Randall Hopper <rhh@ct.picker.com> To: Jonathan Lemon <jlemon@americantv.com> Cc: emulation@FreeBSD.ORG Subject: Re: DOSCMD: Problems w/ Quicken Message-ID: <19980119201759.61620@ct.picker.com> In-Reply-To: <19980119103920.28769@right.PCS>; from Jonathan Lemon on Mon, Jan 19, 1998 at 10:39:20AM -0600 References: <19980119022348.44312@hydrogen.nike.efn.org> <199801191136.WAA00350@word.smith.net.au> <19980119103920.28769@right.PCS>
next in thread | previous in thread | raw e-mail | index | archive | help
Jonathan Lemon: |>From one of the original postings, the setup message for doscmd says |`Init: 0', which indicates that the hardware does not support VME. Hmm. Well, in the boot-up probes, it says my CPU does support VME: CPU: Pentium (233.22-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x543 Stepping=3 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> However, looking at the sysarch() kernel path briefly, it appears that the 0 after Init: is just the return code of sysarch() and vm86_sysarch(), which for the latter, just implies that the copyin()'s and i386_extend_pcb() didn't fail. |When an int13 (gpf) is generated, under VME, it simply looks at the |interrupt vector, and jumps directly to the associated interrupt handler, |without leaving vm86 mode. Without VME, it falls back to doscmd, with |a SIGBUS. | |doscmd looks at the instruction to try to figure out why the interrupt |was generated (sti, cli, popf, etc) and if it doesn't find it, assumes |that this is an illegal instruction. It doesn't attempt to jump to the |int 13 vector. It does this since SIGBUS is overloaded with all sorts |of things and typically a GPF is fatal anyway. | |The following (untested) patch to doscmd might fix the problem. |-- |+ #if 0 | dump_regs(REGS); | fatal("unsupported instruction\n"); |+ #endif |+ fake_int(REGS, 13); I just tried this, but when the exception happened, I got an unending stream of: IRQ5 with no handler! IRQ5 with no handler! in the parent terminal. I don't know if this is a result or just the next snag after the current one. Randall
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980119201759.61620>