From a hardware perspective, how do your devices know which addresses to
decode? Do they consume subranges of BARs or are they assigned fixed
addresses somehow? Do they have programmable decoders of some sort
themselves? If you wish to have the PCI bus assign you resources then that
implies that your PCI device has a BAR and that you want to request resources
for that BAR and then hand out subranges of that to your children. If that
is the case, then you will need to allocate the resources for the BAR for the
PCI device from the PCI bus. Then your bus driver for the PCI device will
need to suballoc from that BAR to your children devices.
My device decodes one ram address range (16MB) and gives me
one interrupt line.
As my sub-devices operate on partial address areas my idea was to
let them all call bus_alloc_resource() with the same rid parameter (=
BAR selector)
and different offsets. So the bookkeeping should be done by the pci
driver, right?
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"