[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 06/23] memory: export AddressSpace
From: |
Avi Kivity |
Subject: |
[Qemu-devel] [PATCH v1 06/23] memory: export AddressSpace |
Date: |
Sun, 7 Oct 2012 14:38:11 +0200 |
The DMA API will use an AddressSpace to differentiate among different
initiators.
Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Avi Kivity <address@hidden>
---
memory.c | 11 +----------
memory.h | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/memory.c b/memory.c
index 7e9e373..431a867 100644
--- a/memory.c
+++ b/memory.c
@@ -216,17 +216,8 @@ struct FlatView {
unsigned nr_allocated;
};
-typedef struct AddressSpace AddressSpace;
typedef struct AddressSpaceOps AddressSpaceOps;
-/* A system address space - I/O, memory, etc. */
-struct AddressSpace {
- MemoryRegion *root;
- FlatView *current_map;
- int ioeventfd_nb;
- MemoryRegionIoeventfd *ioeventfds;
-};
-
#define FOR_EACH_FLAT_RANGE(var, view) \
for (var = (view)->ranges; var < (view)->ranges + (view)->nr; ++var)
@@ -1510,7 +1501,7 @@ void memory_listener_unregister(MemoryListener *listener)
QTAILQ_REMOVE(&memory_listeners, listener, link);
}
-static void address_space_init(AddressSpace *as, MemoryRegion *root)
+void address_space_init(AddressSpace *as, MemoryRegion *root)
{
memory_region_transaction_begin();
as->root = root;
diff --git a/memory.h b/memory.h
index 37ce151..a1d75e7 100644
--- a/memory.h
+++ b/memory.h
@@ -157,6 +157,19 @@ struct MemoryRegionPortio {
#define PORTIO_END_OF_LIST() { }
+typedef struct AddressSpace AddressSpace;
+
+/**
+ * AddressSpace: describes a mapping of addresses to #MemoryRegion objects
+ */
+struct AddressSpace {
+ /* All fields are private. */
+ MemoryRegion *root;
+ struct FlatView *current_map;
+ int ioeventfd_nb;
+ struct MemoryRegionIoeventfd *ioeventfds;
+};
+
typedef struct MemoryRegionSection MemoryRegionSection;
/**
@@ -776,6 +789,14 @@ void memory_global_dirty_log_stop(void);
void mtree_info(fprintf_function mon_printf, void *f);
+/**
+ * address_space_init: initializes an address space
+ *
+ * @as: an uninitialized #AddressSpace
+ * @root: a #MemoryRegion that routes addesses for the address space
+ */
+void address_space_init(AddressSpace *as, MemoryRegion *root);
+
#endif
#endif
--
1.7.12
- [Qemu-devel] [PATCH v1 00/23] Integrate DMA into the memory API, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 01/23] memory: rename 'exec-obsolete.h', Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 02/23] vhost: use MemoryListener filtering to only monitor RAM address space, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 03/23] kvm: use separate MemoryListeners for memory and I/O, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 04/23] xen_pt: use separate MemoryListeners for memory and I/O, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 05/23] memory: prepare AddressSpace for exporting, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 06/23] memory: export AddressSpace,
Avi Kivity <=
- [Qemu-devel] [PATCH v1 07/23] memory: maintain a list of address spaces, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 08/23] memory: provide defaults for MemoryListener operations, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 10/23] vfio: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 09/23] memory: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 15/23] memory: move address_space_memory and address_space_io out of memory core, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 14/23] memory: manage coalesced mmio via a MemoryListener, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 11/23] xen_pt: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 12/23] kvm: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 13/23] xen: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 20/23] dma: make dma access its own address space, Avi Kivity, 2012/10/07