ok, here is a reason for all this... It has benn a common thought among the FreeBSD people I have spoken too (and that's nearly all of the main developers, INCLUDING bill Jolitz) that with cheaper RAM and better organosed busses teh way to go is towards removing all static devoce information from the kernel, so that new device drivers are loaded completely dynamically.
We are living in a world where NT is the competition. You do not recompile NT to add a device. Nor should you have to recompile FreeBSD to add a device. We want the distributed FreeBSD binary kernel skelaton to work with a driver that was written fro hardware that was built after the skelaton was compiled. This requires that the kernle have NO (NONE, ZIP, NADA, 0) information about the driver compiled into it. This is true as well for BUS types. If someone writes a VMEbus module it should be loadable to the kernel with no recompile, and after that all VME bus devices for which tere is a driver should be usabel once their drivers are loaded. The config.new(8) was evaluated a long time ago and rejected. Not because it was worse than config (.old) but because it was NOT SUFFICIENTLY BETTER. If we did the work to convert to config.new then that would be wasted effort, because we would then have to discard config.new and all it's changes when we got to the next step. It was decided (not officially, but effectively enough) that it would be just as easy to go directly to where we want to get from old config as from new config, so that itermediate step of config.new is wasted effort. We are planning on dicarding (mostly) config(.old) as well, but at least we have not needed to do a lot ofo work on it. NetBSD people have not the same stated aim of completely eliminating config, so for them it made more sense to migrate to config.new.