Messages in this thread | | | From | Patrick Lerda <> | Subject | RE: ioremap(), bus_to_virt() and PCI devices on different Linux a rchitectures | Date | Fri, 29 Oct 1999 11:20:46 +0200 |
| |
To specify the meaning of ioremap(pci_memory,size) and ioremap_nocache(pci_memory,size):
Take a pointer on a physical PCI bus memory space, the size, page flags (with CACHE or NOCACHE) and returns the CPU virtual memory pointer .
Take into account that dev->base_address[0] returns the PCI bus memory pointer. This is at least what it does on PowerPC, Is this correct ? A CPU physical memory pointer would be meaningful !
What about PCI I/O space, some chipsets map this space in standard physical memory. Processor like PowerPC see from a processor point of view only a physical memory block, no IO instructions is supported. The conversion is the only way to access this space.
A new function could be design to map PCI I/O space to virtual memory too.
On PowerPC PCI bus memory and PCI I/O space start at address 0x000000 and are mapped elsewhere in physical memory. I suspect some drivers to assume that this space can't overlap like in x86 architecture and use function like ioremap to map this space in virtual memory.
Is this correct ?
Patrick LERDA
- 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/
| |