Subject: 32 bit dev_t first phase: Success!
To: None <tech-kern@NetBSD.ORG>
From: Todd Vierling <tv@NetBSD.ORG>
List: tech-kern
Date: 01/13/1998 18:36:05
I'd like to say thanks to all the suggestions so far... With changes in only
two files, and under the assumption that /dev would be rebuilt for the new
kernel, I have successfully built a 32 bit dev_t kernel.  It includes
compatibility for 4.3BSD stat() calls, and boots and runs without problems. 
My upgrade procedure was as follows (almost like the procedure I said
before, but even easier, and would work on arm32 too):

1. build and install new mknod(8) with new includes
2. run (still old, but later new) MAKEDEV in /dev_new
3. kill as many running processes as possible including inetd
4. as root, `mv /dev /dev_old; mv /dev_new /dev; sync; reboot'

Diffs for the kernel (all MI) are available at:
  ftp://ftp.duh.org/pub/NetBSD-hacks/device32/phase1.diffs
They are relative to the trunk as of earlier today (Jan 13).

The first phase is complete; now on to the next step:
  conf.c - autoconfiguration of devices (renumbered).
This is a big one, and I have chosen to pursue a Grand Unified table of
device switches.  Now, I want some suggestions on the format.

- Should the table be generated by a "generator file" parsed by awk?  Perl?
- Should it be a plain C file?  If so, how should the macros be rewritten
  such as not to be incessantly sloppy on checking whether an architecture
  supports a device?

I like the generator file approach (a la syscalls.master), but with a Perl
generator.  Perl would allow the macros to be done away with, and instead,
placed into the generator file in an easier initializer format.  This means
a system without Perl could not generate the file, so the generated output
would have to be committed to tree as well as the generator file and its
script.  (This might be possible with awk, but it would likely be much more
difficult.)

Any and all comments are gratefully welcomed.

=====
===== 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