Messages in this thread |  | | From | "Petr Vandrovec" <> | Date | Thu, 14 Dec 2000 17:56:54 MET-1 | Subject | Re: Physical memory addresses/PCI memory addresses/io_remap |
| |
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 vandrove@vc.cvut.cz
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |