qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH v4 upstream 00/21] Win32 iothread support


From: Blue Swirl
Subject: [Qemu-devel] Re: [PATCH v4 upstream 00/21] Win32 iothread support
Date: Sun, 13 Mar 2011 16:45:39 +0200

Thanks, applied all.

On Sat, Mar 12, 2011 at 6:43 PM, Paolo Bonzini <address@hidden> wrote:
> Here is again the full series for Win32 iothread support.  It should be
> ready now.
>
> Patches 1 to 5 are generic Win32 improvements, including the qemu-thread
> implementation.  To simplify the dependencies, I think it's better if
> this part is also routed through uq/master.
>
> Patches 6 to 8 are generic threading improvements, including using
> PTHREAD_MUTEX_ERRORCHECK as suggested by Jan.
>
> Patches 9 to 16 eliminate polling, replacing condition variable
> timedwait with wait.
>
> Patch 17 removes a redundant condition from the TCG cpu_exec_all
> function.
>
> Patches 18 to 20 add all necessary stubs to make iothread compile
> with Win32, except the IPI calls.  These are provided by patch 21.
>
> Tested on Wine and Linux, not on "real" Windows.  The series introduces
> a dependency on Windows 2K or newer.  I don't think either 95/98/ME
> or Windows NT 3.x are reasonable host systems for QEMU, anyway.
>
> v1->v2
>    I incorporated all suggestions from Jan, including his renaming patch
>    for qemu_*_is_self; sh4 now doesn't have a special cpu_halted anymore.
>
> v2->v3
>    Fixed structure naming, renamed qemu_signalfd_init, dropped ownership
>    tracking in QemuMutex for now.
>
> v3->v4
>    Consistently using qemu_free.
>
> Jan Kiszka (1):
>  Refactor thread retrieval and check
>
> Paolo Bonzini (20):
>  unlock iothread during WaitForMultipleObjects
>  implement win32 dynticks timer
>  use win32 timer queues
>  add win32 qemu-thread implementation
>  include qemu-thread.h early
>  add assertions on the owner of a QemuMutex
>  remove CONFIG_THREAD
>  inline cpu_halted into sole caller
>  always qemu_cpu_kick after unhalting a cpu
>  exit round-robin vcpu loop if cpu->stopped is true
>  always signal pause_cond after stopping a VCPU
>  do not use timedwait on qemu_halt_cond
>  do not use timedwait on qemu_system_cond
>  do not use timedwait on qemu_pause_cond
>  do not use timedwait on qemu_cpu_cond
>  iothread stops the vcpu thread via IPI
>  merge all signal initialization with qemu_signalfd_init, rename
>  provide dummy signal init functions for win32
>  protect qemu_cpu_kick_self for Win32
>  add Win32 IPI service
>
>  Makefile.objs                        |    4 +-
>  configure                            |    2 -
>  cpu-exec.c                           |    9 +-
>  cpus.c                               |  298 
> +++++++++++++++++-----------------
>  exec.c                               |    2 +-
>  hw/ppc.c                             |    2 +
>  hw/sun4m.c                           |   10 +-
>  hw/sun4u.c                           |    4 +-
>  os-win32.c                           |    2 +
>  qemu-common.h                        |    2 +-
>  qemu-thread.c => qemu-thread-posix.c |   21 +--
>  qemu-thread-posix.h                  |   17 ++
>  qemu-thread-win32.c                  |  260 +++++++++++++++++++++++++++++
>  qemu-thread-win32.h                  |   21 +++
>  qemu-thread.h                        |   31 ++--
>  qemu-timer.c                         |   89 +++++------
>  target-alpha/exec.h                  |   11 --
>  target-arm/exec.h                    |   13 --
>  target-cris/exec.h                   |   11 --
>  target-i386/exec.h                   |   12 --
>  target-i386/kvm.c                    |    4 +-
>  target-m68k/exec.h                   |   10 --
>  target-microblaze/exec.h             |   11 --
>  target-mips/exec.h                   |   11 --
>  target-ppc/exec.h                    |   11 --
>  target-s390x/exec.h                  |   12 --
>  target-s390x/kvm.c                   |    1 +
>  target-sh4/exec.h                    |   10 --
>  target-sparc/exec.h                  |   10 --
>  ui/vnc-jobs-async.c                  |    2 +-
>  30 files changed, 541 insertions(+), 362 deletions(-)
>  rename qemu-thread.c => qemu-thread-posix.c (90%)
>  create mode 100644 qemu-thread-posix.h
>  create mode 100644 qemu-thread-win32.c
>  create mode 100644 qemu-thread-win32.h
>
> --
> 1.7.4
>
>

reply via email to

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