|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Reversing the DMA handle
On 10/1/07 01:17, "Pete Zaitcev" <zaitcev@xxxxxxxxxx> wrote:
> I maintain a component in Linux kernel, called usbmon. It provides for
> snooping of USB traffic, analoguously to tcpdump. Due to pequliarities
> of USB API in Linux, usbmon has to take a DMA address (coming from
> dma_alloc_coherent() typically), find the corresponding PFN and call
> pkmap()/memcpy()/pkunmap().
>
> My question is: how to find PFN under Xen if DMA address is known,
> on x86_64 and i386?
Use mfn_to_local_pfn() which is safe to call from any context. This will
return a !pfn_valid() value if the given MFN actually belongs to a foreign
domain (e.g., we are issuing a DMA on behalf of another guest via netback or
blkback) or if the MFN is not RAM. Otherwise it will return the local PFN.
Of course you may then want to do further translation if that happens to be
in the swiotlb aperture.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|