Thread (55 messages) 55 messages, 8 authors, 2011-06-01

Re: [PATCH 12/13] kvm/powerpc: Accelerate H_PUT_TCE by implementing it in real mode

From: Alexander Graf <hidden>
Date: 2011-05-17 09:31:06
Also in: kvm

On 17.05.2011, at 11:11, Benjamin Herrenschmidt wrote:
On Tue, 2011-05-17 at 10:01 +0200, Alexander Graf wrote:
quoted
I'm not sure I fully understand how this is supposed to work. If the
tables are kept inside the kernel, how does userspace get to know
where to DMA to?
=20
The guest gets a dma range from the device-tree which is the range of
device-side dma addresses it can use that correspond to the table.
=20
The guest kernel uses the normal linux iommu space allocator to =
allocate
space in that region and uses H_PUT_TCE to populate the corresponding
table entries.
=20
This is the same interface that is used for "real" iommu's with PCI
devices btw.
I'm still slightly puzzled here :). IIUC the main point of an IOMMU is =
for the kernel to change where device accesses actually go to. So device =
DMAs address A, goes through the IOMMU, in reality accesses address B.

Now, how do we tell the devices implemented in qemu that they're =
supposed to DMA to address B instead of A if the mapping table is kept =
in-kernel?


Alex
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help