Subject: Re: Questions about features of NetBSD
To: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
From: John F. Woods <jfw@jfwhome.funhouse.com>
List: current-users
Date: 04/10/1995 22:23:36
> > 3. machine independent console driver for isa graphicscards
> How can such a thing exist?  Graphics hardware is _always_ machine
> dependent.  

No, graphics hardware is graphics hardware dependant.  There are a few
non-i386 ISA bus machines in existence (apparently the Amiga is one, though
it has its own rather superior graphics hardware), and much of the work
could probably be recycled for PCI graphics cards, and PCI is going to be
appearing in LOTS of different machines.

> You would have to
> special-case every port to know about every other port's disk labeling
> schemes.
> Or at least, such is my understanding.  Perhaps there are few enough
> disk labeling schemes out there that this isn't out of the question.

None of the disk label code is written in assembler.  There is thus no
inherently hard barrier to having code for multiple disk labels in one
kernel.  There's also no reason why everyone has to suffer each of the
half-dozen or so disk label formats:  I've only got one Ethernet driver
installed, yet apparently some people have more than that (i.e. make it
configurable).

> Of course, you would then have to byteswap a lot of filesystem data
> structures as they are read off and written onto the pack.

This sounds a lot more tedious than it is (well, modifying FS code to handle
it is pretty tedious, as I can attest, having DONE it).  If you're using
a machine where byteswapping inodes is too much work, you're using too slow
a machine...

Note that the hard part is that you can't automatically paper over binary
file formats!  But in general, the desire to read wrong-endian file systems
is usually either a desire to transfer bulk data, or part of a carefully-
designed redundancy arrangement (where all of the interesting data files
will either be of self-describing endianness or a particular endianness).