Subject: Re: CFR: The Auto-Generation Block/Character Device Switch Tables
To: None <tech-kern@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: tech-kern
Date: 05/15/2002 13:44:06
> > 
> > Maybe. Doing something like that would let us pick our own major numbers
> > whereever we wanted. We would have to make sure our major numbers avoided
> > all of the vendor ones we emulated, since we can't tell where the device
> > node was that was opened.
> 
> Hmmm, that's not as convienient as I hoped it would be.
> 
> But won't netscape being run (say) under solaris emulation try and open
> /emul/dev/sd0c first, before /dev/sd0c ?  Couldn't you have a per-emulation
> table to map major numbers from one to another ?  The problem might be how
> to get emul information that far down, if this was a good idea.

I haven't looked into it (a quick find | xargs | grep) but does
any device drivers ever need to know the major number that is in
on-disk /dev entries?

I was wondering whether you could convert from 'external' to
'internal' major numbers somewhere.  Possibly even with a
filesystem dependant table?

This would make it slightly easier to build up the internal
table completely dynamically during the hardware grope then
set the external table up with information read from the
root files system.

(IIRC SVR2 had different internal and external numbers as part
of a massive hack to get > 256 device drivers.  I wouldn't
contemplate anything that nasty!)

	David

-- 
David Laight: david@l8s.co.uk