Subject: Re: port-i386/1936
To: None <thorpej@nas.nasa.gov>
From: Mike Long <mike.long@analog.com>
List: netbsd-bugs
Date: 01/16/1996 10:31:47
>From: Jason Thorpe <thorpej@nas.nasa.gov>
>Date: Mon, 15 Jan 1996 22:41:50 -0800
>
>>Category:       port-i386
>>Synopsis:       autoconfig "*" wildcards aren't supported for ISA devices

>Seems to me that we shouldn't even get to the compile stage.  If I 
>understand it right, config(8) won't let you "*" a device if it's 
>qualified with "needs-count" in files*, contrasted with "needs-flag" or 
>nothing which does.

All ISA devices (and most, if not all, other devices) use needs-flag.
pseudo-devices use needs-count.

>Though, it may be annoying to have all those .h files created by 
>needs-{count,flag}.

The .h files are used to create [bc]devsw in
/sys/arch/i386/i386/conf.c.

>Firstly, though, lemme make sure I have this right...Say I have device 
>foo, configured like this:
>
>foo0	at foobus? addr ?
>foo1	at foobus? addr ?
>
>With neither qualifier, no .h files are created.  With needs-flag, we get 
>a foo.h containing:
>
>#define NFOO 1
>
>With needs-count, we get:
>
>#define NFOO 2
>
>Note that to actually count the instances, a "*" must be disallowed.

Yes, that's all correct.

>So, if we don't particularly care about having foo.h, why not create a 
>"no-star" (I'll be damned if I can remember exactly what Torek called the 
>action of "starring" a device in his autoconfiguration paper...).  That 
>way we can avoid these configuration mistakes (and cryptic panic 
>messages) before we even get the kernel compiled.

He called it cloning, I believe.  If a 'no-clone' option is defined,
then it should be applied to the ISA bus instead of the individual
devices.  The inability to use cloned devices is a limitation of the
ISA bus, not of ISA devices.  There is no way to find *all* of the
devices on an ISA bus, as there is with a 'real' bus like PCI. :-)
-- 
Mike Long <mike.long@analog.com>           http://www.shore.net/~mikel
VLSI Design Engineer         finger mikel@shore.net for PGP public key
Analog Devices, CPD Division          CCBF225E7D3F7ECB2C8F7ABB15D9BE7B
Norwood, MA 02062 USA       (eq (opinion 'ADI) (opinion 'mike)) -> nil