From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58794) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TKq8F-0007EZ-Vf for qemu-devel@nongnu.org; Sun, 07 Oct 2012 08:38:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TKq8E-0002mI-Dh for qemu-devel@nongnu.org; Sun, 07 Oct 2012 08:38:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48358) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TKq8E-0002mB-4G for qemu-devel@nongnu.org; Sun, 07 Oct 2012 08:38:54 -0400 From: Avi Kivity Date: Sun, 7 Oct 2012 14:38:13 +0200 Message-Id: <1349613508-22980-9-git-send-email-avi@redhat.com> In-Reply-To: <1349613508-22980-1-git-send-email-avi@redhat.com> References: <1349613508-22980-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PATCH v1 08/23] memory: provide defaults for MemoryListener operations List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Anthony Liguori , liu ping fan , "Michael S. Tsirkin" , Paolo Bonzini , Blue Swirl Many listeners don't need to respond to all MemoryListener callbacks; provide suitable defaults instead. Signed-off-by: Avi Kivity --- 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