From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:50017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rv9Ra-00011p-21 for qemu-devel@nongnu.org; Wed, 08 Feb 2012 10:28:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rv9RU-00006Z-7j for qemu-devel@nongnu.org; Wed, 08 Feb 2012 10:28:26 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46909) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rv9RT-00006A-Rv for qemu-devel@nongnu.org; Wed, 08 Feb 2012 10:28:20 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q18FSJcZ010317 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 8 Feb 2012 10:28:19 -0500 Received: from cleopatra.tlv.redhat.com (cleopatra.tlv.redhat.com [10.35.255.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q18FSHVI030293 for ; Wed, 8 Feb 2012 10:28:18 -0500 From: Avi Kivity Date: Wed, 8 Feb 2012 17:27:54 +0200 Message-Id: <1328714879-18906-6-git-send-email-avi@redhat.com> In-Reply-To: <1328714879-18906-1-git-send-email-avi@redhat.com> References: <1328714879-18906-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PATCH 05/10] memory: code motion: move MEMORY_LISTENER_CALL() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org So it can be used in earlier code. Signed-off-by: Avi Kivity --- memory.c | 64 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 32 insertions(+), 32 deletions(-) diff --git a/memory.c b/memory.c index cb2b4f1..a1013bc 100644 --- a/memory.c +++ b/memory.c @@ -82,6 +82,38 @@ static AddrRange addrrange_intersection(AddrRange r1, AddrRange r2) return addrrange_make(start, int128_sub(end, start)); } +enum ListenerDirection { Forward, Reverse }; + +#define MEMORY_LISTENER_CALL(_callback, _direction, _args...) \ + do { \ + MemoryListener *_listener; \ + \ + switch (_direction) { \ + case Forward: \ + QTAILQ_FOREACH(_listener, &memory_listeners, link) { \ + _listener->_callback(_listener, ##_args); \ + } \ + break; \ + case Reverse: \ + QTAILQ_FOREACH_REVERSE(_listener, &memory_listeners, \ + memory_listeners, link) { \ + _listener->_callback(_listener, ##_args); \ + } \ + break; \ + default: \ + abort(); \ + } \ + } while (0) + +#define MEMORY_LISTENER_UPDATE_REGION(fr, as, dir, callback) \ + MEMORY_LISTENER_CALL(callback, dir, &(MemoryRegionSection) { \ + .mr = (fr)->mr, \ + .address_space = (as)->root, \ + .offset_within_region = (fr)->offset_in_region, \ + .size = int128_get64((fr)->addr.size), \ + .offset_within_address_space = int128_get64((fr)->addr.start), \ + }) + struct CoalescedMemoryRange { AddrRange addr; QTAILQ_ENTRY(CoalescedMemoryRange) link; @@ -678,38 +710,6 @@ static void address_space_update_ioeventfds(AddressSpace *as) as->ioeventfd_nb = ioeventfd_nb; } -enum ListenerDirection { Forward, Reverse }; - -#define MEMORY_LISTENER_CALL(_callback, _direction, _args...) \ - do { \ - MemoryListener *_listener; \ - \ - switch (_direction) { \ - case Forward: \ - QTAILQ_FOREACH(_listener, &memory_listeners, link) { \ - _listener->_callback(_listener, ##_args); \ - } \ - break; \ - case Reverse: \ - QTAILQ_FOREACH_REVERSE(_listener, &memory_listeners, \ - memory_listeners, link) { \ - _listener->_callback(_listener, ##_args); \ - } \ - break; \ - default: \ - abort(); \ - } \ - } while (0) - -#define MEMORY_LISTENER_UPDATE_REGION(fr, as, dir, callback) \ - MEMORY_LISTENER_CALL(callback, dir, &(MemoryRegionSection) { \ - .mr = (fr)->mr, \ - .address_space = (as)->root, \ - .offset_within_region = (fr)->offset_in_region, \ - .size = int128_get64((fr)->addr.size), \ - .offset_within_address_space = int128_get64((fr)->addr.start), \ - }) - static void address_space_update_topology_pass(AddressSpace *as, FlatView old_view, FlatView new_view, -- 1.7.9