Takeshi Sone <[EMAIL PROTECTED]> writes: > On Fri, Dec 19, 2003 at 12:49:42AM -0700, Eric W. Biederman wrote: > > Adam Sulmicki <[EMAIL PROTECTED]> writes: > > > > > you mean just like dosemu runs under linux ??? > > > > Right but for BSD and early versions of windows the dependencies > > were worse. I don't know which services matter though. > > Last time I saw the source code of FreeBSD, its _bootloader_ has its > own vm86 monitor (in assembly), works in protected mode, > and calls all the BIOS calls (video, keyboard, disk,...) in > vm86 mode. Also the kernel calls E820, APM, VESA, etc in vm86. > Also I saw a recent version of Windows calls BIOS services in vm86. > > Maybe we can modify FreeBSD, and have work-around for Windows, > but at least I don't think it's the way to go. > > My conclusion then was that PCBIOS had to work in real mode. > > Maybe we can code it with GCC and .code16gcc hack. > If 64KB is not enough, maybe 0xE000 segment can be used > so that we have 64KB code and 64KB data segments. > And all the "POST" code can be outside the real mode space. > So it's not impossible or hard at all.
Ok Then I am up to idea #2. For cooperation, just before I go catch my flight. Implement a minimal but real PCBIOS. Have a linux kernel. Use the PCBIOS to initialize the option roms. Jump to the linux base boot loader. When I have loaded something I go to real mode with kexec and had off control to the loaded kernel. Which can make BIOS calls. I have traditionally avoided that because the PCBIOS tends to get wedged when I start linux but with the source that should not be a problem. Eric _______________________________________________ Linuxbios mailing list [EMAIL PROTECTED] http://www.clustermatic.org/mailman/listinfo/linuxbios

