Can anyone tell me if the kernel function pci_map_single() can accept a 64 bit virtual address, for example from kmalloc() and provide the correct dma_handle for the physical bus address. I have no problems with using it on a 32 bit OS so I suspect it doesn't, if so what are the alternatives?