> > base_address[] is a bus address
>
> But with multiple PCI buses, the base_address cannot be a simple bus
> address, because the PCI bus number must be coded in there. For example,
> on alpha the PCI_HANDLE from include/asm-alpha/pci.h is or'ed into the
> base_address.
base_address[] is not a bus address, it's a physical address which
can be fed either to ioremap() or as /dev/mem offset.
> 2) Using the contents of base_address[] as a target address for peer to
> peer DMA on PCI?
This is close to impossible. Consider the case of two devices on different
PCI buses which are not visible from each other.
Have a nice fortnight
-- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth "IBM = Idiots Buy Me"- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/