On 14 Dec 00 at 15:16, Russell King wrote: > virtual space - address space that the kernel runs in > physical space - address space that the CPU sits in > PCI memory space - memory address space that the PCI peripherals sit in == bus address... > > Many, if not all ARM architectures have physical address 0 different from > PCI memory address 0. > > According to include/linux/fb.h, fb drivers should place a physical address > into "fix.smem_start" and "fix.mmio_start", which can then be passed to > io_remap_page_range. > > 1. Should pci_resource_start be returning the PCI memory space address or > a physical memory space address? I believe that pci_resource_start() should return physical address, not bus one. It already happens on PReP. > 3. Do we need a macro to convert PCI memory space addresses to physical > memory space addresses? No. You need PCI memory space address only for busmastering transfers. And for PCI DMA there is specialized API... Currently all bus -> physical mapping should be hidden in platform specific PCI code. > 4. What does this mean for ioremap? (currently, on ARM, ioremap takes > PCI memory space addresses, not a physical memory address, which makes > the physmap MTD driver technically broken). And ioremap() should take physical address, returning virtual one. Best regards, Petr Vandrovec [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/