qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/5] Direct memory access for devices


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 0/5] Direct memory access for devices
Date: Mon, 19 Jan 2009 18:50:38 +0200

On 1/18/09, Avi Kivity <address@hidden> wrote:
> One of the deficiencies of the current device layer is that it can only access
>  guest RAM via cpu_physical_memory_rw().  This means that the device emulation
>  code must copy the memory to or from a temporary buffer, even though the host
>  offers APIs which allow direct access to memory.  This reduces efficiency on
>  DMA capable devices, especially disks.
>
>  This patchset introduces a complement to the read/write API,
>  cpu_physical_memory_map() which allows device emulation code to map
>  guest memory directly.  The API bounces memory regions which cannot be
>  mapped (such as mmio regions) using an internal buffer.
>
>  As an example, IDE emulation is converted to use the new API.  This exposes
>  another deficiency: lack of scatter/gather support in the block layer.  To
>  work around this, a vectored block API is introduced, currently emulated
>  by bouncing.  Additional work is needed to convert all block format drivers
>  to use the vectored API.

Great!

I'll try to use the API for ESP and Lance on Sparc32, that may reveal
if there are any problems in the design.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]