Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 May 2001 21:20:02 +0100
From:      Brian Somers <brian@Awfulhak.org>
To:        Brian Somers <brian@Awfulhak.org>
Cc:        Mike Smith <msmith@FreeBSD.ORG>, freebsd-arch@FreeBSD.ORG, brian@Awfulhak.org
Subject:   Re: RFC: unit_list routines 
Message-ID:  <200105232020.f4NKK2F10389@hak.lan.Awfulhak.org>
In-Reply-To: Message from Brian Somers <brian@Awfulhak.org>  of "Wed, 23 May 2001 21:17:18 BST." <200105232017.f4NKHIF10323@hak.lan.Awfulhak.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > > > >I didn't do it that way because the ``usual'' way units are allocated 
> > > > >is sequentially.  Using bits when there are large numbers of units 
> > > > >gets awkward.  I figured what was required was something small and 
> > > > >simple that would cover the requirements of most/all drivers that 
> > > > >need to track their units so that it's easy to find an unused one, 
> > > > >and it's easy to allocate/deallocate things.
> > > > 
> > > > How does newbus allocate/manage unit numbers ?
> > > 
> > > I don't think it does.  The only way to find out what's in use 
> > > (AFAIK) is by looking at every specinfo in dev_hash....
> > 
> > Er, what exactly are you smoking?
> > 
> > Newbus manages unit numbers using the devclass:
> > 
> > struct devclass {
> >     TAILQ_ENTRY(devclass) link;
> >     driver_list_t       drivers; /* bus devclasses store drivers for bus */
> >     char                *name;
> >     device_t            *devices; /* array of devices indexed by unit */
> >     int                 maxunit; /* size of devices array */
> > };
> 
> Yes, Garrett pointed this out.  I misunderstood the question because 
> newbus doesn't manage unit numbers.  It ``manages'' the maximum unit 
> number allocated and nothing else.
> 
> My answer was describing the only way I know of to figure out which 
> units for a given device are allocated/opened.

Hmm, hang on.  I'll stop smoking....  If that device_t array knows 
which devices are open it could solve my problems...

-- 
Brian <brian@Awfulhak.org>                        <brian@[uk.]FreeBSD.org>
      <http://www.Awfulhak.org>;                   <brian@[uk.]OpenBSD.org>
Don't _EVER_ lose your sense of humour !



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105232020.f4NKK2F10389>