qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 00/13] allow tools to use the QEMU main loop


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v2 00/13] allow tools to use the QEMU main loop
Date: Mon, 17 Oct 2011 14:56:40 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]