In message: <[EMAIL PROTECTED]>
            John Baldwin <[EMAIL PROTECTED]> writes:
: On Tuesday 11 July 2006 15:21, [EMAIL PROTECTED] wrote:
: > John Baldwin wrote:
: > 
: > > On Tuesday 11 July 2006 12:33, M. Warner Losh wrote:
: > >> In message: <[EMAIL PROTECTED]>
: > >>             John Baldwin <[EMAIL PROTECTED]> writes:
: > >> : and OS X both of which I've written a PCI driver for) we require 
device 
: > >> : driver writers to go through a lot more hoops to do certain things 
like 
: > >> : allocate resources.  At the very least there is much that can be 
: improved 
: > > in 
: > >> : our driver model.
: > >> 
: > >> bus_alloc_resources goes a long ways in this respect.
: > > 
: > > Yes, but in OS X I didn't even have to do that.  All I had to do was ask 
: it to 
: > > map a BAR if I wanted to use it.  It already "allocated" all the 
resources 
: > > regardless.  Windows was the same way (though a bit weirder, you get a 
: > > message that lists all your resources and you have to map them if you 
want 
: to 
: > > use them).
: > > 
: > > -- 
: > > John Baldwin
: > 
: > Do you mean that the kernel pre-allocate resources for all devices whether
: > a device has been attached by a device driver?
: > Does BIOS do the same thing before OS boots?
: 
: Maybe (kernel can allocate it once probe has succeeded perhaps, or just 
always 
: do it) and Yes (if PNP OS is set to No, that is what PNP OS means, is if the 
: OS is smart enough to alloc the resources on its own).

For FreeBSD, the kernel pre-allocates all resources that the BIOS
allocated in the pci bus.  We then give them out to the driver as the
driver requests them.  If the driver requests a resource that hasn't
been pre-allocated, FreeBSD will attempt to allocate then and there
that resource, and if successful return it.

Generally, PnPOS == no means 'allocate everything you possibly can for
these devices' while PnPOS == yes means 'allocate just enough to boot
and leave the rest to the OS'.  FreeBSD copes with both settings, as
well as really old BIOSes that always allocated and new ones where you
can't set PnPOS to "no".

Warner
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to