bus device driver

Norbert Koch nkoch at demig.de
Wed Jul 15 07:19:26 UTC 2009


> No.  First of all, the PCI bus driver will only allocate resources for direct 
> children.  It simply passes requests up the tree for grandchildren (this is 
> how ISA devices behind a PCI-ISA bridge request resources).  In this case, 
> you will want to allocate resources for your BAR and your interrupt using 
> bus_alloc_resource() during your attach routine.  You can then either share 
> the resources directly with your children by returning your resource values 
> in your own bus_alloc_resource() method (see ppc(4) for an example of this) 
> or subdivide your resource to make new resources (the easiest way to do this 
> is probably to create a rman from your resource and then use 
> rman_reserve_resource() to sub-allocate chunks of that to your children).  
> For the interrupt resource you can just return your own resource pointer 
> directly in your bus_alloc_resource() routine. 
>
>   

Ok, that makes things a bit clearer.
Thank you for your help!


More information about the freebsd-hackers mailing list