Statistics
| Branch: | Revision:

root / include @ 42561bf2

# Date Author Comment
f1c2dc7c 09/02/2013 11:06 am Alexey Kardashevskiy

spapr-pci: rework MSI/MSIX

On the sPAPR platform a guest allocates MSI/MSIX vectors via RTAS
hypercalls which return global IRQ numbers to a guest so it only
operates with those and never touches MSIMessage.

Therefore MSIMessage handling is completely hidden in QEMU....

42561bf2 09/02/2013 11:06 am Anton Blanchard

pseries: Add H_SET_MODE hcall to change guest exception endianness

H_SET_MODE is used for controlling various partition settings. One
of these settings is the endianness a guest takes its exceptions in.

Signed-off-by: Anton Blanchard <>
[agraf: fix whitespace]...

d2674b2c 08/30/2013 02:41 pm Wenchao Xia

monitor: avoid use of global *cur_mon in monitor_find_completion()

Parameter *mon is added, and local variable *mon added in previous patch
is removed. The caller readline_completion(), pass rs->mon as value, which
should be initialized in readline_init() called by monitor_init()....

b5d54bd4 08/30/2013 01:21 am Anthony Liguori

Merge remote-tracking branch 'qemu-kvm/uq/master' into stable-1.5

  • qemu-kvm/uq/master:
    kvm-stub: fix compilation
    kvm: shorten the parameter list for get_real_device()
    kvm: i386: fix LAPIC TSC deadline timer save/restore
    kvm-all.c: max_cpus should not exceed KVM vcpu limit...
3e998a77 08/30/2013 01:19 am Anthony Liguori

Merge remote-tracking branch 'mst/tags/for_anthony' into stable-1.5

pc,pci,virtio fixes and cleanups

This includes pc and pci cleanups, future-proofing of ROM files,
and a virtio bugfix correcting splice on virtio console.

Signed-off-by: Michael S. Tsirkin <>...

584950fd 08/29/2013 09:20 pm Richard Henderson

tcg-i386: Remove abort from GETPC_LDST

Indeed, remove it entirely and remove the is_tcg_gen_code check
from GETPC_EXT.

Fixes https://bugs.launchpad.net/qemu/+bug/1218098 wherein a call
to a "normal" helper function performed a sequence of tail calls
all the way into the memory helper functions, leading to a stack...

aac1fb05 08/26/2013 11:31 pm Richard Henderson

tcg: Tidy softmmu_template.h

Avoid a loop in the tlb_fill path; the fill will either succeed or
generate an exception.

Inline the slow_ld/st function; it was a complete copy of the main
helper except for the actual cross-page unaligned code, and the
compiler was inlining it anyway....

401c227b 08/26/2013 11:31 pm Richard Henderson

tcg-i386: Use new return-argument ld/st helpers

Discontinue the jump-around-jump-to-jump scheme, trading it for a single
immediate move instruction. The two extra jumps always consume 7 bytes,
whereas the immediate move is either 5 or 7 bytes depending on where the...

e25c3887 08/26/2013 11:31 pm Richard Henderson

tcg: Add mmu helpers that take a return address argument

Allow the code that tcg generates to be less obtuse, passing in
the return address directly instead of computing it in the helper.

Maintain the old entrance point unchanged as an alternate entry point....

f7ad538e 08/26/2013 05:19 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/block' into staging

  1. By Alex Bligh (32) and others
  2. Via Stefan Hajnoczi
    • stefanha/block: (42 commits)
      win32-aio: drop win32_aio_flush_cb()
      aio-win32: replace incorrect AioHandler->opaque usage with ->e
      aio / timers: remove dummy_io_handler_flush from tests/test-aio.c...
40daca54 08/22/2013 08:14 pm Alex Bligh

aio / timers: Rearrange timer.h & make legacy functions call non-legacy

Rearrange timer.h so it is in order by function type.

Make legacy functions call non-legacy functions rather than vice-versa.

Convert cpus.c to use new API.

Signed-off-by: Alex Bligh <>...

7bf8fbde 08/22/2013 08:14 pm Alex Bligh

aio / timers: Remove main_loop_timerlist

Now we have timerlistgroups implemented and main_loop_tlg, we
no longer need the concept of a default timer list associated
with each clock. Remove it and simplify initialisation of
clocks and timer lists.

Signed-off-by: Alex Bligh <>...

884f17c2 08/22/2013 08:14 pm Alex Bligh

aio / timers: Convert rtc_clock to be a QEMUClockType

Convert rtc_clock to be a QEMUClockType

Move rtc_clock users to use the new API

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

7483d1e5 08/22/2013 08:14 pm Alex Bligh

aio / timers: convert block_job_sleep_ns and co_sleep_ns to new API

Convert block_job_sleep_ns and co_sleep_ns to use the new timer
API.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

bc72ad67 08/22/2013 08:14 pm Alex Bligh

aio / timers: Switch entire codebase to the new timer API

This is an autogenerated patch using scripts/switch-timer-api.

Switch the entire code base to using the new timer API.

Note this patch may introduce some line length issues.

Signed-off-by: Alex Bligh <>...

b4049b74 08/22/2013 08:14 pm Alex Bligh

aio / timers: Remove legacy interface

Remove the legacy interface from include/qemu/timers.h.

Ensure struct QEMUClock is not exposed at all.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

6d327171 08/22/2013 08:10 pm Alex Bligh

aio / timers: Remove alarm timers

Remove alarm timers from qemu-timers.c now we use g_poll / ppoll
instead.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

63111b69 08/22/2013 08:10 pm Alex Bligh

aio / timers: Remove legacy qemu_clock_deadline & qemu_timerlist_deadline

Remove qemu_clock_deadline and qemu_timerlist_deadline now we are using
the ns functions throughout.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

55a197da 08/22/2013 08:10 pm Alex Bligh

aio / timers: Add qemu_clock_get_ms and qemu_clock_get_ms

Add utility functions qemu_clock_get_ms and qemu_clock_get_us

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

54904d2a 08/22/2013 08:10 pm Alex Bligh

aio / timers: Add documentation and new format calls

Add documentation for existing qemu timer calls. Add new format
calls of the format timer_XXX rather than qemu_XXX_timer
for consistency.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

d5541d86 08/22/2013 08:10 pm Alex Bligh

aio / timers: Add a notify callback to QEMUTimerList

Add a notify pointer to QEMUTimerList so it knows what to notify
on a timer change.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

4e29e831 08/22/2013 08:10 pm Alex Bligh

aio / timers: Add aio_timer_init & aio_timer_new wrappers

Add aio_timer_init and aio_timer_new wrapper functions.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

b1bbfe72 08/22/2013 08:10 pm Alex Bligh

aio / timers: On timer modification, qemu_notify or aio_notify

On qemu_mod_timer_ns, ensure qemu_notify or aio_notify is called to
end the appropriate poll(), irrespective of use_icount value.

On qemu_clock_enable, ensure qemu_notify or aio_notify is called for...

a3a726ae 08/22/2013 08:10 pm Alex Bligh

aio / timers: Introduce new API timer_new and friends

Introduce new API for creating timers - timer_new and
_ns, _ms, _us derivatives.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

ac70aafc 08/22/2013 08:10 pm Alex Bligh

aio / timers: Use all timerlists in icount warp calculations

Notify all timerlists derived from vm_clock in icount warp
calculations.

When calculating timer delay based on vm_clock deadline, use
all timerlists.

For compatibility, maintain an apparent bug where when using...

f9a976b7 08/22/2013 08:10 pm Alex Bligh

aio / timers: Make qemu_run_timers and qemu_run_all_timers return progress

Make qemu_run_timers and qemu_run_all_timers return progress
so that aio_poll etc. can determine whether a timer has been
run.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

ff83c66e 08/22/2013 08:10 pm Alex Bligh

aio / timers: Split QEMUClock into QEMUClock and QEMUTimerList

Split QEMUClock into QEMUClock and QEMUTimerList so that we can
have more than one QEMUTimerList associated with the same clock.

Introduce a main_loop_timerlist concept and make existing
qemu_clock_* calls that actually should operate on a QEMUTimerList...

6a1751b7 08/22/2013 08:10 pm Alex Bligh

aio / timers: Untangle include files

include/qemu/timer.h has no need to include main-loop.h and
doing so causes an issue for the next patch. Unfortunately
various files assume including timers.h will pull in main-loop.h.
Untangle this mess.

Signed-off-by: Alex Bligh <>...

754d6a54 08/22/2013 08:10 pm Alex Bligh

aio / timers: Add QEMUTimerListGroup and helper functions

Add QEMUTimerListGroup and helper functions, to represent
a QEMUTimerList associated with each clock. Add a default
QEMUTimerListGroup representing the default timer lists
which are not associated with any other object (e.g....

dae21b98 08/22/2013 08:10 pm Alex Bligh

aio / timers: Add QEMUTimerListGroup to AioContext

Add a QEMUTimerListGroup each AioContext (meaning a QEMUTimerList
associated with each clock is added) and delete it when the
AioContext is freed.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

4e0c6529 08/22/2013 08:10 pm Alex Bligh

aio / timers: add ppoll support with qemu_poll_ns

Add qemu_poll_ns which works like g_poll but takes a nanosecond
timeout.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

5211333b 08/22/2013 05:29 pm Anthony Liguori

Merge remote-tracking branch 'luiz/queue/qmp' into staging

  1. By Laszlo Ersek (8) and others
  2. Via Luiz Capitulino
    • luiz/queue/qmp:
      scripts/qapi.py: Avoid syntax not supported by Python 2.4
      monitor: print the invalid char in error message
      OptsVisitor: introduce unit tests, with test cases for range flattening...
e93379b0 08/22/2013 04:58 pm Alex Bligh

aio / timers: Rename qemu_timer_* functions

Rename four functions in preparation for new API.

Rename qemu_timer_expired to timer_expired
Rename qemu_timer_expire_time_ns to timer_expire_time_ns
Rename qemu_timer_pending to timer_pending
Rename qemu_timer_expired_ns to timer_expired_ns...

58ac56b9 08/22/2013 04:58 pm Alex Bligh

aio / timers: Rename qemu_new_clock and expose clock types

Rename qemu_new_clock to qemu_clock_new.

Expose clock types.

Signed-off-by: Alex Bligh <>
Signed-off-by: Stefan Hajnoczi <>

02a03a9f 08/22/2013 04:58 pm Alex Bligh

aio / timers: add qemu-timer.c utility functions

Add utility functions to qemu-timer.c for nanosecond timing.

Add qemu_clock_deadline_ns to calculate deadlines to
nanosecond accuracy.

Add utility function qemu_soonest_timeout to calculate soonest deadline....

0d51b4de 08/22/2013 03:10 pm Asias He

block: Introduce bs->zero_beyond_eof

In 4146b46c42e0989cb5842e04d88ab6ccb1713a48 (block: Produce zeros when
protocols reading beyond end of file), we break qemu-iotests ./check
-qcow2 022. This happens because qcow2 temporarily sets ->growable = 1
for vmstate accesses (which are stored beyond the end of regular image...

04920fc0 08/21/2013 12:18 am Michael S. Tsirkin

loader: store FW CFG ROM files in RAM

ROM files that are put in FW CFG are copied to guest ram, by BIOS, but
they are not backed by RAM so they don't get migrated.

Each time we change two bytes in such a ROM this breaks cross-version
migration: since we can migrate after BIOS has read the first byte but...

ecfe10c9 08/20/2013 07:23 pm Anthony Liguori

Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130820' into staging

target-arm queue

  1. gpg: Signature made Tue 20 Aug 2013 08:56:28 AM CDT using RSA key ID 14360CDE
  2. gpg: Can't check signature: public key not found
  1. By Peter Maydell (20) and Peter Chubb (1)...
15a849be 08/20/2013 06:52 pm Laszlo Ersek

OptsVisitor: don't try to flatten overlong integer ranges

Prevent mistyped command line options from incurring high memory and CPU
usage at startup. 64K elements in a range should be enough for everyone
(TM).

The OPTS_VISITOR_RANGE_MAX macro is public so that unit tests can...

9176e8fb 08/20/2013 05:52 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/block-next' into staging

  1. By Stefan Hajnoczi
  2. Via Stefan Hajnoczi
    • stefanha/block-next:
      aio: drop io_flush argument
      tests: drop event_active_cb()
      thread-pool: drop thread_pool_active()
      dataplane/virtio-blk: drop flush_true() and flush_io()...
b643e4b9 08/20/2013 04:54 pm Peter Maydell

hw/arm/pic_cpu: Remove the now-unneeded arm_pic_init_cpu()

Now all the boards have been converted arm_pic_init_cpu()
is unused and can just be deleted.

Signed-off-by: Peter Maydell <>
Message-id:

f2e5dca4 08/19/2013 04:52 pm Stefan Hajnoczi

aio: drop io_flush argument

The .io_flush() handler no longer exists and has no users. Drop the
io_flush argument to aio_set_fd_handler() and related functions.

The AioFlushEventNotifierHandler and AioFlushHandler typedefs are no
longer used and are dropped too....

35143f01 08/16/2013 07:44 pm Andreas Färber

gdbstub: Fix gdb_register_coprocessor() register counting

Commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 reorganized the register
counting for GDB. While it seems correct not to let the total number of
registers skyrocket in an SMP scenario through a static variable, the...

8231c2dd 08/16/2013 07:44 pm Eduardo Habkost

qom: Introduce instance_post_init hook

This will allow classes to specify a function to be called after all
instance_init functions were called.

This will be used by DeviceState to call qdev_prop_set_globals() at the
right moment.

Signed-off-by: Eduardo Habkost <>...

6dd2a5c9 08/12/2013 05:31 pm Paolo Bonzini

pc_sysfw: do not make it a device anymore

Move the code to hw/i386, the sole remaining property is available
as !pci_enabled.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Markus Armbruster <>
Message-id: ...

3ee1ee80 08/12/2013 04:32 pm Anthony Liguori

Merge remote-tracking branch 'mst/tags/for_anthony' into staging

pci,virtio fixes for 1.6

This includes some last-minute bugfixes for 1.6.
All very small patches that also look very safe to me.

Signed-off-by: Michael S. Tsirkin <>

  1. gpg: Signature made Mon 12 Aug 2013 04:28:57 AM CDT using RSA key ID D28D5469...
6793dfd1 08/12/2013 12:19 pm Stefan Hajnoczi

virtio: clear signalled_used_valid when switching from dataplane

When the dataplane thread stops, its vring.c implementation synchronizes
vring state back to virtio.c so we can continue emulating the virtio
device.

This patch ensures that virtio.c's signalled_used_valid flag is reset so...

ca916d37 08/09/2013 10:19 pm Vincenzo Maffione

kvm: add KVM_IRQFD_FLAG_RESAMPLE support

Added an EventNotifier* parameter to
kvm-all.c:kvm_irqchip_add_irqfd_notifier(), in order to give KVM
another eventfd to be used as "resamplefd". See the documentation
in the linux kernel sources in Documentation/virtual/kvm/api.txt...

5ee163e8 08/08/2013 06:01 pm Laszlo Ersek

dump: introduce GuestPhysBlockList

The vmcore must use physical addresses that are visible to the guest, not
addresses that point into linear RAMBlocks. As first step, introduce the
list type into which we'll collect the physical mappings in effect at the...

c5d7f60f 08/08/2013 06:01 pm Laszlo Ersek

dump: populate guest_phys_blocks

While the machine is paused, in guest_phys_blocks_append() we register a
one-shot MemoryListener, solely for the initial collection of the valid
guest-physical memory ranges that happens at listener registration time.

For each range that is reported to guest_phys_blocks_region_add(), we...

56c4bfb3 08/08/2013 06:01 pm Laszlo Ersek

dump: rebase from host-private RAMBlock offsets to guest-physical addresses

RAMBlock.offset --> GuestPhysBlock.target_start
RAMBlock.offset + RAMBlock.length --> GuestPhysBlock.target_end
RAMBlock.length --> GuestPhysBlock.target_end -...

79761c66 08/05/2013 07:48 pm Izumi Tsutsui

semaphore: fix a hangup problem under load on NetBSD hosts.

Fix following bugs in "fallback implementation of counting semaphores
with mutex+condvar" added in c166cb72f1676855816340666c3b618beef4b976:
- waiting threads are not restarted properly if more than one threads...

75e2a4ba 07/31/2013 02:48 am Anthony Liguori

Merge remote-tracking branch 'spice/spice.v72' into staging

  1. By Gerd Hoffmann
  2. Via Gerd Hoffmann
    • spice/spice.v72:
      spice: fix display initialization

Message-id:
Signed-off-by: Anthony Liguori <>

dbef7b17 07/31/2013 02:48 am Anthony Liguori

Merge remote-tracking branch 'borntraeger/s390-for-1.6' into staging

  • borntraeger/s390-for-1.6:
    s390: Implement dump-guest-memory support for target s390x
    s390x/kvm: Remove redundant return code
    s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst()...
7b7ab18d 07/31/2013 02:48 am Michael Roth

chardev: fix CHR_EVENT_OPENED events for mux chardevs

As of bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec, chardevs no longer use
bottom-halves to issue CHR_EVENT_OPENED events. To maintain past
semantics, we instead defer the CHR_EVENT_OPENED events toward the end...

9b4f38e1 07/30/2013 05:12 pm Ekaterina Tumanova

s390: Implement dump-guest-memory support for target s390x

With this patch dump-guest-memory on s390 produces an ELF formatted,
crash-readable dump.
In order to implement this, the arch-specific part of dump-guest-memory
was added:
target-s390x/arch_dump.c contains the whole set of function for writing...

58ae52a8 07/30/2013 11:25 am Gerd Hoffmann

spice: fix display initialization

Spice has two display interface implementations: One integrated into
the qxl graphics card, and one generic which can operate with every
qemu-emulated graphics card.

The generic one is activated in case spice is used without qxl. The...

39848901 07/30/2013 03:33 am Igor Mammedov

pc: limit 64 bit hole to 2G by default

It turns out that some 32 bit windows guests crash
if 64 bit PCI hole size is >2G.
Limit it to 2G for piix and q35 by default.
User may override default 64-bit PCI hole size by
using "pci-hole64-size" property.

Examples:...

e8cd45c7 07/30/2013 03:33 am Vasilis Liaskovitis

qdev: Add SIZE type to qdev properties

This patch adds a 'SIZE' type property to qdev.

Signed-off-by: Ian Molton <>
Signed-off-by: Vasilis Liaskovitis <>
Signed-off-by: Hu Tao <>...

f5338ee3 07/30/2013 03:33 am Michael S. Tsirkin

pc: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/ioapic.h

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Laszlo Ersek <>
Signed-off-by: Igor Mammedov <>
Reviewed-by: Andreas Färber <>...

b67964d7 07/29/2013 10:07 pm Andreas Färber

sysbus: QOM parent field cleanup for SysBusDevice

Rename the parent field and hide it from gtk-doc.

Signed-off-by: Andreas Färber <>

f3d74d32 07/29/2013 10:07 pm Andreas Färber

sysbus: Drop FROM_SYSBUS()

As a replacement, use your own macro based on OBJECT_CHECK().

Signed-off-by: Andreas Färber <>

339104fe 07/29/2013 10:07 pm Andreas Färber

sysbus: Remove unused sysbus_new() prototype

Signed-off-by: Andreas Färber <>

29d1ffc3 07/29/2013 10:07 pm Andreas Färber

m48t59: QOM cast cleanup for M48t59SysBusState

Signed-off-by: Andreas Färber <>

a0b97927 07/29/2013 10:06 pm Andreas Färber

lm32_juart: QOM cast cleanup

Signed-off-by: Andreas Färber <>

81069b20 07/29/2013 10:06 pm Andreas Färber

escc: QOM cast cleanup

Signed-off-by: Andreas Färber <>

0ee10242 07/29/2013 10:06 pm Andreas Färber

lm32_juart: Relocate and tidy header

Signed-off-by: Andreas Färber <>

bcb75750 07/29/2013 09:45 pm Andreas Färber

pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types

Move PCIEPort's "port" property to the new type, same for "aer_log_max".
Move PCIESlot's "chassis" and "slot" properties to the new type.

Reviewed-by: Don Koch <>
Acked-by: Michael S. Tsirkin <>...

f055e96b 07/29/2013 09:44 pm Andreas Färber

pci-bridge: Turn PCIBridge into abstract QOM type

Introduce TYPE_PCI_BRIDGE as base type and use PCI_BRIDGE() casts.

Reviewed-by: Don Koch <>
Acked-by: Michael S. Tsirkin <>
[AF: Updated pbm-bridge parent to TYPE_PCI_BRIDGE]...

eddbf0ab 07/29/2013 07:33 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/block' into staging

  1. By Stefan Hajnoczi (4) and others
  2. Via Stefan Hajnoczi
    • stefanha/block:
      dataplane: refuse to start if device is already in use
      dataplane: enable virtio-blk x-data-plane=on live migration
      migration: fix spice migration...
4ff1fac4 07/29/2013 07:33 pm Anthony Liguori

Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging

QOM CPUState refactorings

  • Fix x86 cpu-add
  • Change KVM PMU behavior for 1.6
  1. gpg: Signature made Mon 29 Jul 2013 10:28:18 AM CDT using RSA key ID 3E7E013F
  2. gpg: Can't check signature: public key not found...
1112cf94 07/29/2013 06:37 pm David Gibson

pseries: savevm support for PCI host bridge

This adds the necessary support for saving the state of the PAPR virtual
PCI host bridge (or host bridges).

Signed-off-by: David Gibson <>
Reviewed-by: Anthony Liguori <>...

e68cb8b4 07/29/2013 06:37 pm Alexey Kardashevskiy

pseries: savevm support with KVM

At present, the savevm / migration support for the pseries machine will not
work when KVM is enabled. That's because KVM manages the guest's hash page
table in the host kernel, so qemu has no visibility of it. This patch...

c04d6cfa 07/29/2013 06:37 pm Anthony Liguori

xics: rename types to be sane and follow coding style

Basically, in HW the layout of the interrupt network is:
- One ICP per processor thread (the "presenter"). This contains the
registers to fetch a pending interrupt (ack), EOI, and control the...
949fc823 07/29/2013 06:37 pm Marcel Apfelbaum

hw: import bitmap operations in qdev-core header

Made small tweaks in code to prevent compilation issues
when importing qemu/bitmap.h in qdev-core

Signed-off-by: Marcel Apfelbaum <>
Message-id: ...

3d1237fb 07/29/2013 06:37 pm Marcel Apfelbaum

qemu-help: Sort devices by logical functionality

Categorize devices that appear as output to "-device ?" command
by logical functionality. Sort the devices by logical categories
before showing them to user.

The sort is done by functionality rather than alphabetical....

b368a7d8 07/29/2013 06:37 pm David Gibson

pseries: savevm support for VIO devices

This patch adds helpers to allow PAPR VIO devices to save state common
to all VIO devices during savevm.

Signed-off-by: David Gibson <>
Reviewed-by: Anthony Liguori <>...

a83000f5 07/29/2013 06:37 pm Anthony Liguori

spapr-tce: make sPAPRTCETable a proper device

Model TCE tables as a device that's hooked up as a child object to
the owner. Besides the code cleanup, we get a few nice benefits:

1) free actually works now (it was dead code before)

2) the TCE information is visible in the device tree...

4be21d56 07/29/2013 06:37 pm David Gibson

pseries: savevm support for pseries machine

This adds the necessary pieces to implement savevm / migration for the
pseries machine. The most complex part here is migrating the hash
table - for the paravirtualized pseries machine the guest's hash page
table is not stored within guest memory, but externally and the guest...

84db52d0 07/29/2013 06:19 pm Stefan Hajnoczi

dataplane: enable virtio-blk x-data-plane=on live migration

Although the dataplane thread does not cooperate with dirty memory
logging yet it's fairly easy to temporarily disable dataplane during
live migration. This way virtio-blk can live migrate when...

02edd2e7 07/29/2013 06:19 pm Stefan Hajnoczi

migration: fix spice migration

Commit 29ae8a4133082e16970c9d4be09f4b6a15034617 ("rdma: introduce
MIG_STATE_NONE and change MIG_STATE_SETUP state transition") changed the
state transitions during migration setup.

Spice used to be notified with MIG_STATE_ACTIVE and it detected this...

b681a1c7 07/29/2013 06:07 pm Benoît Canet

block: Repair the throttling code.

The throttling code was segfaulting since commit
02ffb504485f0920cfc75a0982a602f824a9a4f4 because some qemu_co_queue_next caller
does not run in a coroutine.
qemu_co_queue_do_restart assume that the caller is a coroutinne....

9337e3b6 07/29/2013 04:29 pm Eduardo Habkost

target-i386: Disable PMU CPUID leaf by default

Bug description: QEMU currently gets all bits from GET_SUPPORTED_CPUID
for CPUID leaf 0xA and passes them directly to the guest. This makes
the guest ABI depend on host kernel and host CPU capabilities, and
breaks live migration if we migrate between hosts with different...

8fbab3b6 07/29/2013 02:13 pm Paul Durrant

Xen PV Device

Introduces a new Xen PV PCI device which will act as a binding point for
PV drivers for Xen.
The device has parameterized vendor-id, device-id and revision to allow to
be configured as a binding point for any vendor's PV drivers.

Signed-off-by: Paul Durrant <>...

461bdb34 07/29/2013 10:03 am Aurelien Jarno

Merge branch 'trivial-patches' of git://git.corpit.ru/qemu

  • 'trivial-patches' of git://git.corpit.ru/qemu:
    target-mips: Remove assignment to a variable which is never used
    misc: Use g_assert_not_reached for code which is expected to be unreachable
    qemu-options: mention C-a h in the -nographic doc...
05b3274b 07/29/2013 01:27 am James Hogan

hw/mips: align initrd to 64KB to avoid kernel error

The Linux kernel can be configured to use 64KB pages, but it also
requires initrd to be page aligned. Therefore, to be safe, align the
initrd to 64KB using a new INITRD_PAGE_MASK rather than
TARGET_PAGE_MASK....

0dd60ae2 07/27/2013 10:22 am Stefan Weil

exec: Remove env from list of poisoned names

The global variable env was removed some time ago, so this name may be
used without any restriction now.

Signed-off-by: Stefan Weil <>
Signed-off-by: Michael Tokarev <>

200a0639 07/27/2013 01:53 am Anthony Liguori

Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging

QOM CPUState refactorings

  • Fix cpu_memory_rw_debug() breakage in s390x KVM
  • Replace final CPUArchState in sysemu/kvm.h
  • Introduce model subclasses for XtensaCPU
  • Introduce CPUClass::gdb_num[_core]_regs...
986a2998 07/27/2013 01:04 am Andreas Färber

gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions

This avoids polluting the global namespace with a non-prefixed macro and
makes it obvious in the call sites that we return.

Semi-automatic conversion using, e.g.,
sed i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target*/gdbstub.c...

5b50e790 07/27/2013 01:04 am Andreas Färber

cpu: Introduce CPUClass::gdb_{read,write}_register()

Completes migration of target-specific code to new target-*/gdbstub.c.

Acked-by: Michael Walle <> (for lm32)
Acked-by: Max Filippov <> (for xtensa)
Signed-off-by: Andreas Färber <>

5b24c641 07/27/2013 01:04 am Andreas Färber

cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML

Replace the GDB_CORE_XML define in gdbstub.c with a CPUClass field.
Use first_cpu for qSupported and qXfer:features:read: for now.
Add a stub for xml_builtin.

Signed-off-by: Andreas Färber <>

405c97c3 07/27/2013 12:54 am Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  1. By Kevin Wolf (16) and Ian Main (2)
  2. Via Kevin Wolf
    • kwolf/for-anthony:
      Add tests for sync modes 'TOP' and 'NONE'
      Implement sync modes for drive-backup.
      Implement qdict_flatten()
      blockdev: Split up 'cache' option...
a0e372f0 07/27/2013 12:23 am Andreas Färber

cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs

CPUState::gdb_num_regs replaces num_g_regs.
CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS.

Allows building gdb_register_coprocessor() for xtensa, too.

As a side effect this should fix coprocessor register numbering for SMP....

38e478ec 07/27/2013 12:05 am Stefan Weil

kvm: Change prototype of kvm_update_guest_debug()

Passing a CPUState pointer instead of a CPUArchState pointer eliminates
the last target dependent data type in sysemu/kvm.h.

It also simplifies the code.

Signed-off-by: Stefan Weil <>
Acked-by: Paolo Bonzini <>...

f660dc6a 07/26/2013 11:01 pm Kevin Wolf

Implement qdict_flatten()

qdict_flatten(): For each nested QDict with key x, all fields with key y
are moved to this QDict and their key is renamed to "x.y". This operation
is applied recursively for nested QDicts.

Signed-off-by: Kevin Wolf <>...

fc5d3f84 07/26/2013 11:01 pm Ian Main

Implement sync modes for drive-backup.

This patch adds sync-modes to the drive-backup interface and
implements the FULL, NONE and TOP modes of synchronization.

FULL performs as before copying the entire contents of the drive
while preserving the point-in-time using CoW....

69dd62df 07/26/2013 10:10 pm Kevin Wolf

qapi: Anonymous unions

The discriminator for anonymous unions is the data type. This allows to
have a union type that allows both of these:

{ 'file': 'my_existing_block_device_id' }
{ 'file': { 'filename': '/tmp/mydisk.qcow2', 'read-only': true } }...
0dd6c526 07/26/2013 10:10 pm Kevin Wolf

QemuOpts: Add qemu_opt_unset()

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>

761d524d 07/26/2013 09:17 pm Kevin Wolf

qapi: Add visitor for implicit structs

These can be used when an embedded struct is parsed and members not
belonging to the struct may be present in the input (e.g. parsing a
flat namespace QMP union, where fields from both the base and one
of the alternative types are mixed in the JSON object)...

f0ef1cf4 07/26/2013 09:04 pm Anthony Liguori

Merge remote-tracking branch 'rth/tcg-next' into staging

  1. By Claudio Fontana (1) and others
  2. Via Richard Henderson
    • rth/tcg-next:
      tcg: Remove temp_buf
      tcg/aarch64: Implement tlb lookup fast path
      tcg/aarch64: implement ldst 12bit scaled uimm offset...