Subject: Re: PCI configuration
To: None <tech-kern@netbsd.org>
From: Allen Briggs <briggs@wasabisystems.com>
List: tech-kern
Date: 02/02/2001 17:39:32
On Fri, Feb 02, 2001 at 01:57:53PM -0800, Jason R Thorpe wrote:
> There is a way to do it... you do:
> 	error = extent_alloc(ex, size, alignment,
> 	    boundary /* 0 if no boundary constraint */, flags, &result);

Ah.  I missed this as I was looking through extent_subr.c, not the man
page, and this is defined in extent.h...

> ...yes.  There are a few issues here.  And it's kinda complicated.

Kinda.

> You want machdep code to present to you a list of regions in which
> PCI devices can be mapped.

Yes.  Right now, I'm leaving that in the hands of the machdep code.  As
you suggested privately, in a list.  It would not be hard to make it use
extent(9) instead.

I'm not yet dealing with bridges in my code.  I have no real way to test
that, and I'm not sure how that would fit into where I am placing it right
now (at bus attachment).  I could try to work that up without a way to test
it, but what I have now is useful, functional, and even required for the
Sandpoint port.

> After all this is done, you can destroy the extent maps -- they're only
> really needed during the "program the bus phase".  They're orthogonal
> to the extent maps used by the bus_space implementation on some
> platforms.

I was thinking that I could request the extent maps from the machdep
code, which would be responsible for creating and destroying them.
Presumably, the maps could be used for other configuration prior to
the PCI configuration.

-allen

-- 
 Allen Briggs                     briggs@wasabisystems.com
 http://www.wasabisystems.com/    Quality NetBSD CDs, Sales, Support, Service