From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:59377) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFtIj-0008Tw-JY for qemu-devel@nongnu.org; Mon, 17 Oct 2011 15:56:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RFtIi-0006ZJ-EL for qemu-devel@nongnu.org; Mon, 17 Oct 2011 15:56:45 -0400 Received: from mail-gy0-f173.google.com ([209.85.160.173]:58560) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFtIi-0006ZC-9z for qemu-devel@nongnu.org; Mon, 17 Oct 2011 15:56:44 -0400 Received: by gyg10 with SMTP id 10so4152504gyg.4 for ; Mon, 17 Oct 2011 12:56:43 -0700 (PDT) Message-ID: <4E9C8878.8010406@codemonkey.ws> Date: Mon, 17 Oct 2011 14:56:40 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1318332930-16217-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1318332930-16217-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 00/13] allow tools to use the QEMU main loop List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On 10/11/2011 06:35 AM, Paolo Bonzini wrote: > This patch series makes the QEMU main loop usable out of the executable, > and especially in tools and possibly unit tests. The series already > starts using the refactored main loop in qemu-nbd. What patch does this? I don't see any changes to qemu-nbd in this series. Regards, Anthony Liguori > > This is cleaner because it avoids introducing partial transitions to > GIOChannel. Interfacing with the glib main loop is still possible. > > The main loop code is currently split in cpus.c and vl.c. Moving it > to a new file is easy; the problem is that the main loop depends on the > timer infrastructure in qemu-timer.c, and that file currently contains > the implementation of icount and the vm_clock. This is bad for the > perspective of linking qemu-timer.c into the tools. Luckily, it is > relatively easy to untie them and move them out of the way. This is > what the largest part of the series does (patches 1-9). > > Patches 10-13 complete the refactoring and cleanup some surrounding > code. > > v1->v2 > Rebased > > Paolo Bonzini (13): > remove unused function > qemu-timer: remove active_timers array > qemu-timer: move common code to qemu_rearm_alarm_timer > qemu-timer: more clock functions > qemu-timer: move icount to cpus.c > qemu-timer: do not refer to runstate_is_running() > qemu-timer: use atexit for quit_timers > qemu-timer: move more stuff out of qemu-timer.c > qemu-timer: do not use RunState change handlers > create main-loop.h > create main-loop.c > Revert to a hand-made select loop > simplify main loop functions > > Makefile.objs | 2 +- > async.c | 1 + > cpus.c | 496 ++++++++++++++++++++++++++++++------------------------ > cpus.h | 3 +- > exec-all.h | 14 ++ > exec.c | 3 - > hw/mac_dbdma.c | 5 - > hw/mac_dbdma.h | 1 - > iohandler.c | 54 +------ > main-loop.c | 494 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > main-loop.h | 73 ++++++++ > os-win32.c | 123 -------------- > qemu-char.h | 12 +-- > qemu-common.h | 15 +-- > qemu-os-posix.h | 4 - > qemu-os-win32.h | 15 +-- > qemu-timer.c | 489 ++++++++++------------------------------------------- > qemu-timer.h | 30 +--- > savevm.c | 25 +++ > slirp/libslirp.h | 11 -- > sysemu.h | 3 +- > vl.c | 189 ++++----------------- > 22 files changed, 1027 insertions(+), 1035 deletions(-) > create mode 100644 main-loop.c > create mode 100644 main-loop.h >