v1: https://lists.gnu.org/archive/html/qemu-devel/2012-07/msg03312.html
v2: http://lists.gnu.org/archive/html/qemu-devel/2012-08/msg01275.html v3: http://lists.nongnu.org/archive/html/qemu-devel/2012-09/msg01474.html v4: http://lists.gnu.org/archive/html/qemu-devel/2012-10/msg03857.html changes v4->v5: Peel away the example of e1000. Rebase to Avi's patch "Integrate DMA into the memory API" Liu Ping Fan (8): atomic: introduce atomic operations qom: apply atomic on object's refcount hotplug: introduce qdev_unplug_complete() to remove device from views pci: remove pci device from mem view when unplug memory: introduce local lock for address space memory: make mmio dispatch able to be out of biglock memory: introduce tls context to record nested dma vcpu: push mmio dispatcher out of big lock cpus.c | 3 + docs/memory.txt | 4 + exec.c | 228 +++++++++++++++++++++++++++++++++++++++++++++---- hw/acpi_piix4.c | 2 +- hw/pci.c | 16 +++- hw/pci.h | 1 + hw/qdev.c | 26 ++++++ hw/qdev.h | 3 +- include/qemu/atomic.h | 63 ++++++++++++++ include/qemu/object.h | 3 +- kvm-all.c | 4 + memory-internal.h | 1 + memory.c | 11 ++- memory.h | 7 ++- qemu-thread.h | 8 ++ qom/object.c | 11 +-- vl.c | 1 + 17 files changed, 362 insertions(+), 30 deletions(-) create mode 100644 include/qemu/atomic.h -- 1.7.4.4