[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 08/23] memory: provide defaults for MemoryListene
From: |
Avi Kivity |
Subject: |
[Qemu-devel] [PATCH v1 08/23] memory: provide defaults for MemoryListener operations |
Date: |
Sun, 7 Oct 2012 14:38:13 +0200 |
Many listeners don't need to respond to all MemoryListener callbacks;
provide suitable defaults instead.
Signed-off-by: Avi Kivity <address@hidden>
---
memory.c | 15 +++++++++++++++
memory.h | 21 +++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/memory.c b/memory.c
index b58b97c..efefcb8 100644
--- a/memory.c
+++ b/memory.c
@@ -1514,6 +1514,21 @@ void memory_listener_unregister(MemoryListener *listener)
QTAILQ_REMOVE(&memory_listeners, listener, link);
}
+void memory_listener_default_global(MemoryListener *listener)
+{
+}
+
+void memory_listener_default_section(MemoryListener *listener,
+ MemoryRegionSection *section)
+{
+}
+
+void memory_listener_default_eventfd(MemoryListener *listener,
+ MemoryRegionSection *section,
+ bool match_data, uint64_t data,
EventNotifier *e)
+{
+}
+
void address_space_init(AddressSpace *as, MemoryRegion *root)
{
memory_region_transaction_begin();
diff --git a/memory.h b/memory.h
index 46bc5e1..0ef95cb 100644
--- a/memory.h
+++ b/memory.h
@@ -223,6 +223,27 @@ struct MemoryListener {
QTAILQ_ENTRY(MemoryListener) link;
};
+#define MEMORY_LISTENER_DEFAULT_OPS \
+ .begin = memory_listener_default_global, \
+ .commit = memory_listener_default_global, \
+ .region_add = memory_listener_default_section, \
+ .region_del = memory_listener_default_section, \
+ .region_nop = memory_listener_default_section, \
+ .log_start = memory_listener_default_section, \
+ .log_stop = memory_listener_default_section, \
+ .log_sync = memory_listener_default_section, \
+ .log_global_start = memory_listener_default_global, \
+ .log_global_stop = memory_listener_default_global, \
+ .eventfd_add = memory_listener_default_eventfd, \
+ .eventfd_del = memory_listener_default_eventfd \
+
+void memory_listener_default_global(MemoryListener *listener);
+void memory_listener_default_section(MemoryListener *listener,
+ MemoryRegionSection *section);
+void memory_listener_default_eventfd(MemoryListener *listener,
+ MemoryRegionSection *section,
+ bool match_data, uint64_t data,
EventNotifier *e);
+
/**
* memory_region_init: Initialize a memory region
*
--
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, 2012/10/07
- [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 <=
- [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
- [Qemu-devel] [PATCH v1 19/23] memory: per-AddressSpace dispatch, Avi Kivity, 2012/10/07
- [Qemu-devel] [PATCH v1 21/23] memory: add address_space_destroy(), Avi Kivity, 2012/10/07