[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] virtual, physical and bus address on Dom0
On Fri, Feb 17, 2012 at 10:20:21AM -0800, Eric Camachat wrote: > Consider the code: > > dma_addr_t dma_addr, dma_addr2; > phys_addr_t phys_addr; > cpu_addr = pci_alloc_consistent(pdev, size, &dma_addr); > phys_addr = virt_to_phys(cpu_addr); > dma_addr2 = virt_to_bus(cpu_addr); > > In Dom0 the outputs are: > > dma_addr: 0xbc800000 You should use the dma_addr. > phys_addr: 0x5b000000 > dma_addr2: 0x5b000000 > > Why the addresses are different in dma_addr and dma_addr2? B/c you are doing a bit shift on the cpu_addr - both virt_to_phys and virt_to_bus do exactly the same thing. > Which one is the correct value I should use in DMA operations? The one that pci_alloc_coherent gives you. > > Eric > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |