Return to BSD News archive
Newsgroups: comp.os.386bsd.questions Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!newsserver.jvnc.net!gmd.de!mururoa!veit From: veit@mururoa.gmd.de (Holger Veit) Subject: Re: DOS/Windows under 386bsd (is there such?) Message-ID: <1993May24.182422.7719@gmd.de> Sender: veit@mururoa (Holger Veit) Nntp-Posting-Host: mururoa Organization: GMD, Sankt Augustin, Germany References: <1tgme7$n0q@urmel.informatik.rwth-aachen.de> <1993May20.234750.5815@fcom.cc.utah.edu> <1tmn92INN6el@hrd769.brooks.af.mil> Date: Mon, 24 May 1993 18:24:22 GMT Lines: 47 In article <1tmn92INN6el@hrd769.brooks.af.mil>, burgess@hrd769.brooks.af.mil (Dave Burgess) writes: |> In article <1993May20.234750.5815@fcom.cc.utah.edu> terry@cs.weber.edu (A Wizard of Earth C) writes: |> > |> >Can someone more intimately familiar with the Linux "DOSEM" sources post |> >what processor DOS thinks it's running on and where the ROM images come |> >from? If the answer is "a 386", how does it get around the "page write" |> >bug and others to ensure that DOS doesn't find out it's being fooled? |> > |> |> While I CERTAINLY do not qualify as a DOSEM expert, I recall that Andrew |> Tanenbaum (of Minix fame) wrote a PC emulator for the SUN system (?) which |> included a BIOS emulator. |> |> I agree that it is probably a little silly to have a BIOS emulator in a |> machine that presumably already HAS a BIOS, it might be a path to at least |> look down. For those of you that (like me) find it perverse to even |> suggest that we emulate something that is already there, remember that once |> upon a time, the only stories about men that flew were about Icarus. |> |> It seems to me that he kept the emulator on one of the European machine |> at the University where he worked. Should be at cs.vu.nl, I believe. I doubt that it is quite helpful, because it does emulate the processor. So, to answer the question above: the emulator can circumvent the page write bug, and this way emulate a 386 without problems. But I am quite sure that DOSEM uses the native virtual-86 mode the 386 processor already has, with its own 640K environment and traps that handle the more critical problems like redirecting interrupts and interpreting privileged I/O instructions. DOS (at least until DOS3.3, without the nitty things like himem.sys and emm386.exe) is quite happy with a 8086 (even a vm86()-emulated one). The native ROM-BIOS, however, should be replaced by emulator-traps, because it deals with things 386bsd or Linux as the host does not like to see, like messing around with the I/O devices. Furthermore, today's modern 386BIOS versions partly run in 386 mode, which is trapped by the virtual-86 environment. Mapping the DOS I/O and filesystem environment to the Unix environment is basically the task performed by the DOS emulator, supported by the kernel that prepares a closed and protected virtual-86 subsystem. Holger -- Dr. Holger Veit | INTERNET: Holger.Veit@gmd.de | | / GMD-SET German National Research | Phone: (+49) 2241 14 2448 |__| / Center for Computer Science | Fax: (+49) 2241 14 2342 | | / P.O. Box 13 16 | Three lines Signature space | |/ Schloss Birlinghoven | available for rent. Nearly DW-5205 St. Augustin, Germany | unused, good conditions