Subject: Re: CVS commit: syssrc
To: None <port-i386@netbsd.org>
From: John Hawkinson <jhawk@MIT.EDU>
List: port-i386
Date: 05/14/2000 03:22:55
Jason R Thorpe <thorpej@zembu.com> writes:
|  > Log Message:
|  > add special bootblocks for IBM PS/2 - those machines need
|  > different gate A20 addressing
| 
| Isn't there a BIOS call you could make before doing the A20 stuff to
| determine if it's a PS/2?

Really, this whole group of biosboots needs to be re-architected.
It seems to me that all this special functionality should be
controlled by a bitmask in biosboot, with the different variants
setting different defaults.

If I have a PS2, I should be able to use the normal bootfloppy to
install--perhaps I'll need to frob this bitmask to enable "gate
A20". If I'm on an I-opener, I should be able to activate "resetvideo"
on-the-fly without having to get a special bootblock (admittedly this
is less relevent since the I-Opener lacks a floppy?).

I recognize space is tight in biosboot, but it's hardly *that* tight.

There's too much that's #ifdef'd. For instance, the awaitkey() stuff
in pcio.c is all #ifdef'd; it would be nice to use it with the new
on-the-tly "consdev auto" (if you dno't know what serial ports you
have on the machine...), but the code cleanup didn't seem worth
the effort at the time.


Certainly Jason is correct that all this special-case stuff should
be detected automatically if at all possible.

Similarly, with respect to biosboot_resetvideo, it would be nice
if the code could just check the current video mode first and
only reset if necessary (this suggesed by mycroft).

--jhawk