Hi!
first, i'd like to say that re-inventing a 'DOS' bios is a bad idea,
what it does for DOS, it does well enough.
what is really needed, is a a true 32bit bios for people that single boot
Linux. this bios should boot directly into protected mode (this way it can
load uncompressed kernels).
it should be able to boot the kernel image from any IDE partition on any of
the 4 disks (hda,hdb,hdc,hdd), or find the kernel on the IDE cdrom (to be
able to boot directly into an install program from a linux distribution CD.
and as a fallback, boot from the floppy.
later versions could be made to boot from SCSI Disks. ZIPdisks, LS drive.
this bios should have a setup utility, to setup things like date, time, boot
order, timings, etc..
the kernel could be easily modified to support this bios, heck, make it a
Makefile option (make lbios).
we should keep this bios as simple as possible, a subset of the drivers
allready used in the kernel distribution could be used, but not removed from
the kernel, the ones in the bios would only be used for booting. this way
the kernel would remain untouched (except for adding an option to the
Makefile).
if you really want to remake the DOS bios, go look at the bochs x86
emulator, it can boot dos from cpu's other than x86, so it must have it's
own bios!!! (freebios?)
Steph!
--
=====================================================================
sboyer(a)smegheads.montreal.qc.ca Tel: (514)-457-6124
root(a)smegheads.montreal.qc.ca
Stephane Boyer
L I N U X 691 Surrey
------------------------------- Baie d'Urfe, Quebec
the choice of a GNU generation. CANADA H9X-2E8
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
Dean Gaudet wrote:
> The best idea I've ever heard for a serial console on a PC is an ISA video
> card that behaves like text-mode VGA only,
While it would be a good idea, it has two problems: Cost and kludge.
Such a thing is going to cost a good amount of bucks, being so rare, and
it really is a kludge to support weirdness on IBM-PCs.
> Even full screen stuff is possible:
Reminds me of the old DOS DOORWAY program for BBSes. :)
> Remember that ISA/PCI cards have bioses on them, and those bioses expect
> to play with a video card.
I have seen a system boot headless (no video at all), but yes, most
software and some hardware expects to be able to play with video
memory. One solution is to just not use (or fix) such
hardware/software. Another is a software version of your above serial
console card. Hardware and software doesn't really want to talk to a
video card, just be able to write directly to video memory (and maybe
play with a couple of video registers). I am fairly sure we can create
a region of "video memory" from the BIOS for such stuff. We could then
either attempt to convert it to serial, or just ignore it, depending on
specific needs. The video registers I'm not sure about; can we hack
together an emulator for them using just BIOS code, or do we need actual
hardware?
> Plus you've got a more reliable method of generating an NMI/reboot which
> you'll absolutely need.
Why?
-- Ben <hawk(a)ttlc.net>
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
Jon Torrez wrote:
> Would is be possible if there were a OS interface to the BIOS that was
> able to change options in real-time; without having to reboot the
> machine?
I suggested this in my "initial" post; we should definately have an
open standard for at least querry/set operations. More difficult is
having such config changes take effect without rebooting. Linux doesn't
really depend on the BIOS for much after boot anyway, so changing the
BIOS config won't help Linux itself during operation. DOS might
benifit, but it tends to keep just enough config info in memory to screw
up things. Win95 might benifit, but I think you'd also need a way to
communicate such changes to the device abstraction layer (if it is even
possible, Win95 is pretty horrid for things like this). I won't even
bother thinking about NT.
-- Ben <hawk(a)ttlc.net>
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
johnl(a)meer.net said:
> I'm curious what effect a given implementation of a BIOS has on system
> performance. From what I understand (and I understand only a little
> about the BIOS), DOS et al. use the BIOS functions much more than
> Linux, which may just use them to boot and then leave the BIOS
> functionality behind and use its own drivers.
I suspect that the main performance increase would be under DOS and Windows,
yes. Take a look at http://www.mrbios.com/proof.htm for an idea of what we're
aiming at there.
> Is performance affected more by the particular settings that the BIOS
> can make (memory access, etc.) that would change performance?
Under Linux, this will be the major factor - we can offer all the more esoteric
settings that other BIOSes don't support, so we can eke a little more out of
the beast here too.
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave(a)imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
We should probably start paying attention to what chipsets we have, so
that we don't have two people going off and implementing the same one
twice. If you want, I can keep track of that list. With any luck, we will
have a fair amount of variety of platforms to develop and test on.
I've got a ASUS P55TP4N motherboard, which is a single Pentium MB with
the Intel 430fx chipset. Currently it has an Award BIOS and a Symlogic
SCSI BIOS.
The Intel 430fx chipset is a 82437 System Controller, 82438 Data Paths,
and a PIIX IDE+ISA interface.
--
Chris Arguin | "...All we had were Zeros and Ones -- And
Chris.Arguin(a)unh.edu | sometimes we didn't even have Ones."
+--------------+ - Dilbert, by Scott Adams
http://leonardo.sr.unh.edu/arguin/home.html |
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
Hi!
> > > If I'm gonna start to think about coding, I have to know what to
> > > code :)
> >
> > Do you want to write it in assembly or in C? How are you going to deal
> > with 32 bit code?
>
> I'd suggest that the bios switches to protected mode in a very early
> state. This would allow to develop most of the code (except the setup
> code) in C, which is sure what we want (At least I think so)
Hmm. But int xx interfaces *still* need to be in 16-bit
assembly. Still, it might be nice to provide description "how to call
this from 32-bit prot mode", i.e. specification saying:
BIOS can be called iff CS contains selector with base = 0xf0000 ...
> Do we want to support an Award compatible bios which has 16bit calls
> or do we want to save up the space to implement newer features?
You *must* have int xx calls, which are 16bit, or dos will not boot.
--
I'm really pavel(a)atrey.karlin.mff.cuni.cz. Pavel
Look at http://atrey.karlin.mff.cuni.cz/~pavel/ ;-).
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
I ran across a web page that is supposedly a list of what some AMI BIOS
does at startup. It seems to be fairly complete and may be useful to give
us an idea of the normal order of execution.
http://www.msi-computer.de/faq/A.HTM
--
Chris Arguin | "...All we had were Zeros and Ones -- And
Chris.Arguin(a)unh.edu | sometimes we didn't even have Ones."
+--------------+ - Dilbert, by Scott Adams
http://leonardo.sr.unh.edu/arguin/home.html |
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
-----Original Message-----
From: Pavel Machek <pavel(a)elf.ucw.cz>
Cc: openbios(a)linkscape.net Date: Wednesday, February 18, 1998 8:46 AM
Subject: [OpenBIOS] Re: Some Questions and ideas for gnu-bios
>
>Under linux, bios is not used (well, with exceptions of APM).
>
>Other 'systems' switch into v86 mode to call bios functions.
This goes into my major question. I would like to put the Linux kernel
itself in the flash of one of my older fast 486 machines - I hope to make it
a router, and I am having trouble with the hard drive in that box - if the
kernel is in flash, and maybe most of a ramdisk load, all I need is a floppy
with a few config options. Perhaps one could make use of the CMOS to store
simple config items.
If Linux doesn't use the BIOS at all, what initializations if any need to
be done to the system at POST to assign PNP/PCI IRQ settings, test the
memory, keyboard, etc.
What _exactly_ does the BIOS do to a system when it starts?
---jmc
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
Some discussion about the possibility of a freeware 'GNU' BIOS
was casually mentioned on the Linux kernel mailing list last week.
Talk about it escalated, and a mailing list was quickly formed.
After a few more days of ideas, it seems like a very good possibility
and some people just hell bent on getting started.
What we are looking for now are people with a high degree of knowledge
about the low-level workings of the x86 PC architecture, and real mode
programming experience. Please join the mailing list and offer what help
you can.
Also understand that many Linux people are involved with this, but the
purpose is a COMPLETE BIOS replacement for use with all Intel x86 OS's,
not just some new boot loader.
To subscribe to the OpenBIOS Mailing list, write an email
To: openbios-request(a)linkscape.net
Subject [leave blank!]
subscribe [in the body]
It is a majordomo managed list. Feel free to use extended MD commands as needed.
OpenBIOS web pages: (DO NOT expect to find much here yet!)
http://www.linkscape.net/openbios/http://www.freiburg.linux.de/OpenBIOS/
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
dcinege(a)fuckthejunkmailers.org said:
> When I think 32-bit in the BIOS, to me that means being able to deal
> with larger drives, and booting partitions with a huge sector offset.
> (corrections please)
Thank God for that - I was getting worried there! We want that kind of
functionality, definitely.
When I think 32-bit, that means "protected mode" - 32-bit code and data, rather
than the old real mode 16-bit segment/offset methods.
This would have meant that it wouldn't be compatible with legacy operating
systems such as DOS and Windows 95 which run at least partly in real mode,
using the real mode interrupts into the BIOS. (Unless we provided such 16-bit
routines side-by-side with the 32-bit ones, effectively doubling the size of
our function code)
We can provide big drive support and other such niceties with real mode code -
a normal BIOS generally has very little protected mode code AFAIK, although it
is required to provide routines for copying data to/from high memory, and for
switching into protected mode.
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave(a)imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com