|
From: | Avi Kivity |
Subject: | Re: [Qemu-devel] [PATCH 2/2 v2][UPDATED] Direct IDE I/O |
Date: | Tue, 18 Dec 2007 18:38:24 +0200 |
User-agent: | Thunderbird 2.0.0.9 (X11/20071115) |
Paul Brook wrote:
Unfortunately it is more complicated to write to the CPU memory. In particular, specific action should be done when translated code is present. A consistent API must include something like cpu_page_lock() / unlock(). Look at cpu_physical_memory_rw() to see the various issues which must be handled. Moreover, it would be better to add bus specific APIs (at least for PCI), but I can accept a CPU memory API for now.In general it may also be unsafe to do async writes directly to guest memory because you break the atomicity of loads/stores.
But that is true on real hardware as well, I think. The guest cannot expect atomicity if it dmas into the memory it is accessing.
Also, it would be a rare guest that accesses memory while dma is active. -- error compiling committee.c: too many arguments to function
[Prev in Thread] | Current Thread | [Next in Thread] |