boot2 broken ? (booting from pst fails)

Toerless Eckert eckert at i4.informatik.uni-erlangen.de
Mon Apr 14 09:00:34 PDT 2003


> > - Why is the BIOS routine not run in real mode ? Would it be hard trying
> >   to change BTX so that it executes the interrupt in real mode ?
> 
> Yes.  Not to mention lack of space in boot2 for BTX to grow to support this.

With boot2 being space challenged, why does it need to be a btx
client anyhow ?

> > - Is there actually a requirement for a BIOS to work correctly
> >   in virtual mode ? I was under the assumption that BIOS is always
> >   only assumed to need to work correctly in real mode. If this is
> >   not true, then i would welcome if you could point me to an official
> >   PC98, .. (or whatever) document WIntel , or
> >   whoever leads the conspiracy what officially are requirements for a "PC").

Is there an official answer to to this ? I am still under the assumption
that officially BIOS code is assumed only to be executed under real mode.
I can perfectly fine understand that maybe the maority of simple BIOS pieces
for "normal" boot hardware may be so "simple" that they even perate under
virtual mode, but that isn't a good argument to expect all BIOS code to
execute from virtual mode, or is it ?

> >   Without such a reference i think anybody would have a hard time arguing
> >   the case of requesting support for virtual mode from the BIOS of some
> >   HW vendor, right ?
> 
> Basically, the only problems we have with BIOS's usually happen because the
> BIOS writer thought they could be cute by entering protected mode themselves
> instead of using the defined BIOS calls (such as int 0x15, function 0x87) to
> access upper memory, etc.

I can believe that. But you also know that most exotic hardware by
itself will not officially support FreeBSD even though someone like sos
may have written a cool driver for it. ANd if then FreeBSD is the only OS
with such requirements against the BIOS of add-on hardware and neither
any windows nor Linux has it - that makes FreeBSD painting itself in a
corner where boot-compatibility is lower than necessary. No such vendor
would change their BIOS for it! Why not rather stick to requirements against
the hardware that are known also to be needed by unfortunately better
supported OSs ? Why not at least have an option for a boot process that
does so ? Eg: I can find a replacement for boot2 easily, but how can i
get the kernel nowadays booted without loader in between ?

When was actually this btx client concept introduced in FreeBSD ? Eg:
wasn't the bootstrap in before the kernel real-mode up until
BSD 4.x ?

Cheers
	Toerless


More information about the freebsd-hackers mailing list