qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 019125: janitor: move iovector functions out


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 019125: janitor: move iovector functions out of cutils.c
Date: Thu, 01 Nov 2012 12:30:25 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 0191253ceaf442e595cdd12ce80233b9de28cd13
      
https://github.com/qemu/qemu/commit/0191253ceaf442e595cdd12ce80233b9de28cd13
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M Makefile
    M Makefile.objs
    M cutils.c
    M iov.c
    M tests/Makefile

  Log Message:
  -----------
  janitor: move iovector functions out of cutils.c

This removes the dependency of cutils.c on iov.c, and lets us remove
iov.o from several builds.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f3192e8fb28529dd4fd777f916c437f49098ad39
      
https://github.com/qemu/qemu/commit/f3192e8fb28529dd4fd777f916c437f49098ad39
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M Makefile
    M Makefile.objs

  Log Message:
  -----------
  build: move cutils.o and qemu-timer-common.o to oslib-obj-y

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 67d223be90178f7142b4f566358cea446af8df74
      
https://github.com/qemu/qemu/commit/67d223be90178f7142b4f566358cea446af8df74
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M arch_init.h
    M compiler.h
    M qmp.c

  Log Message:
  -----------
  compiler: use weak aliases to provide default definitions

This is simpler and more portable.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d249e1fc4fda57399fe64b3c0290d5d585fdf2e5
      
https://github.com/qemu/qemu/commit/d249e1fc4fda57399fe64b3c0290d5d585fdf2e5
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-sockets.c
    M qemu-tool.c

  Log Message:
  -----------
  sockets: use weak aliases instead of qemu-tool.c

qemu-tool.c has its own (largeish) set of dependencies.  Weak aliases
can be placed directly where people use them, and do not contribute
to increasing the dependencies of generic utility files.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0100fbbe73f1455ac66ec172627ff251a1f25302
      
https://github.com/qemu/qemu/commit/0100fbbe73f1455ac66ec172627ff251a1f25302
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cutils.c
    M osdep.c
    M qemu-common.h
    M qemu-tool.c
    M qemu-user.c

  Log Message:
  -----------
  fdsets: use weak aliases instead of qemu-tool.c/qemu-user.c

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 462016d2da393b743ba97552521378e7de2a4c7f
      
https://github.com/qemu/qemu/commit/462016d2da393b743ba97552521378e7de2a4c7f
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-sockets.c

  Log Message:
  -----------
  iohandler: add weak alias in qemu-sockets.c, for qemu-ga

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: dbb5f3802e20af9a9971aa98d27c58839ea79a94
      
https://github.com/qemu/qemu/commit/dbb5f3802e20af9a9971aa98d27c58839ea79a94
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M oslib-win32.c

  Log Message:
  -----------
  win32: add weak version of qemu_fd_register

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 744ca8e3754e6808c6b5331d287adc533fca0ad3
      
https://github.com/qemu/qemu/commit/744ca8e3754e6808c6b5331d287adc533fca0ad3
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-timer.c

  Log Message:
  -----------
  qemu-timer: make initialization functions idempotent

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 172061a0a0d98c974ea8d5ed715195237bc44225
      
https://github.com/qemu/qemu/commit/172061a0a0d98c974ea8d5ed715195237bc44225
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M main-loop.c
    M main-loop.h
    M qemu-tool.c
    M vl.c

  Log Message:
  -----------
  main-loop: unify qemu_init_main_loop between QEMU and tools

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3f4cdf151145f7eaa3480aea5d81d7def2f85a68
      
https://github.com/qemu/qemu/commit/3f4cdf151145f7eaa3480aea5d81d7def2f85a68
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-tool.c

  Log Message:
  -----------
  qemu-tool: do not depend on qemu-timer.c

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 63186e56c8b5f1c988bfb0d707e76f0f0dceef90
      
https://github.com/qemu/qemu/commit/63186e56c8b5f1c988bfb0d707e76f0f0dceef90
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qapi/Makefile.objs

  Log Message:
  -----------
  build: opts-visitor is not really part of QAPI

It is only used by QEMU itself, do not build it into the tests.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 136594f19aa6370e77a50bd9bba5db77def6ec8f
      
https://github.com/qemu/qemu/commit/136594f19aa6370e77a50bd9bba5db77def6ec8f
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M Makefile
    M Makefile.objs
    M tests/Makefile

  Log Message:
  -----------
  build: do not include main loop where it is not actually used

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: fc97a652de3e54394ca4d0e5e5d689fd8aba8b6f
      
https://github.com/qemu/qemu/commit/fc97a652de3e54394ca4d0e5e5d689fd8aba8b6f
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M Makefile.objs
    A event_notifier-posix.c
    A event_notifier-win32.c
    R event_notifier.c
    M event_notifier.h
    M qemu-os-win32.h

  Log Message:
  -----------
  event_notifier: add Win32 implementation

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d0cc2fbfa607678866475383c508be84818ceb64
      
https://github.com/qemu/qemu/commit/d0cc2fbfa607678866475383c508be84818ceb64
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M event_notifier-posix.c
    M event_notifier.h

  Log Message:
  -----------
  event_notifier: enable it to use pipes

This takes the eventfd emulation code from the main loop.  When the
EventNotifier is used for the main loop too, we need this compatibility
code.

Without CONFIG_EVENTFD, event_notifier_get_fd is only usable for the
"read" side of the notifier, for example to set a select() handler.

The return value of event_notifier_set changes to the cleaner 0/-errno.
No caller is actually checking the return value.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1c53786fbdbdf20a3a6c556e09abb4d63ee7843e
      
https://github.com/qemu/qemu/commit/1c53786fbdbdf20a3a6c556e09abb4d63ee7843e
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: init main loop earlier

Otherwise, chardevs will not be able to create a bottom half as soon
as that will require an AioContext.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b078dc3cfec2d6d037caef91204ebf0a78e7ac06
      
https://github.com/qemu/qemu/commit/b078dc3cfec2d6d037caef91204ebf0a78e7ac06
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio.c
    M qemu-aio.h

  Log Message:
  -----------
  aio: change qemu_aio_set_fd_handler to return void

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9958c351eee5b34051fd8061fe24f490ceca1334
      
https://github.com/qemu/qemu/commit/9958c351eee5b34051fd8061fe24f490ceca1334
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M Makefile.objs
    M aio.c
    M qemu-aio.h

  Log Message:
  -----------
  aio: provide platform-independent API

This adds to aio.c a platform-independent API based on EventNotifiers, that
can be used by both POSIX and Win32.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f627aab1ccea119fd94ca9e9df120cea6aab0c67
      
https://github.com/qemu/qemu/commit/f627aab1ccea119fd94ca9e9df120cea6aab0c67
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio.c
    M async.c
    M hw/hw.h
    M iohandler.c
    M linux-aio.c
    M main-loop.c
    M main-loop.h
    M qemu-aio.h
    M qemu-char.h
    M qemu-common.h
    M qemu-coroutine-lock.c

  Log Message:
  -----------
  aio: introduce AioContext, move bottom halves there

Start introducing AioContext, which will let us remove globals from
aio.c/async.c, and introduce multiple I/O threads.

The bottom half functions now take an additional AioContext argument.
A bottom half is created with a specific AioContext that remains the
same throughout the lifetime.  qemu_bh_new is just a wrapper that
uses a global context.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a915f4bc977c4f3aab08a78023c1303664d1c606
      
https://github.com/qemu/qemu/commit/a915f4bc977c4f3aab08a78023c1303664d1c606
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio.c
    M async.c
    M main-loop.c
    M qemu-aio.h

  Log Message:
  -----------
  aio: add I/O handlers to the AioContext interface

With this patch, I/O handlers (including event notifier handlers) can be
attached to a single AioContext.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4231c88d27d9e46e6ad6e6b7bbb6e442bcf9cd05
      
https://github.com/qemu/qemu/commit/4231c88d27d9e46e6ad6e6b7bbb6e442bcf9cd05
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio.c

  Log Message:
  -----------
  aio: test node->deleted before calling io_flush

Otherwise, there could be a case where io_flush accesses freed
memory because it should not have been called.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7c0628b20e7c56b7e04abb8b5f8d7da3f7cb87e8
      
https://github.com/qemu/qemu/commit/7c0628b20e7c56b7e04abb8b5f8d7da3f7cb87e8
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio.c
    M async.c
    M main-loop.c
    M qemu-aio.h

  Log Message:
  -----------
  aio: add non-blocking variant of aio_wait

This will be used when polling the GSource attached to an AioContext.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: cd9ba1ebcf0439457f22b75b38533f6634f23c5f
      
https://github.com/qemu/qemu/commit/cd9ba1ebcf0439457f22b75b38533f6634f23c5f
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio.c
    M qemu-aio.h

  Log Message:
  -----------
  aio: prepare for introducing GSource-based dispatch

This adds a GPollFD to each AioHandler.  It will then be possible to
attach these GPollFDs to a GSource, and from there to the main loop.
aio_wait examines the GPollFDs and avoids calling select() if any
is set (similar to what it does if bottom halves are available).

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f42b22077bc63a482d7a8755b54e33475ab78541
      
https://github.com/qemu/qemu/commit/f42b22077bc63a482d7a8755b54e33475ab78541
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M Makefile.objs
    A aio-posix.c
    A aio-win32.c
    R aio.c
    M block/Makefile.objs
    M main-loop.c

  Log Message:
  -----------
  aio: add Win32 implementation

The Win32 implementation will only accept EventNotifiers, thus a few
drivers are disabled under Windows.  EventNotifiers are a good match
for the GSource implementation, too, because the Win32 port of glib
allows to place their HANDLEs in a GPollFD.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e3713e001fb7d4d82f6de82800c1463e758e4289
      
https://github.com/qemu/qemu/commit/e3713e001fb7d4d82f6de82800c1463e758e4289
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio-posix.c
    M aio-win32.c
    M async.c
    M qemu-aio.h

  Log Message:
  -----------
  aio: make AioContexts GSources

This lets AioContexts be used (optionally) with a glib main loop.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 2f4dc3c1b2a453a8255d9b97c7cb87860123e495
      
https://github.com/qemu/qemu/commit/2f4dc3c1b2a453a8255d9b97c7cb87860123e495
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M async.c
    M qemu-aio.h

  Log Message:
  -----------
  aio: add aio_notify

With this change async.c does not rely anymore on any service from
main-loop.c, i.e. it is completely self-contained.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7ed2b24ce17f8fb7e36e4e8d113f2a30cbea142f
      
https://github.com/qemu/qemu/commit/7ed2b24ce17f8fb7e36e4e8d113f2a30cbea142f
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M aio-posix.c
    M aio-win32.c

  Log Message:
  -----------
  aio: call aio_notify after setting I/O handlers

In the current code, this is done by qemu_set_fd_handler2, which is
called by qemu_aio_set_fd_handler.  We need to keep the same behavior
even after removing the call to qemu_set_fd_handler2.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 82cbbdc6a0958b49c77639a60906e30d02e6bb7b
      
https://github.com/qemu/qemu/commit/82cbbdc6a0958b49c77639a60906e30d02e6bb7b
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M main-loop.c
    M main-loop.h

  Log Message:
  -----------
  main-loop: use GSource to poll AIO file descriptors

This lets us remove the hooks for the main loop in async.c.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4c8d0d27676778febad3802a95218d5ceaca171e
      
https://github.com/qemu/qemu/commit/4c8d0d27676778febad3802a95218d5ceaca171e
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M main-loop.c

  Log Message:
  -----------
  main-loop: use aio_notify for qemu_notify_event

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 22bfa75eafc21522afbb265091faa9cc0649e9fb
      
https://github.com/qemu/qemu/commit/22bfa75eafc21522afbb265091faa9cc0649e9fb
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M async.c
    M oslib-posix.c
    M qemu-aio.h
    M qemu-common.h

  Log Message:
  -----------
  aio: clean up now-unused functions

Some cleanups can now be made, now that the main loop does not anymore need
hooks into the bottom half code.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c90caf25e2b6945ae13560476a5ecd7992e9f945
      
https://github.com/qemu/qemu/commit/c90caf25e2b6945ae13560476a5ecd7992e9f945
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M linux-aio.c

  Log Message:
  -----------
  linux-aio: use event notifiers

Since linux-aio already uses an eventfd, converting it to use the
EventNotifier-based API simplifies the code even though it is not
meant to be portable.

Reviewed-by: Anthony Liguori <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 18eb473f892642ae869f77403289167f30de2022
      
https://github.com/qemu/qemu/commit/18eb473f892642ae869f77403289167f30de2022
  Author: Igor Mammedov <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: cpu_x86_register(): report error from property setter

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: ff287bbdda016b37990be7ed52339750aaa8a5e4
      
https://github.com/qemu/qemu/commit/ff287bbdda016b37990be7ed52339750aaa8a5e4
  Author: Igor Mammedov <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/helper.c

  Log Message:
  -----------
  target-i386: If x86_cpu_realize() failed, report error and do cleanup

Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: bdeec802170d5dc9f0f8a01235c3488dca3ff83b
      
https://github.com/qemu/qemu/commit/bdeec802170d5dc9f0f8a01235c3488dca3ff83b
  Author: Igor Mammedov <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/pc.c
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Initialize APIC at CPU level

(L)APIC is a part of cpu [1] so move APIC initialization inside of
x86_cpu object. Since cpu_model and override flags currently specify
whether APIC should be created or not, APIC creation&initialization is
moved into x86_cpu_apic_init() which is called from x86_cpu_realize().

[1] - all x86 cpus have integrated APIC if we overlook existence of i486,
and it's more convenient to model after majority of them.

Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 449994eb58a4175a2e7656175b18c65ead6c09ca
      
https://github.com/qemu/qemu/commit/449994eb58a4175a2e7656175b18c65ead6c09ca
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/apic_common.c
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Inline APIC cpu_env property setting

This prepares for changing the variable type from void*.

Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>


  Commit: 60671e583c2bfb09746f59268fdc7d88eaa24deb
      
https://github.com/qemu/qemu/commit/60671e583c2bfb09746f59268fdc7d88eaa24deb
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/apic.c
    M hw/apic_common.c
    M hw/apic_internal.h
    M hw/kvm/apic.c
    M target-i386/cpu.c

  Log Message:
  -----------
  apic: Store X86CPU in APICCommonState

Prepares for using a link<> property to connect APIC with CPU and for
changing the CPU APIs to CPUState.

Resolve Coding Style warnings by moving the closing parenthesis of
foreach_apic() macro to next line.

Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>


  Commit: e9f9d6b16510776ae3d07e91b1cfb4d412701270
      
https://github.com/qemu/qemu/commit/e9f9d6b16510776ae3d07e91b1cfb4d412701270
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/apic.c
    M target-i386/cpu.h

  Log Message:
  -----------
  target-i386: Pass X86CPU to cpu_x86_load_seg_cache_sipi()

Simplifies the call in apic_sipi() again and needed for moving halted
field to CPUState.

Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>


  Commit: 60e82579c75068cb49af95595aa99d727e657a0a
      
https://github.com/qemu/qemu/commit/60e82579c75068cb49af95595aa99d727e657a0a
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c
    M exec.c
    M hw/apic.c
    M include/qemu/cpu.h
    M kvm-all.c
    M qemu-common.h
    M target-i386/kvm.c

  Log Message:
  -----------
  cpus: Pass CPUState to qemu_cpu_is_self()

Change return type to bool, move to include/qemu/cpu.h and
add documentation.

Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
[AF: Updated new caller qemu_in_vcpu_thread()]


  Commit: 2ff09a40a8399a6f9807ebdb72423ec0a581c3b3
      
https://github.com/qemu/qemu/commit/2ff09a40a8399a6f9807ebdb72423ec0a581c3b3
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: Pass CPUState to qemu_cpu_kick_thread()

CPUArchState is no longer needed there.

Signed-off-by: Andreas Färber <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>


  Commit: 61a4621784a808f5ad7d63f60e2c5e8b2488c213
      
https://github.com/qemu/qemu/commit/61a4621784a808f5ad7d63f60e2c5e8b2488c213
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-defs.h
    M cpus.c
    M include/qemu/cpu.h

  Log Message:
  -----------
  cpu: Move created field to CPUState

Change its type to bool.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 4fdeee7cd4c8f90ef765537b9346a195d9483ab5
      
https://github.com/qemu/qemu/commit/4fdeee7cd4c8f90ef765537b9346a195d9483ab5
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-defs.h
    M cpus.c
    M include/qemu/cpu.h

  Log Message:
  -----------
  cpu: Move stop field to CPUState

Change its type to bool.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: b6444a42c06371d5abba78d2553a088a8490a65b
      
https://github.com/qemu/qemu/commit/b6444a42c06371d5abba78d2553a088a8490a65b
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/ppce500_spin.c

  Log Message:
  -----------
  ppce500_spin: Store PowerPCCPU in SpinKick

Needed for moving stopped field to CPUState.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: f324e7667a3c1f1aed9a5169a63aaac628feef47
      
https://github.com/qemu/qemu/commit/f324e7667a3c1f1aed9a5169a63aaac628feef47
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-defs.h
    M cpus.c
    M hw/ppce500_spin.c
    M include/qemu/cpu.h

  Log Message:
  -----------
  cpu: Move stopped field to CPUState

Change its type to bool.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 2fa45344a92444439c081cad2342ffc048c381ad
      
https://github.com/qemu/qemu/commit/2fa45344a92444439c081cad2342ffc048c381ad
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-all.h
    M cpus.c
    M include/qemu/cpu.h
    M target-i386/kvm.c

  Log Message:
  -----------
  cpus: Pass CPUState to cpu_is_stopped()

CPUArchState is no longer needed there.

Also change the return type to bool.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: a1fcaa73b1be5d8f0c6682d0f8d268f6e3194ead
      
https://github.com/qemu/qemu/commit/a1fcaa73b1be5d8f0c6682d0f8d268f6e3194ead
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: Pass CPUState to cpu_can_run()

CPUArchState is no longer needed there.

Also change its return type to bool.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: f5c121b85832f69fde5ad8939274e04ad21c1bd6
      
https://github.com/qemu/qemu/commit/f5c121b85832f69fde5ad8939274e04ad21c1bd6
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-defs.h
    M cpus.c
    M include/qemu/cpu.h

  Log Message:
  -----------
  cpu: Move halt_cond to CPUState

Signed-off-by: Andreas Färber <address@hidden>


  Commit: c3586ba73fd4523a38c658f730cc38ec17b60491
      
https://github.com/qemu/qemu/commit/c3586ba73fd4523a38c658f730cc38ec17b60491
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: Pass CPUState to qemu_tcg_cpu_thread_fn

CPUArchState is no longer needed except for iterating the CPUs.

Needed for qemu_tcg_init_vcpu().

KVM and dummy threads still need CPUArchState for cpu_single_env.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: e5ab30a2e6ee5f649af0639f93b6e8f6587e7ba1
      
https://github.com/qemu/qemu/commit/e5ab30a2e6ee5f649af0639f93b6e8f6587e7ba1
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: Pass CPUState to qemu_tcg_init_vcpu()

CPUArchState is no longer needed.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: a096124571b71f02d49a97ca99f4bf7b97b6912a
      
https://github.com/qemu/qemu/commit/a096124571b71f02d49a97ca99f4bf7b97b6912a
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/ppc.c

  Log Message:
  -----------
  ppc: Pass PowerPCCPU to {ppc6xx,ppc970,power7,ppc40x,ppce500}_set_irq()

Needed for changing qemu_cpu_kick() argument type to CPUState and
for moving halted field into CPUState.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: d5a6814697014561dd0a2e2871df0e6c62a0ce59
      
https://github.com/qemu/qemu/commit/d5a6814697014561dd0a2e2871df0e6c62a0ce59
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-ppc/kvm.c

  Log Message:
  -----------
  target-ppc: Rename kvm_kick_{env => cpu} and pass PowerPCCPU

Needed for changing qemu_cpu_kick() argument type to CPUState.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: c08d7424d600dce915a5506e95d55a359c243c66
      
https://github.com/qemu/qemu/commit/c08d7424d600dce915a5506e95d55a359c243c66
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c
    M exec.c
    M hw/ppc.c
    M hw/ppce500_spin.c
    M hw/spapr_rtas.c
    M hw/sun4m.c
    M hw/sun4u.c
    M include/qemu/cpu.h
    M kvm-all.c
    M qemu-common.h
    M target-ppc/kvm.c
    M target-s390x/kvm.c

  Log Message:
  -----------
  cpus: Pass CPUState to qemu_cpu_kick()

CPUArchState is no longer needed there.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: c64ca8140e9c21cd0d44c10fbe1247cb4ade8e6e
      
https://github.com/qemu/qemu/commit/c64ca8140e9c21cd0d44c10fbe1247cb4ade8e6e
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-defs.h
    M cpus.c
    M include/qemu/cpu.h

  Log Message:
  -----------
  cpu: Move queued_work_{first,last} to CPUState

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 6d45b109a6869084abd0f9aba01fa5107e926b60
      
https://github.com/qemu/qemu/commit/6d45b109a6869084abd0f9aba01fa5107e926b60
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: Pass CPUState to flush_queued_work()

CPUArchState is no longer needed there.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 509a0d78c7c3927b9ec8e176abef09ddd28ff0b3
      
https://github.com/qemu/qemu/commit/509a0d78c7c3927b9ec8e176abef09ddd28ff0b3
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: Pass CPUState to qemu_wait_io_event_common()

CPUArchState is no longer needed there.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 79bbf20bcaf2ee5d8e3f93a5151d992fc9a5fd89
      
https://github.com/qemu/qemu/commit/79bbf20bcaf2ee5d8e3f93a5151d992fc9a5fd89
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/xtensa_pic.c

  Log Message:
  -----------
  xtensa_pic: Pass XtensaCPU to xtensa_ccompare_cb()

Needed for changing cpu_has_work() argument type to CPUState.

Signed-off-by: Andreas Färber <address@hidden>
Acked-by: Max Filippov <address@hidden>


  Commit: 5c26a5b3033fbbbfc033f7d8d0b50713c31517d1
      
https://github.com/qemu/qemu/commit/5c26a5b3033fbbbfc033f7d8d0b50713c31517d1
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-ppc/excp_helper.c

  Log Message:
  -----------
  target-ppc: Pass PowerPCCPU to powerpc_excp()

Needed for changing cpu_ppc_hypercall() argument type to PowerPCCPU.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 1b14670a38a2265d3dd573b5e2d611621a5929f0
      
https://github.com/qemu/qemu/commit/1b14670a38a2265d3dd573b5e2d611621a5929f0
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/spapr.c
    M target-ppc/cpu.h
    M target-ppc/excp_helper.c

  Log Message:
  -----------
  target-ppc: Pass PowerPCCPU to cpu_ppc_hypercall

Adapt emulate_spapr_hypercall() accordingly.

Needed for changing spapr_hypercall() argument type to PowerPCCPU.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: aa100fa4c9901c6a88d24f48d485dbe0147b317d
      
https://github.com/qemu/qemu/commit/aa100fa4c9901c6a88d24f48d485dbe0147b317d
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/spapr.c
    M hw/spapr.h
    M hw/spapr_hcall.c
    M target-ppc/kvm.c

  Log Message:
  -----------
  spapr: Pass PowerPCCPU to spapr_hypercall()

Needed for changing the hypercall handlers' argument type to PowerPCCPU.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: b13ce26d3e8c6682044ae84920f2417b30ce356b
      
https://github.com/qemu/qemu/commit/b13ce26d3e8c6682044ae84920f2417b30ce356b
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/spapr.h
    M hw/spapr_hcall.c
    M hw/spapr_iommu.c
    M hw/spapr_llan.c
    M hw/spapr_vio.c
    M hw/spapr_vty.c
    M hw/xics.c

  Log Message:
  -----------
  spapr: Pass PowerPCCPU to hypercalls

Needed for changing cpu_has_work() argument type to CPUState,
used in h_cede().

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 7b46e5ce81d5107927685e7645b1bd39a1e1cd63
      
https://github.com/qemu/qemu/commit/7b46e5ce81d5107927685e7645b1bd39a1e1cd63
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: kvm_arch_get_supported_cpuid: move R_EDX hack outside of for loop

The for loop will become a separate function, so clean it up so it can
become independent from the bit hacking for R_EDX.

No behavior change[1], just code movement.

[1] Well, only if the kernel returned CPUID leafs 1 or 0x80000001 as
    unsupported, but there's no kernel version that does that.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 8c723b7958127b8f204dd4b278ad3c8f6f48ae17
      
https://github.com/qemu/qemu/commit/8c723b7958127b8f204dd4b278ad3c8f6f48ae17
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: kvm_arch_get_supported_cpuid: clean up has_kvm_features check

Instead of a function-specific has_kvm_features variable, simply use a
"found" variable that will be checked in case we have to use the legacy
get_para_features() interface.

No behavior change, just code cleanup.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 47111e2cfa1a83a99ac10ed19c7c8b02be4fe973
      
https://github.com/qemu/qemu/commit/47111e2cfa1a83a99ac10ed19c7c8b02be4fe973
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: kvm_arch_get_supported_cpuid: use 'entry' variable

The reg switch will be moved to a separate function, so store the entry
pointer in a variable.

No behavior change, just code movement.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 829ae2f9fa37bf026de556f50d58ef14a7dab9b3
      
https://github.com/qemu/qemu/commit/829ae2f9fa37bf026de556f50d58ef14a7dab9b3
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: extract register switch to cpuid_entry_get_reg() function

No behavior change: just code movement.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 4fb73f1d3be285caeb52a58fa5eaea49bd918650
      
https://github.com/qemu/qemu/commit/4fb73f1d3be285caeb52a58fa5eaea49bd918650
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: extract CPUID entry lookup to cpuid_find_entry() function

No behavior change, just code movement.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: dd87f8a690330777363f9a8680fce8f2ec544414
      
https://github.com/qemu/qemu/commit/dd87f8a690330777363f9a8680fce8f2ec544414
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: extract try_get_cpuid() loop to get_supported_cpuid() function

No behavior change, just code movement.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: c2acb022c83fbaf7fdd7ab9538d44ae6e0e94f94
      
https://github.com/qemu/qemu/commit/c2acb022c83fbaf7fdd7ab9538d44ae6e0e94f94
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: kvm_arch_get_supported_cpuid: replace if+switch with single 'if'

Additional fixups will be added, and making them a single 'if/else if'
chain makes it clearer than two nested switch statements.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 84bd945cf298650096691509e7e9170036605e02
      
https://github.com/qemu/qemu/commit/84bd945cf298650096691509e7e9170036605e02
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: set CPUID_EXT_HYPERVISOR on kvm_arch_get_supported_cpuid()

Full grep for kvm_arch_get_supported_cpuid:

   kvm.h:uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function,
   target-i386/cpu.c:        x86_cpu_def->cpuid_7_0_ebx_features = 
kvm_arch_get_supported_cpuid(kvm_state, 0x7, 0, R_EBX);
   target-i386/cpu.c:            *eax = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_EAX);
   target-i386/cpu.c:            *ebx = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_EBX);
   target-i386/cpu.c:            *ecx = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_ECX);
   target-i386/cpu.c:            *edx = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_EDX);
   target-i386/cpu.c:            *eax = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_EAX);
   target-i386/cpu.c:            *ebx = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_EBX);
   target-i386/cpu.c:            *ecx = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_ECX);
   target-i386/cpu.c:            *edx = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_EDX);
   target-i386/kvm.c:uint32_t kvm_arch_get_supported_cpuid(KVMState *s, 
uint32_t function,
   target-i386/kvm.c:        cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 
0, R_EDX);
   target-i386/kvm.c:    env->cpuid_features &= kvm_arch_get_supported_cpuid(s, 
1, 0, R_EDX);
 * target-i386/kvm.c:    env->cpuid_ext_features &= 
kvm_arch_get_supported_cpuid(s, 1, 0, R_ECX);
   target-i386/kvm.c:    env->cpuid_ext2_features &= 
kvm_arch_get_supported_cpuid(s, 0x80000001,
   target-i386/kvm.c:    env->cpuid_ext3_features &= 
kvm_arch_get_supported_cpuid(s, 0x80000001,
   target-i386/kvm.c:    env->cpuid_svm_features  &= 
kvm_arch_get_supported_cpuid(s, 0x8000000A,
   target-i386/kvm.c:        kvm_arch_get_supported_cpuid(s, 
KVM_CPUID_FEATURES, 0, R_EAX);
   target-i386/kvm.c:            kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, 
R_EDX);

Note that there is only one call for CPUID[1].ECX above (*), and it is
the one that gets hacked to include CPUID_EXT_HYPERVISOR, so we can
simply make kvm_arch_get_supported_cpuid() set it, to let the rest of
the code automatically know that the flag can be safely set by QEMU.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: ac67ee260ae8e353314b6995ed5dccf1bb94fa9d
      
https://github.com/qemu/qemu/commit/ac67ee260ae8e353314b6995ed5dccf1bb94fa9d
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: set CPUID_EXT_TSC_DEADLINE_TIMER on kvm_arch_get_supported_cpuid()

This moves the CPUID_EXT_TSC_DEADLINE_TIMER CPUID flag hacking from
kvm_arch_init_vcpu() to kvm_arch_get_supported_cpuid().

Full git grep for kvm_arch_get_supported_cpuid:

   kvm.h:uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function,
   target-i386/cpu.c:        x86_cpu_def->cpuid_7_0_ebx_features = 
kvm_arch_get_supported_cpuid(kvm_state, 0x7, 0, R_EBX);
   target-i386/cpu.c:            *eax = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_EAX);
   target-i386/cpu.c:            *ebx = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_EBX);
   target-i386/cpu.c:            *ecx = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_ECX);
   target-i386/cpu.c:            *edx = kvm_arch_get_supported_cpuid(s, 0xA, 
count, R_EDX);
   target-i386/cpu.c:            *eax = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_EAX);
   target-i386/cpu.c:            *ebx = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_EBX);
   target-i386/cpu.c:            *ecx = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_ECX);
   target-i386/cpu.c:            *edx = kvm_arch_get_supported_cpuid(s, 0xd, 
count, R_EDX);
   target-i386/kvm.c:uint32_t kvm_arch_get_supported_cpuid(KVMState *s, 
uint32_t function,
   target-i386/kvm.c:        cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 
0, R_EDX);
   target-i386/kvm.c:    env->cpuid_features &= kvm_arch_get_supported_cpuid(s, 
1, 0, R_EDX);
 * target-i386/kvm.c:    env->cpuid_ext_features &= 
kvm_arch_get_supported_cpuid(s, 1, 0, R_ECX);
   target-i386/kvm.c:    env->cpuid_ext2_features &= 
kvm_arch_get_supported_cpuid(s, 0x80000001,
   target-i386/kvm.c:    env->cpuid_ext3_features &= 
kvm_arch_get_supported_cpuid(s, 0x80000001,
   target-i386/kvm.c:    env->cpuid_svm_features  &= 
kvm_arch_get_supported_cpuid(s, 0x8000000A,
   target-i386/kvm.c:        kvm_arch_get_supported_cpuid(s, 
KVM_CPUID_FEATURES, 0, R_EAX);
   target-i386/kvm.c:            kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, 
R_EDX);

Note that there is only one call for CPUID[1].ECX above (*), and it is
the one that gets hacked to include CPUID_EXT_TSC_DEADLINE_TIMER, so we
can simply make kvm_arch_get_supported_cpuid() set it, to let the rest
of the code know the flag can be safely set by QEMU.

One thing I was worrying about when doing this is that now
kvm_arch_get_supported_cpuid() depends on kvm_irqchip_in_kernel(). But
the 'kvm_kernel_irqchip' global variable is initialized during
kvm_init(), that is called very early, and kvm_init() is already a
requirement to run the GET_SUPPORTED_CPUID ioctl() (as kvm_init() is the
function that initializes the 'kvm_state' global variable).

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 41e5e76db07b52591d9c9b88826278b8a5112258
      
https://github.com/qemu/qemu/commit/41e5e76db07b52591d9c9b88826278b8a5112258
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: x2apic is not supported without in-kernel irqchip

This is necessary so that x2apic is not improperly enabled when the
in-kernel irqchip is disabled.

This won't generate a warning with "-cpu ...,check" because the current
check/enforce code is broken (it checks the host CPU data directly,
instead of using kvm_arch_get_supported_cpuid()), but it will be
eventually fixed to properly report the missing x2apic flag.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: ea85c9e45655c5e3a665a5295e5338b995e4a29c
      
https://github.com/qemu/qemu/commit/ea85c9e45655c5e3a665a5295e5338b995e4a29c
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: mask cpuid_kvm_features earlier

Instead of masking the KVM feature bits very late (while building the
KVM_SET_CPUID2 data), mask it out on env->cpuid_kvm_features, at the
same point where the other feature words are masked out.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: c9da8382c1432fbafb8705e7faecdf783c0b1821
      
https://github.com/qemu/qemu/commit/c9da8382c1432fbafb8705e7faecdf783c0b1821
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: mask cpuid_ext4_features bits earlier

This way all the filtering by GET_SUPPORTED_CPUID is being done at the
same place in the code.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: bc74b7db86bc84d3e027ac7b536e8e39140d984f
      
https://github.com/qemu/qemu/commit/bc74b7db86bc84d3e027ac7b536e8e39140d984f
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M kvm.h
    M target-i386/cpu.c
    M target-i386/kvm.c

  Log Message:
  -----------
  i386: kvm: filter CPUID feature words earlier, on cpu.c

cpu.c contains the code that will check if all requested CPU features
are available, so the filtering of KVM features must be there, so we can
implement "check" and "enforce" properly.

The only point where kvm_arch_init_vcpu() is called on i386 is:

- cpu_x86_init()
  - x86_cpu_realize() (after cpu_x86_register() is called)
    - qemu_init_vcpu()
      - qemu_kvm_start_vcpu()
  - qemu_kvm_thread_fn() (on a new thread)
    - kvm_init_vcpu()
      - kvm_arch_init_vcpu()

With this patch, the filtering will be done earlier, at:
- cpu_x86_init()
  - cpu_x86_register() (before x86_cpu_realize() is called)

Also, the KVM CPUID filtering will now be done at the same place where
the TCG CPUID feature filtering is done. Later, the code can be changed
to use the same filtering code for the "check" and "enforce" modes, as
now the cpu.c code knows exactly which CPU features are going to be
exposed to the guest (and much earlier).

One thing I was worrying about when doing this is that
kvm_arch_get_supported_cpuid() depends on kvm_irqchip_in_kernel(), and
maybe the 'kvm_kernel_irqchip' global variable wasn't initialized yet at
CPU creation time. But kvm_kernel_irqchip is initialized during
kvm_init(), that is called very early (much earlier than the machine
init function), and kvm_init() is already a requirement to run the
GET_SUPPORTED_CPUID ioctl() (as kvm_init() initializes the kvm_state
global variable).

Side note: it would be nice to keep KVM-specific code inside kvm.c. The
problem is that properly implementing -cpu check/enforce code (that's
inside cpu.c) depends directly on the feature bit filtering done using
kvm_arch_get_supported_cpuid(). Currently -cpu check/enforce is broken
because it simply uses the host CPU feature bits instead of
GET_SUPPORTED_CPUID, and we need to fix that.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: b8091f245d36da604219db42552cc28400698446
      
https://github.com/qemu/qemu/commit/b8091f245d36da604219db42552cc28400698446
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  i386: kvm: reformat filter_features_for_kvm() code

Cosmetic, but it will also help to make futher patches easier to review.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: ffa8c11f0bbf47e1b7a3a62f97bc1da591c6734a
      
https://github.com/qemu/qemu/commit/ffa8c11f0bbf47e1b7a3a62f97bc1da591c6734a
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  i386: kvm: filter CPUID leaf 7 based on GET_SUPPORTED_CPUID, too

Now that CPUID leaf 7 features can be enabled/disabled on the
command-line, we need to filter them properly using GET_SUPPORTED_CPUID,
at the same place where other features are filtered out.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 811a8ae09e179d0a4d8cde13ba9f72e7c782c9ff
      
https://github.com/qemu/qemu/commit/811a8ae09e179d0a4d8cde13ba9f72e7c782c9ff
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  i386: cpu: add missing CPUID[EAX=7,ECX=0] flag names

This makes QEMU recognize the following CPU flag names:

 Flags            | Corresponding KVM kernel commit
 -----------------+----------------------------------------
 FSGSBASE         | 176f61da82435eae09cc96f70b530d1ba0746b8b
 AVX2, BMI1, BMI2 | fb215366b3c7320ac25dca766a0152df16534932
 HLE, RTM         | 83c529151ab0d4a813e3f6a3e293fff75d468519
 INVPCID          | ad756a1603c5fac207758faaac7f01c34c9d0b7b
 ERMS             | a01c8f9b4e266df1d7166d23216f2060648f862d

Reviewed-by: Don Slutz <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: c3d3980794124508e0bd4eaa406d7fa0e832a221
      
https://github.com/qemu/qemu/commit/c3d3980794124508e0bd4eaa406d7fa0e832a221
  Author: Don Slutz <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Add missing kvm cpuid feature name

Currently "-cpu host,-kvmclock,-kvm_nopiodelay,-kvm_mmu" does not
turn off all bits in CPUID 0x40000001 EAX.

The missing ones is KVM_FEATURE_STEAL_TIME.

This adds the name kvm_steal_time.

Signed-off-by: Don Slutz <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 19403a68fb8eaefb2e1245b6a8384d3a3ffa7ca0
      
https://github.com/qemu/qemu/commit/19403a68fb8eaefb2e1245b6a8384d3a3ffa7ca0
  Author: Marcelo Tosatti <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M hw/cirrus_vga.c

  Log Message:
  -----------
  cirrus_vga: allow configurable vram size

Allow RAM size to be configurable for cirrus, to allow migration
compatibility from qemu-kvm.

Acked-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: e43d594ee55038442d59d301eb34fdf0c378d3a4
      
https://github.com/qemu/qemu/commit/e43d594ee55038442d59d301eb34fdf0c378d3a4
  Author: Jan Kiszka <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Use machine options to emulate -no-kvm-irqchip

Releases of qemu-kvm will be interrupted at qemu 1.3.0.
Users should switch to plain qemu releases.
To avoid breaking scenarios which are setup with command line
options specific to qemu-kvm, port these switches from qemu-kvm
to qemu.git.

Port -no-kvm-irqchip option.

Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 4086bde8c08746913d7ca6dcbc5e18a49a627cdc
      
https://github.com/qemu/qemu/commit/4086bde8c08746913d7ca6dcbc5e18a49a627cdc
  Author: Jan Kiszka <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Issue warning when deprecated -no-kvm-pit is used

Releases of qemu-kvm will be interrupted at qemu 1.3.0.
Users should switch to plain qemu releases.
To avoid breaking scenarios which are setup with command line
options specific to qemu-kvm, port these switches from qemu-kvm
to qemu.git.

Port -no-kvm-pit option.

Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: c21fb4f8b802108697f9353a8f807079507b586c
      
https://github.com/qemu/qemu/commit/c21fb4f8b802108697f9353a8f807079507b586c
  Author: Jan Kiszka <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Use global properties to emulate -no-kvm-pit-reinjection

Releases of qemu-kvm will be interrupted at qemu 1.3.0.
Users should switch to plain qemu releases.
To avoid breaking scenarios which are setup with command line
options specific to qemu-kvm, port these switches from qemu-kvm
to qemu.git.

Port -no-kvm-pit-reinjection.

Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 0d92d17a6d0d65af8cb905bdd5f9e04e210564ff
      
https://github.com/qemu/qemu/commit/0d92d17a6d0d65af8cb905bdd5f9e04e210564ff
  Author: Jan Kiszka <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M blockdev.c
    M qemu-config.c

  Log Message:
  -----------
  Issue warning when deprecated drive parameter boot=on|off is used

Releases of qemu-kvm will be interrupted at qemu 1.3.0.
Users should switch to plain qemu releases.
To avoid breaking scenarios which are setup with command line
options specific to qemu-kvm, port these switches from qemu-kvm
to qemu.git.

Port drive boot option. From the qemu-kvm original commit message:

We do not want to maintain this option forever. It will be removed after
a grace period of a few releases. So warn the user that this option has
no effect and will become invalid soon.

Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 88eed34a6b3eba46397de5aaf24ed66ea290794b
      
https://github.com/qemu/qemu/commit/88eed34a6b3eba46397de5aaf24ed66ea290794b
  Author: Jan Kiszka <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Issue warning when deprecated -tdf option is used

Releases of qemu-kvm will be interrupted at qemu 1.3.0.
Users should switch to plain qemu releases.
To avoid breaking scenarios which are setup with command line
options specific to qemu-kvm, port these switches from qemu-kvm
to qemu.git.

Port -tdf option.

Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: a0dac021fa4b8b87160192c1f60ee26fc6c5ce2e
      
https://github.com/qemu/qemu/commit/a0dac021fa4b8b87160192c1f60ee26fc6c5ce2e
  Author: Jan Kiszka <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Emulate qemu-kvms -no-kvm option

Releases of qemu-kvm will be interrupted at qemu 1.3.0.
Users should switch to plain qemu releases.
To avoid breaking scenarios which are setup with command line
options specific to qemu-kvm, port these switches from qemu-kvm
to qemu.git.

Port -no-kvm option.

Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 1aefc6b8cbe66e5adb3e6b160f6790171e0a7785
      
https://github.com/qemu/qemu/commit/1aefc6b8cbe66e5adb3e6b160f6790171e0a7785
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: make cpu_x86_fill_host() void

The return value of that function is always 0, and is always ignored.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 6e746f30558cb1331598575918c2a8808be2a75b
      
https://github.com/qemu/qemu/commit/6e746f30558cb1331598575918c2a8808be2a75b
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: cpu: make -cpu host/check/enforce code KVM-specific

Rationale:
 * "-cpu host" is available only when using KVM
 * The current implementation of -cpu check/enforce
   (check_features_against_host()) makes sense only when using KVM.

So this makes the functions check_features_against_host() and
cpu_x86_fill_host() KVM-specific, document them as such, and rename them
to kvm_check_features_against_host() and kvm_cpu_fill_host().

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 12869995ea4f436ab76af5059fd2e9ae83c6cf9d
      
https://github.com/qemu/qemu/commit/12869995ea4f436ab76af5059fd2e9ae83c6cf9d
  Author: Eduardo Habkost <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: kvm_cpu_fill_host: use GET_SUPPORTED_CPUID

Change the kvm_cpu_fill_host() function to use
kvm_arch_get_supported_cpuid() instead of running the CPUID instruction
directly, when checking for supported CPUID features.

This should solve two problems at the same time:

 * "-cpu host" was not enabling features that don't need support on
   the host CPU (e.g. x2apic);
 * "check" and "enforce" options were not detecting problems when the
   host CPU did support a feature, but the KVM kernel code didn't
   support it.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: b55f546eefe79cb6e6b15ebb23f352a736bafc39
      
https://github.com/qemu/qemu/commit/b55f546eefe79cb6e6b15ebb23f352a736bafc39
  Author: Peter Maydell <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M scripts/update-linux-headers.sh

  Log Message:
  -----------
  update-linux-headers.sh: Handle new kernel uapi/ directories

Recent kernels have moved to keeping the userspace headers
in uapi/ subdirectories. This breaks the detection of whether an
architecture has KVM support in the kernel because kvm.h has
moved in the kernel source tree. Update the check to support
both the old and new locations.

Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>


  Commit: 3993c6bddf6da21977349ba1b14b86294ef4f7ff
      
https://github.com/qemu/qemu/commit/3993c6bddf6da21977349ba1b14b86294ef4f7ff
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-all.h
    M cpu-exec.c
    M cpus.c
    M hw/spapr_hcall.c
    M hw/xtensa_pic.c
    M include/qemu/cpu.h
    M target-alpha/cpu.c
    M target-alpha/cpu.h
    M target-arm/cpu.h
    M target-cris/cpu.h
    M target-i386/cpu.h
    M target-lm32/cpu.h
    M target-m68k/cpu.h
    M target-microblaze/cpu.h
    M target-mips/cpu.h
    M target-openrisc/cpu.h
    M target-ppc/cpu.h
    M target-s390x/cpu.h
    M target-sh4/cpu.h
    M target-sparc/cpu.h
    M target-unicore32/cpu.c
    M target-unicore32/cpu.h
    M target-xtensa/cpu.h

  Log Message:
  -----------
  cpus: Pass CPUState to [qemu_]cpu_has_work()

For target-mips also change the return type to bool.

Make include paths for cpu-qom.h consistent for alpha and unicore32.

Signed-off-by: Andreas Färber <address@hidden>
[AF: Updated new target-openrisc function accordingly]
Acked-by: Richard Henderson <address@hidden> (for alpha)


  Commit: bee615d4b945e6d88dc37a39e40be9f105622f8d
      
https://github.com/qemu/qemu/commit/bee615d4b945e6d88dc37a39e40be9f105622f8d
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  target-i386: Pass X86CPU to kvm_mce_inject()

Needed for changing cpu_x86_inject_mce() argument to X86CPU.

Signed-off-by: Andreas Färber <address@hidden>
[AF: Rebased onto hwaddr]


  Commit: 8c5cf3b6219d5d5fb61a9d6e59022fc72dab8f85
      
https://github.com/qemu/qemu/commit/8c5cf3b6219d5d5fb61a9d6e59022fc72dab8f85
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M monitor.c
    M target-i386/cpu.h
    M target-i386/helper.c
    M target-i386/kvm.c

  Log Message:
  -----------
  target-i386: Pass X86CPU to cpu_x86_inject_mce()

Needed for changing run_on_cpu() argument to CPUState.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: f100f0b38fe43c683f437a8fa3e449d6752f6a58
      
https://github.com/qemu/qemu/commit/f100f0b38fe43c683f437a8fa3e449d6752f6a58
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-all.h
    M cpus.c
    M hw/kvm/apic.c
    M hw/kvmvapic.c
    M hw/ppce500_spin.c
    M include/qemu/cpu.h
    M kvm-all.c
    M target-i386/helper.c

  Log Message:
  -----------
  cpus: Pass CPUState to run_on_cpu()

CPUArchState is no longer needed.

Move the declaration to include/qemu/cpu.h and add documentation.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 9f09e18a6df39ab11cd80e203c5736af1823f3b3
      
https://github.com/qemu/qemu/commit/9f09e18a6df39ab11cd80e203c5736af1823f3b3
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M cpu-defs.h
    M cpus.c
    M exec.c
    M include/qemu/cpu.h

  Log Message:
  -----------
  cpu: Move thread_id to CPUState

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 23d02d9b4bbe362a5b9cfc3ce1e5cc106eff5664
      
https://github.com/qemu/qemu/commit/23d02d9b4bbe362a5b9cfc3ce1e5cc106eff5664
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  target-i386: Pass X86CPU to kvm_get_mp_state()

Needed for moving halted field to CPUState.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 839b5630cd4f49ce10618a7bf0b705b76f3a01ca
      
https://github.com/qemu/qemu/commit/839b5630cd4f49ce10618a7bf0b705b76f3a01ca
  Author: Andreas Färber <address@hidden>
  Date:   2012-10-30 (Tue, 30 Oct 2012)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  target-i386: Pass X86CPU to kvm_handle_halt()

Needed for moving interrupt_request and halted fields to CPUState.

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 38b14db34e16bb0ae1f28b7ddccb6aa11a2a96a1
      
https://github.com/qemu/qemu/commit/38b14db34e16bb0ae1f28b7ddccb6aa11a2a96a1
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M qemu-thread-posix.c
    M qemu-thread-posix.h
    M qemu-thread-win32.c
    M qemu-thread-win32.h
    M qemu-thread.h

  Log Message:
  -----------
  qemu-thread: add QemuSemaphore

The new thread pool will use semaphores instead of condition
variables, because QemuCond does not have qemu_cond_timedwait.
(I also like it more this way).

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d354c7eccf5466ec2715a03d3f33dbfd6680dcc5
      
https://github.com/qemu/qemu/commit/d354c7eccf5466ec2715a03d3f33dbfd6680dcc5
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M Makefile.objs
    A thread-pool.c
    A thread-pool.h
    M trace-events

  Log Message:
  -----------
  aio: add generic thread-pool facility

Add a generic thread-pool.  The code is roughly based on posix-aio-compat.c,
with some changes, especially the following:

- use QemuSemaphore instead of QemuCond;

- separate the state of the thread from the return code of the worker
function.  The return code is totally opaque for the thread pool;

- do not busy wait when doing cancellation.

A more generic threadpool (but still specific to I/O so that in the future
it can use special scheduling classes or PI mutexes) can have many uses:
it allows more flexibility in raw-posix.c and can more easily be extended
to Win32, and it will also be used to do an msync of the persistent bitmap.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 19d092cf9ba3c01b0e22ef65c499ae7ddc28d0e8
      
https://github.com/qemu/qemu/commit/19d092cf9ba3c01b0e22ef65c499ae7ddc28d0e8
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M thread-pool.c

  Log Message:
  -----------
  threadpool: do not take lock in event_notifier_ready

The ordering is:

    worker thread                         consumer thread
    -------------------------------------------------------------------
    write ret                             event_notifier_test_and_clear
    wmb()                                 read state
    write state                           rmb()
    event_notifier_set                    read ret

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 47e6b251a5e9a47c406f2f2c0b01bb88854c98ec
      
https://github.com/qemu/qemu/commit/47e6b251a5e9a47c406f2f2c0b01bb88854c98ec
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M block/raw-posix-aio.h
    M block/raw-posix.c
    M posix-aio-compat.c

  Log Message:
  -----------
  block: switch posix-aio-compat to threadpool

This is not meant for portability, but to remove code duplication.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: de81a169366c2e3e0c47d0be637cc450b71aac67
      
https://github.com/qemu/qemu/commit/de81a169366c2e3e0c47d0be637cc450b71aac67
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M Makefile.objs
    M block/raw-posix-aio.h
    M block/raw-posix.c
    R posix-aio-compat.c

  Log Message:
  -----------
  raw: merge posix-aio-compat.c into block/raw-posix.c

Making the qemu_paiocb specific to raw devices will let us access members
of the BDRVRawState arbitrarily.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9f8540ecef6fc5ededa825d766c8bcd1987884dd
      
https://github.com/qemu/qemu/commit/9f8540ecef6fc5ededa825d766c8bcd1987884dd
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    A block/raw-aio.h
    R block/raw-posix-aio.h
    M block/raw-posix.c
    M linux-aio.c

  Log Message:
  -----------
  raw-posix: rename raw-posix-aio.h, hide unavailable prototypes

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: fc4edb84bfc49e4ed6c1a54c8ac037e9a7479fc8
      
https://github.com/qemu/qemu/commit/fc4edb84bfc49e4ed6c1a54c8ac037e9a7479fc8
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M block/raw-win32.c

  Log Message:
  -----------
  raw-win32: add emulated AIO support

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 10fb6e06825743bd517d4b5bb0e7b9e05e0fe92c
      
https://github.com/qemu/qemu/commit/10fb6e06825743bd517d4b5bb0e7b9e05e0fe92c
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M Makefile.objs
    M block/Makefile.objs
    A block/linux-aio.c
    R linux-aio.c

  Log Message:
  -----------
  raw-posix: move linux-aio.c to block/

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a27365265cc2fed1178bf25a205e8ee02a9c0caf
      
https://github.com/qemu/qemu/commit/a27365265cc2fed1178bf25a205e8ee02a9c0caf
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M block/Makefile.objs
    M block/raw-aio.h
    M block/raw-win32.c
    A block/win32-aio.c

  Log Message:
  -----------
  raw-win32: implement native asynchronous I/O

With the new support for EventNotifiers in the AIO event loop, we
can hook a completion port to every opened file and use asynchronous
I/O on them.

Wine's support is extremely inefficient, also because it really does
the I/O synchronously on regular files. (!)  But it works, and it is
good to keep the Win32 and POSIX ports as similar as possible.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f563a5d7a820424756f358e747238f03e866838a
      
https://github.com/qemu/qemu/commit/f563a5d7a820424756f358e747238f03e866838a
  Author: Paolo Bonzini <address@hidden>
  Date:   2012-10-31 (Wed, 31 Oct 2012)

  Changed paths:
    M Makefile
    M QMP/qmp-events.txt
    M QMP/qmp.py
    M block.c
    M block.h
    M block/Makefile.objs
    M block/commit.c
    A block/mirror.c
    M block/stream.c
    M block_int.h
    M blockdev.c
    M blockjob.c
    M blockjob.h
    M configure
    M default-configs/sparc64-softmmu.mak
    M hmp-commands.hx
    M hmp.c
    M hmp.h
    M hw/ac97.c
    M hw/es1370.c
    M hw/i8254.c
    M hw/kvm/pci-assign.c
    M hw/m25p80.c
    M hw/m48t59.c
    M hw/mc146818rtc.c
    M hw/msi.c
    M hw/msi.h
    M hw/nseries.c
    M hw/pc.c
    M hw/pc_piix.c
    M hw/pci.c
    M hw/pci.h
    M hw/pci_bridge.c
    M hw/pci_ids.h
    M hw/pci_internals.h
    M hw/pcie_host.c
    M hw/pcie_host.h
    M hw/pckbd.c
    M hw/ppc/Makefile.objs
    M hw/ppc/e500.c
    M hw/ppc440_bamboo.c
    M hw/ppc_newworld.c
    M hw/ppc_oldworld.c
    M hw/ppc_prep.c
    M hw/ppce500_pci.c
    M hw/pxa2xx.c
    M hw/realview.c
    M hw/rtl8139.c
    M hw/s390-virtio.c
    M hw/s390x/Makefile.objs
    A hw/s390x/event-facility.c
    A hw/s390x/event-facility.h
    A hw/s390x/sclp.c
    A hw/s390x/sclp.h
    A hw/s390x/sclpconsole.c
    A hw/s390x/sclpquiesce.c
    M hw/serial.c
    M hw/spapr.c
    M hw/spapr.h
    A hw/spapr_events.c
    M hw/spapr_hcall.c
    M hw/spapr_pci.c
    M hw/spapr_pci.h
    M hw/spapr_rtas.c
    M hw/usb.h
    M hw/usb/bus.c
    M hw/usb/core.c
    M hw/usb/hcd-ehci.c
    M hw/usb/hcd-musb.c
    M hw/usb/hcd-ohci.c
    M hw/usb/hcd-uhci.c
    M hw/usb/hcd-xhci.c
    M hw/usb/host-linux.c
    M hw/usb/redirect.c
    M hw/versatilepb.c
    M hw/vhost_net.c
    M hw/virtio-net.c
    M hw/virtio-pci.c
    M hw/vmport.c
    M hw/xen_platform.c
    M hw/xilinx_spips.c
    M hw/xilinx_zynq.c
    M hw/xtensa_lx60.c
    M hw/xtensa_sim.c
    M iov.c
    M iov.h
    M memory.c
    M migration.c
    M monitor.c
    M monitor.h
    M net/tap-win32.c
    M osdep.c
    M qapi-schema.json
    M qemu-config.c
    M qemu-img-cmds.hx
    M qemu-img.c
    M qemu-img.texi
    M qemu-options.hx
    M qemu-timer.c
    M qerror.h
    M qmp-commands.hx
    M qmp.c
    M scripts/kvm/kvm_stat
    M sysemu.h
    M target-alpha/helper.h
    M target-arm/arm-semi.c
    M target-arm/helper.c
    M target-arm/helper.h
    M target-arm/neon_helper.c
    M target-arm/op_helper.c
    M target-arm/translate.c
    M target-cris/helper.h
    M target-i386/cpu.c
    M target-i386/cpu.h
    M target-i386/helper.h
    M target-microblaze/helper.h
    M target-mips/helper.h
    M target-mips/translate.c
    M target-ppc/cpu.h
    M target-ppc/helper.h
    M target-ppc/mmu_helper.c
    M target-ppc/translate_init.c
    M target-s390x/cpu.h
    M target-s390x/helper.h
    M target-s390x/kvm.c
    M target-s390x/misc_helper.c
    M target-sh4/helper.h
    M target-sparc/helper.h
    M target-sparc/translate.c
    M target-xtensa/helper.h
    M tcg/README
    M tcg/i386/tcg-target.c
    M tcg/mips/tcg-target.c
    M tcg/optimize.c
    M tcg/tcg-op.h
    M tcg/tcg-opc.h
    M tcg/tcg.c
    M tcg/tcg.h
    M tests/qemu-iotests/040
    M tests/qemu-iotests/040.out
    A tests/qemu-iotests/041
    A tests/qemu-iotests/041.out
    A tests/qemu-iotests/042
    A tests/qemu-iotests/042.out
    A tests/qemu-iotests/043
    A tests/qemu-iotests/043.out
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py
    M tests/tcg/hello-i386.c
    M tests/tcg/test-i386.c
    M tests/tcg/test-mmap.c
    M tests/tcg/testthread.c
    M trace-events
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into threadpool

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e5b8b0d4ba29fe1268ba049519a1b0cf8552a21a
      
https://github.com/qemu/qemu/commit/e5b8b0d4ba29fe1268ba049519a1b0cf8552a21a
  Author: Dmitry Fleytman <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M hw/e1000.c

  Log Message:
  -----------
  e1000: drop check_rxov, always treat RX ring with RDH == RDT as empty

Real HW always treats RX ring with RDH == RDT as empty.
Emulation is supposed to behave the same.

Reported-by: Chris Webb <address@hidden>
Reported-by: Richard Davies <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: f0e3ac70341febed02591b61b579723279783053
      
https://github.com/qemu/qemu/commit/f0e3ac70341febed02591b61b579723279783053
  Author: Lei Li <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M net/socket.c

  Log Message:
  -----------
  net: use "socket" model name for UDP sockets

Fix the problem that can not delete the udp socket.
It's caused by passing "udp" model to net_socket_udp_init,
but we do not have "udp" model in our model list.
Pass the right model "socket" to init function.

https://bugs.launchpad.net/qemu/+bug/1073585?comments=all

Signed-off-by: Lei Li <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 645c9496f7083c105ecd32f32532496af6aadf62
      
https://github.com/qemu/qemu/commit/645c9496f7083c105ecd32f32532496af6aadf62
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M net.c

  Log Message:
  -----------
  net: Reject non-netdevs in qmp_netdev_del()

The netdev_del command crashes when given a -net device, because it
calls qemu_opts_del(NULL).

Check that this is a -netdev before attempting to delete it and the
QemuOpts.

Note the subtle change from qemu_find_opts_err("netdev", errp) to
qemu_find_opts_err("netdev", NULL).  Since "netdev" is a built in
options group and we don't check for NULL return anyway, there's no use
in passing errp here.

Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 372254c6e5c078fb13b236bb648d2b9b2b0c70f1
      
https://github.com/qemu/qemu/commit/372254c6e5c078fb13b236bb648d2b9b2b0c70f1
  Author: Gabriel L. Somlo <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M hw/e1000.c

  Log Message:
  -----------
  e1000: pre-initialize RAH/RAL registers

Some guest operating systems' drivers (Mac OS X in particular) fail to
properly initialize the Receive Address registers (probably expecting
them to be pre-initialized by an earlier component, such as a specific
proprietary BIOS). This patch pre-initializes the RA registers, allowing
OS X networking to function properly. Other guest operating systems are
not affected, and free to (re)initialize these registers during boot.

[According to the datasheet the Address Valid bits in the RA registers
are cleared on PCI or software reset.  This patch adds the NIC's MAC
address and sets Address Valid on reset.  So we diverge from real
hardware behavior here. -- Stefan]

Signed-off-by: Gabriel Somlo <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 87e487a14bd9f3fb4a2b27179377e011bdda7c51
      
https://github.com/qemu/qemu/commit/87e487a14bd9f3fb4a2b27179377e011bdda7c51
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.h
    M hw/xenfb.c
    M vl.c

  Log Message:
  -----------
  console: QLIST-ify display change listeners.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 35c9e0a5c2804b94d1a452a0a9a12d7a893b5318
      
https://github.com/qemu/qemu/commit/35c9e0a5c2804b94d1a452a0a9a12d7a893b5318
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.h
    M vl.c

  Log Message:
  -----------
  console: add unregister_displaychangelistener

Also change the way the gui_timer is initialized: each time a
displaychangelistener is registered or unregistered we'll check
whether we need a timer (due to dpy_refresh callback being present)
and if so setup a timer, otherwise zap it.  This way the gui timer
works correctly with displaychangelisteners coming and going.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: bf2fde70fea6b3245dab44253deafba95f2979e5
      
https://github.com/qemu/qemu/commit/bf2fde70fea6b3245dab44253deafba95f2979e5
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c
    M console.h
    M hw/jazz_led.c
    M hw/qxl-render.c
    M hw/vga.c
    M hw/vmware_vga.c
    M ui/sdl.c
    M ui/spice-display.c
    M ui/vnc.c

  Log Message:
  -----------
  console: move set_mouse + cursor_define callbacks

When adding DisplayChangeListeners the set_mouse and cursor_define
callbacks have been left in DisplayState for some reason.  Fix it.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 76ffb0b4d048aac18b54f8555c60b6d3b0e2bc37
      
https://github.com/qemu/qemu/commit/76ffb0b4d048aac18b54f8555c60b6d3b0e2bc37
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c
    M qemu-common.h

  Log Message:
  -----------
  console: s/TextConsole/QemuConsole/

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: a93a4a226a2afba147ba5df688b85d844f537c68
      
https://github.com/qemu/qemu/commit/a93a4a226a2afba147ba5df688b85d844f537c68
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c
    M console.h
    M hw/blizzard.c
    M hw/exynos4210_fimd.c
    M hw/g364fb.c
    M hw/jazz_led.c
    M hw/milkymist-vgafb.c
    M hw/musicpal.c
    M hw/nseries.c
    M hw/omap_lcdc.c
    M hw/palm.c
    M hw/pl110.c
    M hw/pxa2xx_lcd.c
    M hw/qxl-render.c
    M hw/qxl.c
    M hw/sm501.c
    M hw/ssd0303.c
    M hw/ssd0323.c
    M hw/tc6393xb.c
    M hw/tcx.c
    M hw/vga.c
    M hw/vmware_vga.c
    M ui/curses.c
    M ui/sdl.c
    M ui/spice-display.c
    M ui/vnc.c
    M vl.c

  Log Message:
  -----------
  console: untangle gfx & txt updates

Stop abusing displaysurface fields for text mode displays.
(bpp = 0, width = cols, height = lines).

Add flags to displaystate indicating whenever text mode display
(curses) or gfx mode displays (sdl, vnc, ...) are present.

Add separate displaychangelistener callbacks for text / gfx mode
resize & updates.

This allows to enable gfx and txt diplays at the same time and also
paves the way for more cleanups in the future.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: e250d949feb1334828f27f0d145c35f29c4b7639
      
https://github.com/qemu/qemu/commit/e250d949feb1334828f27f0d145c35f29c4b7639
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.h
    M vl.c

  Log Message:
  -----------
  console: init displaychangelisteners on register

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 9678aedd8e76978465698b9edeb069ccee15e975
      
https://github.com/qemu/qemu/commit/9678aedd8e76978465698b9edeb069ccee15e975
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M hw/vga.c
    M hw/vga_int.h

  Log Message:
  -----------
  vga: fix text mode updating

With both text (curses) and graphics (vnc/sdl/spice/...) display active
vga text mode emulation fails to update both correctly.  Depending on
whenever vga_update_text() or vga_draw_text() happens to be called first
only the text display or only the graphics display will see display
resolution changes and full redraws.

Fix it by calling both text/gfx resize functions in both code paths and
keep track of full screen redraws needed in VGACommonState fields.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 4dc6a39bbd1a03f86797e0df2db285318f086aee
      
https://github.com/qemu/qemu/commit/4dc6a39bbd1a03f86797e0df2db285318f086aee
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.h
    M ui/sdl.c

  Log Message:
  -----------
  console: remove dpy_gfx_fill

Unused code.  'nuff said.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 187cd1d9f30d13f0d0ef682e4d91cfa3e4cbd472
      
https://github.com/qemu/qemu/commit/187cd1d9f30d13f0d0ef682e4d91cfa3e4cbd472
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c
    M console.h
    M qemu-common.h
    M ui/sdl.c

  Log Message:
  -----------
  console: remove DisplayAllocator

Causes [temporary] preformance regression with 24bpp vga modes @ sdl.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 9f2c7d7d67c228ae6a02f50082f0c6d10703f483
      
https://github.com/qemu/qemu/commit/9f2c7d7d67c228ae6a02f50082f0c6d10703f483
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M .gitmodules
    A pixman

  Log Message:
  -----------
  pixman: add submodule

Add pixman submodule as fallback for old distros.
Picking version 0.18.4.  This is shipped by rhel6
and also the minimum version needed by spice so this
should serve well as baseline.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: e2134eb9223edac82cc7aa2281779c92c920d579
      
https://github.com/qemu/qemu/commit/e2134eb9223edac82cc7aa2281779c92c920d579
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M Makefile
    M configure

  Log Message:
  -----------
  pixman: windup in configure & makefiles

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: d2ec7e24a270ba72a151b506ac57c6cd21e3c587
      
https://github.com/qemu/qemu/commit/d2ec7e24a270ba72a151b506ac57c6cd21e3c587
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M Makefile.objs
    A qemu-pixman.c
    A qemu-pixman.h

  Log Message:
  -----------
  pixman: helper functions

Add some helper functions which will be put
into use by following patches.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 69c7777720c18d8afca7d9685c6dced1aae3a056
      
https://github.com/qemu/qemu/commit/69c7777720c18d8afca7d9685c6dced1aae3a056
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c
    M console.h

  Log Message:
  -----------
  pixman: add pixman image to DisplaySurface

Surfaces are now allocated using pixman.  DisplaySurface gets new
struct fields with pixman image and data.  DisplayChangeListeners
can easily start using pixman now.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 537a43913c19973adc4153d30498591f92a90359
      
https://github.com/qemu/qemu/commit/537a43913c19973adc4153d30498591f92a90359
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c
    M console.h

  Log Message:
  -----------
  console: make qemu_alloc_display static

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 09bbb0ae8226c71aba440bdfa6fca300acd9e5d4
      
https://github.com/qemu/qemu/commit/09bbb0ae8226c71aba440bdfa6fca300acd9e5d4
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c

  Log Message:
  -----------
  console: don't set PixelFormat alpha fields for 32bpp

Currently it is inconstent, PixelFormat->amask is left unset whereas
abits and amax and ashift are filled.  As an alpha channel doesn't make
sense for the vga framebuffer leave all alpha fields clear.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: b6e9f63711ea19b110574e384477bad4ea74f4a2
      
https://github.com/qemu/qemu/commit/b6e9f63711ea19b110574e384477bad4ea74f4a2
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M hw/qxl-render.c

  Log Message:
  -----------
  qxl: stop direct access to DisplaySurface fields.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 1fd2510a3786fb557919cdd71e8e65c504439ddc
      
https://github.com/qemu/qemu/commit/1fd2510a3786fb557919cdd71e8e65c504439ddc
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M hw/vga.c

  Log Message:
  -----------
  vga: stop direct access to DisplaySurface fields.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: b12f32c408ef8cb9b3a4dfcb3710b382fd24a3ee
      
https://github.com/qemu/qemu/commit/b12f32c408ef8cb9b3a4dfcb3710b382fd24a3ee
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M hw/vga.c

  Log Message:
  -----------
  pixman: switch screendump function.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 9f64916da20eea67121d544698676295bbb105a7
      
https://github.com/qemu/qemu/commit/9f64916da20eea67121d544698676295bbb105a7
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M ui/vnc-enc-hextile-template.h
    M ui/vnc-enc-hextile.c
    M ui/vnc-enc-tight.c
    M ui/vnc-enc-zrle.c
    M ui/vnc-jobs.c
    M ui/vnc.c
    M ui/vnc.h

  Log Message:
  -----------
  pixman/vnc: use pixman images in vnc.

The vnc code uses *three* DisplaySurfaces:

First is the surface of the actual QemuConsole, usually the guest
screen, but could also be a text console (monitor/serial reachable via
Ctrl-Alt-<nr> keys).  This is left as-is.

Second is the current server's view of the screen content.  The vnc code
uses this to figure which parts of the guest screen did _really_ change
to reduce the amount of updates sent to the vnc clients.  It is also
used as data source when sending out the updates to the clients.  This
surface gets replaced by a pixman image.  The format changes too,
instead of using the guest screen format we'll use fixed 32bit rgb
framebuffer and convert the pixels on the fly when comparing and
updating the server framebuffer.

Third surface carries the format expected by the vnc client.  That isn't
used to store image data.  This surface is switched to PixelFormat and a
boolean for bigendian byte order.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 47683d669f993308c2b84bed4ce64aafb5d7ced4
      
https://github.com/qemu/qemu/commit/47683d669f993308c2b84bed4ce64aafb5d7ced4
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M ui/vnc-enc-tight.c

  Log Message:
  -----------
  pixman/vnc: remove rgb_prepare_row* functions

Let pixman do it instead.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 94362682d31eb7c9bfd6bf74cd615d0616a09361
      
https://github.com/qemu/qemu/commit/94362682d31eb7c9bfd6bf74cd615d0616a09361
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M ui/vnc-enc-hextile.c
    M ui/vnc-enc-tight.c
    M ui/vnc.c

  Log Message:
  -----------
  pixman/vnc: remove dead code.

Switching the vnc server framebuffer to use 32bpp unconditionally
turns the code bits which handle 8 and 16 bpp into dead code.
Remove them.

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 64f735920ad319aee860e56bb9bad6cfccf4ad40
      
https://github.com/qemu/qemu/commit/64f735920ad319aee860e56bb9bad6cfccf4ad40
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M console.c
    M console.h

  Log Message:
  -----------
  pixman: drop obsolete fields from DisplaySurface

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 98c8a73b2e82eecac359b0b55a2d9d69f0a916ff
      
https://github.com/qemu/qemu/commit/98c8a73b2e82eecac359b0b55a2d9d69f0a916ff
  Author: Anthony Liguori <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M cpu-all.h
    M cpu-defs.h
    M cpu-exec.c
    M cpus.c
    M exec.c
    M hw/apic.c
    M hw/apic_common.c
    M hw/apic_internal.h
    M hw/kvm/apic.c
    M hw/kvmvapic.c
    M hw/pc.c
    M hw/ppc.c
    M hw/ppce500_spin.c
    M hw/spapr.c
    M hw/spapr.h
    M hw/spapr_hcall.c
    M hw/spapr_iommu.c
    M hw/spapr_llan.c
    M hw/spapr_rtas.c
    M hw/spapr_vio.c
    M hw/spapr_vty.c
    M hw/sun4m.c
    M hw/sun4u.c
    M hw/xics.c
    M hw/xtensa_pic.c
    M include/qemu/cpu.h
    M kvm-all.c
    M monitor.c
    M qemu-common.h
    M target-alpha/cpu.c
    M target-alpha/cpu.h
    M target-arm/cpu.h
    M target-cris/cpu.h
    M target-i386/cpu.c
    M target-i386/cpu.h
    M target-i386/helper.c
    M target-i386/kvm.c
    M target-lm32/cpu.h
    M target-m68k/cpu.h
    M target-microblaze/cpu.h
    M target-mips/cpu.h
    M target-openrisc/cpu.h
    M target-ppc/cpu.h
    M target-ppc/excp_helper.c
    M target-ppc/kvm.c
    M target-s390x/cpu.h
    M target-s390x/kvm.c
    M target-sh4/cpu.h
    M target-sparc/cpu.h
    M target-unicore32/cpu.c
    M target-unicore32/cpu.h
    M target-xtensa/cpu.h

  Log Message:
  -----------
  Merge remote-tracking branch 'afaerber/qom-cpu' into staging

* afaerber/qom-cpu: (35 commits)
  target-i386: Pass X86CPU to kvm_handle_halt()
  target-i386: Pass X86CPU to kvm_get_mp_state()
  cpu: Move thread_id to CPUState
  cpus: Pass CPUState to run_on_cpu()
  target-i386: Pass X86CPU to cpu_x86_inject_mce()
  target-i386: Pass X86CPU to kvm_mce_inject()
  cpus: Pass CPUState to [qemu_]cpu_has_work()
  spapr: Pass PowerPCCPU to hypercalls
  spapr: Pass PowerPCCPU to spapr_hypercall()
  target-ppc: Pass PowerPCCPU to cpu_ppc_hypercall
  target-ppc: Pass PowerPCCPU to powerpc_excp()
  xtensa_pic: Pass XtensaCPU to xtensa_ccompare_cb()
  cpus: Pass CPUState to qemu_wait_io_event_common()
  cpus: Pass CPUState to flush_queued_work()
  cpu: Move queued_work_{first,last} to CPUState
  cpus: Pass CPUState to qemu_cpu_kick()
  target-ppc: Rename kvm_kick_{env => cpu} and pass PowerPCCPU
  ppc: Pass PowerPCCPU to {ppc6xx,ppc970,power7,ppc40x,ppce500}_set_irq()
  cpus: Pass CPUState to qemu_tcg_init_vcpu()
  cpus: Pass CPUState to qemu_tcg_cpu_thread_fn
  ...

Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 43552994c468d37d1e0e81b9f759338dcdbc5cc0
      
https://github.com/qemu/qemu/commit/43552994c468d37d1e0e81b9f759338dcdbc5cc0
  Author: Anthony Liguori <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M blockdev.c
    M hw/cirrus_vga.c
    M kvm.h
    M qemu-config.c
    M qemu-options.hx
    M scripts/update-linux-headers.sh
    M target-i386/cpu.c
    M target-i386/kvm.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'qemu-kvm/uq/master' into staging

* qemu-kvm/uq/master: (28 commits)
  update-linux-headers.sh: Handle new kernel uapi/ directories
  target-i386: kvm_cpu_fill_host: use GET_SUPPORTED_CPUID
  target-i386: cpu: make -cpu host/check/enforce code KVM-specific
  target-i386: make cpu_x86_fill_host() void
  Emulate qemu-kvms -no-kvm option
  Issue warning when deprecated -tdf option is used
  Issue warning when deprecated drive parameter boot=on|off is used
  Use global properties to emulate -no-kvm-pit-reinjection
  Issue warning when deprecated -no-kvm-pit is used
  Use machine options to emulate -no-kvm-irqchip
  cirrus_vga: allow configurable vram size
  target-i386: Add missing kvm cpuid feature name
  i386: cpu: add missing CPUID[EAX=7,ECX=0] flag names
  i386: kvm: filter CPUID leaf 7 based on GET_SUPPORTED_CPUID, too
  i386: kvm: reformat filter_features_for_kvm() code
  i386: kvm: filter CPUID feature words earlier, on cpu.c
  i386: kvm: mask cpuid_ext4_features bits earlier
  i386: kvm: mask cpuid_kvm_features earlier
  i386: kvm: x2apic is not supported without in-kernel irqchip
  i386: kvm: set CPUID_EXT_TSC_DEADLINE_TIMER on kvm_arch_get_supported_cpuid()
  ...

Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 5a34dbb55994ddb8e3f4cc465abbb85aa2e6dfaf
      
https://github.com/qemu/qemu/commit/5a34dbb55994ddb8e3f4cc465abbb85aa2e6dfaf
  Author: Anthony Liguori <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M Makefile
    M Makefile.objs
    A aio-posix.c
    A aio-win32.c
    R aio.c
    M arch_init.h
    M async.c
    M block/Makefile.objs
    A block/linux-aio.c
    A block/raw-aio.h
    R block/raw-posix-aio.h
    M block/raw-posix.c
    M block/raw-win32.c
    A block/win32-aio.c
    M compiler.h
    M cutils.c
    A event_notifier-posix.c
    A event_notifier-win32.c
    R event_notifier.c
    M event_notifier.h
    M hw/hw.h
    M iohandler.c
    M iov.c
    R linux-aio.c
    M main-loop.c
    M main-loop.h
    M osdep.c
    M oslib-posix.c
    M oslib-win32.c
    R posix-aio-compat.c
    M qapi/Makefile.objs
    M qemu-aio.h
    M qemu-char.h
    M qemu-common.h
    M qemu-coroutine-lock.c
    M qemu-os-win32.h
    M qemu-sockets.c
    M qemu-thread-posix.c
    M qemu-thread-posix.h
    M qemu-thread-win32.c
    M qemu-thread-win32.h
    M qemu-thread.h
    M qemu-timer.c
    M qemu-tool.c
    M qemu-user.c
    M qmp.c
    M tests/Makefile
    A thread-pool.c
    A thread-pool.h
    M trace-events
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'bonzini/threadpool' into staging

* bonzini/threadpool: (39 commits)
  raw-win32: implement native asynchronous I/O
  raw-posix: move linux-aio.c to block/
  raw-win32: add emulated AIO support
  raw-posix: rename raw-posix-aio.h, hide unavailable prototypes
  raw: merge posix-aio-compat.c into block/raw-posix.c
  block: switch posix-aio-compat to threadpool
  threadpool: do not take lock in event_notifier_ready
  aio: add generic thread-pool facility
  qemu-thread: add QemuSemaphore
  linux-aio: use event notifiers
  aio: clean up now-unused functions
  main-loop: use aio_notify for qemu_notify_event
  main-loop: use GSource to poll AIO file descriptors
  aio: call aio_notify after setting I/O handlers
  aio: add aio_notify
  aio: make AioContexts GSources
  aio: add Win32 implementation
  aio: prepare for introducing GSource-based dispatch
  aio: add non-blocking variant of aio_wait
  aio: test node->deleted before calling io_flush
  ...

Signed-off-by: Anthony Liguori <address@hidden>


  Commit: d971919f08ca300e7b3595a4c5ddaea2ce8fc3ba
      
https://github.com/qemu/qemu/commit/d971919f08ca300e7b3595a4c5ddaea2ce8fc3ba
  Author: Anthony Liguori <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M hw/e1000.c
    M net.c
    M net/socket.c

  Log Message:
  -----------
  Merge remote-tracking branch 'stefanha/net' into staging

* stefanha/net:
  e1000: pre-initialize RAH/RAL registers
  net: Reject non-netdevs in qmp_netdev_del()
  net: use "socket" model name for UDP sockets
  e1000: drop check_rxov, always treat RX ring with RDH == RDT as empty

Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 4ba79505f43bd0ace35c3fe42197eb02e7e0478e
      
https://github.com/qemu/qemu/commit/4ba79505f43bd0ace35c3fe42197eb02e7e0478e
  Author: Anthony Liguori <address@hidden>
  Date:   2012-11-01 (Thu, 01 Nov 2012)

  Changed paths:
    M .gitmodules
    M Makefile
    M Makefile.objs
    M configure
    M console.c
    M console.h
    M hw/blizzard.c
    M hw/exynos4210_fimd.c
    M hw/g364fb.c
    M hw/jazz_led.c
    M hw/milkymist-vgafb.c
    M hw/musicpal.c
    M hw/nseries.c
    M hw/omap_lcdc.c
    M hw/palm.c
    M hw/pl110.c
    M hw/pxa2xx_lcd.c
    M hw/qxl-render.c
    M hw/qxl.c
    M hw/sm501.c
    M hw/ssd0303.c
    M hw/ssd0323.c
    M hw/tc6393xb.c
    M hw/tcx.c
    M hw/vga.c
    M hw/vga_int.h
    M hw/vmware_vga.c
    M hw/xenfb.c
    A pixman
    M qemu-common.h
    A qemu-pixman.c
    A qemu-pixman.h
    M ui/curses.c
    M ui/sdl.c
    M ui/spice-display.c
    M ui/vnc-enc-hextile-template.h
    M ui/vnc-enc-hextile.c
    M ui/vnc-enc-tight.c
    M ui/vnc-enc-zrle.c
    M ui/vnc-jobs.c
    M ui/vnc.c
    M ui/vnc.h
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'kraxel/pixman.v3' into staging

* kraxel/pixman.v3: (22 commits)
  pixman: drop obsolete fields from DisplaySurface
  pixman/vnc: remove dead code.
  pixman/vnc: remove rgb_prepare_row* functions
  pixman/vnc: use pixman images in vnc.
  pixman: switch screendump function.
  vga: stop direct access to DisplaySurface fields.
  qxl: stop direct access to DisplaySurface fields.
  console: don't set PixelFormat alpha fields for 32bpp
  console: make qemu_alloc_display static
  pixman: add pixman image to DisplaySurface
  pixman: helper functions
  pixman: windup in configure & makefiles
  pixman: add submodule
  console: remove DisplayAllocator
  console: remove dpy_gfx_fill
  vga: fix text mode updating
  console: init displaychangelisteners on register
  console: untangle gfx & txt updates
  console: s/TextConsole/QemuConsole/
  console: move set_mouse + cursor_define callbacks
  ...

Signed-off-by: Anthony Liguori <address@hidden>


Compare: https://github.com/qemu/qemu/compare/fc53b7d4b7fe...4ba79505f43b

reply via email to

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