Re: __BROKEN_CONFIG_UNIT_USAGE ?
David Young <[email protected]> Sun, 6 Dec 2009 14:27:36 -0600
| Newsgroups | gmane.os.netbsd.ports.sun3 |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Dec 01, 2009 at 05:52:44PM -0600, David Young wrote: > On Tue, Dec 01, 2009 at 01:48:44PM -0800, Jason Thorpe wrote: > > > > On Dec 1, 2009, at 12:46 PM, David Young wrote: > > > > > On Tue, Dec 01, 2009 at 09:44:29PM +0100, Manuel Bouyer wrote: > > >> On Mon, Nov 30, 2009 at 01:54:13PM -0600, David Young wrote: > > >>> Only NetBSD/sun3 uses __BROKEN_CONFIG_UNIT_USAGE. The name of this > > >>> mysterious #define, which affects which code in subr_autoconf.c is > > >>> compiled, implies that sun3 is somehow "broken"? Will somebody fix it? > > >> > > >> So you know what is broken exactly ? > > > > > > No, I do not. I'm hoping that some NetBSD/sun3 developer knows. > > > > The code makes assumptions about the behavior / relationships of > > devices at fixed unit numbers. See sun3/sun3/vme.c:vme_match(), > > Can this magic in vme_match() > > #define VME_UNITS 6 > > unit = cf->cf_unit; > if (unit >= VME_UNITS) > return 0; > > if (ca->ca_bustype != vme_info[unit].bustype) > return 0; > > be avoided by creating a new locator, "bustype", and > rewriting the kernel configuration > > vme0 at mainbus? # A16/D16 > vme1 at mainbus? # A16/D32 > vme2 at mainbus? # A24/D16 > vme3 at mainbus? # A24/D32 > vme4 at mainbus? # A32/D16 > vme5 at mainbus? # A32/D32 > > as follows? > > vme0 at mainbus? bustype 0 # A16/D16 > vme1 at mainbus? bustype 1 # A16/D32 > vme2 at mainbus? bustype 2 # A24/D16 > vme3 at mainbus? bustype 3 # A24/D32 > vme4 at mainbus? bustype 4 # A32/D16 > vme5 at mainbus? bustype 5 # A32/D32 > > > and to a lesser extent, sun3/dev/xd.c:xdmatch() and > > sun3/dev/xy.c:xymatch(). > > Wow, what are *those* doing? Any reason that cannot be expressed in the > kernel configuration, too? It looks to me like the relationships can be expressed in the kernel configuration file. I am going to delete all of the #ifdef __BROKEN_CONFIG_UNIT_USAGE code from sys/kern/subr_autoconf.c in a week. I will send an untested patch to try to ease sun3's transition. Dave -- David Young OJC Technologies [email protected] Urbana, IL * (217) 278-3933