Subject: 32 bit dev_t: phase 2: success!
To: None <tech-kern@NetBSD.ORG>
From: Todd Vierling <tv@NetBSD.ORG>
List: tech-kern
Date: 01/14/1998 09:07:18
Phase 2 - adding 16 bit compatibility back in.  It works; diffs at:
  ftp://ftp.duh.org/pub/NetBSD-hacks/device32/phase2.diffs

I must thank Charles Hannum for his insight that for whatevber reason I
didn't catch onto the first time around.

The diffs now make it possible to boot on 16 _or_ 32 bit device nodes.  The
16->32 conversion is still `same device numbers', until the unified conf
switch is done.  Here's how I've chosen to do that:

- /sys/conf/conf.master parsed by awk into conf.c and include files
- devsw is merged; block device determined by strategy call (thanks BSDI!)
- each devsw entry is a *pointer* to a devsw struct, these structs are
  now held in each device's source file (eliminates init macros)
- sys/arch/${MACHINE}/${MACHINE}/compat_dev.c includes a 16->32 conversion
  system (table plus minor-to-minor functions) dependent on COMPAT_13
  (called by a MI routine in sys/compat/common/kern_dev_13.c)

=====
===== Todd Vierling (Personal tv@pobox.com) =====
== "There's a myth that there is a scarcity of justice to go around, so
== that if we extend justice to 'those people,' it will somehow erode the
== quality of justice everyone else receives."  -- Maria Price