Statistics
| Branch: | Revision:

root / include @ cc84d90f

# Date Author Comment
d5124c00 09/12/2013 11:12 am Max Reitz

bdrv: Use "Error" for creating images

Add an Error ** parameter to BlockDriver.bdrv_create to allow more
specific error messages.

Signed-off-by: Max Reitz <>

34b5d2c6 09/12/2013 11:12 am Max Reitz

block: Error parameter for open functions

Add an Error ** parameter to bdrv_open, bdrv_file_open and associated
functions to allow more specific error messages.

Signed-off-by: Max Reitz <>

cc84d90f 09/12/2013 11:12 am Max Reitz

block: Error parameter for create functions

Add an Error ** parameter to bdrv_create and its associated functions to
allow more specific error messages.

Signed-off-by: Max Reitz <>

2ea1dd75 09/12/2013 11:12 am Wenchao Xia

snapshot: new function bdrv_snapshot_find_by_id_and_name()

To make it clear about id and name in searching, add this API
to distinguish them. Caller can choose to search by id or name,
*errp will be set only for exception.

Some code are modified based on Pavel's patch....

a89d89d3 09/12/2013 11:12 am Wenchao Xia

snapshot: distinguish id and name in snapshot delete

Snapshot creation actually already distinguish id and name since it take
a structured parameter *sn, but delete can't. Later an accurate delete
is needed in qmp_transaction abort and blockdev-snapshot-delete-sync,...

44e3e053 09/12/2013 11:12 am Wenchao Xia

qmp: add interface blockdev-snapshot-delete-internal-sync

This interface use id and name as optional parameters, to handle the
case that one image contain multiple snapshots with same name which
may be '', but with different id.

Adding parameter id is for historical compatiability reason, and...

015a1036 09/12/2013 11:12 am Max Reitz

bdrv: Use "Error" for opening images

Add an Error ** parameter to BlockDriver.bdrv_open and
BlockDriver.bdrv_file_open to allow more specific error messages.

Signed-off-by: Max Reitz <>

6f176b48 09/12/2013 11:12 am Max Reitz

block: Image file option amendment

This patch adds the "amend" option to qemu-img which allows changing
image options on existing image files. It also adds the generic bdrv
implementation which is basically just a wrapper for the image format
specific function....

2d1fe187 09/11/2013 10:46 pm Anthony Liguori

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

ARM queue: * aarch64 preparation patchset (excluding the defconfigs, so this
doesn't actually enable the new targets yet) * minor bugfixes and cleanups * disable "-cpu any" in system emulation mode...

a640f07c 09/11/2013 10:46 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/usb.89' into staging

  1. By Gerd Hoffmann (2) and Miroslav Rezanina (2)
  2. Via Gerd Hoffmann
    • kraxel/usb.89:
      ehci: save device pointer in EHCIState
      Remove dev-bluetooth.c dependency from vl.c
      Preparation for usb-bt-dongle conditional build...
f69f0bca 09/11/2013 10:46 pm Anthony Liguori

Merge remote-tracking branch 'mdroth/qga-pull-2013-9-9' into staging

  1. By Tomoki Sekiyama (10) and Paul Burton (1)
  2. Via Michael Roth
    • mdroth/qga-pull-2013-9-9:
      QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze command
      qemu-ga: Install Windows VSS provider on `qemu-ga -s install'...
97fdb941 09/11/2013 10:45 pm Anthony Liguori

Merge remote-tracking branch 'sstabellini/xen-2013-09-09' into staging

  1. By Anthony PERARD
  2. Via Stefano Stabellini
    • sstabellini/xen-2013-09-09:
      pc_q35: Initialize Xen.
      pc: Initializing ram_memory under Xen.

Message-id: ...

964737ea 09/11/2013 10:45 pm Anthony Liguori

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

  1. By Paolo Bonzini (21) and others
  2. Via Stefan Hajnoczi
    • stefanha/block: (42 commits)
      qemu-iotests: Fixed test case 026
      qemu-iotests: Whitespace cleanup
      dataplane: Fix startup race.
      block: look for zero blocks in bs->file...
4d017979 09/10/2013 09:09 pm Peter Maydell

abitypes.h: Remove incorrect ARM ABI_LLONG_ALIGNMENT

The ARM EABI specifies that 64 bit integers should be
8 aligned; remove our incorrect setting of 4 alignment.
This has no actual effect since it only set the alignment
for the 'abi_ullong' and 'abi_llong' types, which are used...

615fe4de 09/10/2013 12:14 pm Miroslav Rezanina

Remove dev-bluetooth.c dependency from vl.c

Use usb_legacy_register handling to create bt-dongle device and remove code
dependency from vl.c so CONFIG_USB_BLUETOOTH can be disabled.

Signed-off-by: Miroslav Rezanina <>
Signed-off-by: Gerd Hoffmann <>

644e1a8a 09/10/2013 12:14 pm Miroslav Rezanina

Preparation for usb-bt-dongle conditional build

To allow disable usb-bt-dongle device using CONFIG_BLUETOOTH option, some of
functions in vl.c file has to be made accessible in dev-bluetooth.c. This is
pure code moving.

Signed-off-by: Miroslav Rezanina <>...

20840d4c 09/09/2013 10:17 pm Tomoki Sekiyama

error: Add error_set_win32 and error_setg_win32

These functions help maintaining homogeneous formatting of error messages
with Windows error code and description (generated by
g_win32_error_message()).

Signed-off-by: Tomoki Sekiyama <>...

04d7bad8 09/09/2013 07:22 pm Anthony PERARD

pc: Initializing ram_memory under Xen.

Signed-off-by: Anthony PERARD <>
Signed-off-by: Stefano Stabellini <>
Acked-by: Michael S. Tsirkin <>
CC:

e9845f09 09/06/2013 06:25 pm Vincenzo Maffione

e1000: add interrupt mitigation support

This patch partially implements the e1000 interrupt mitigation mechanisms.
Using a single QEMUTimer, it emulates the ITR register (which is the newer
mitigation register, recommended by Intel) and approximately emulates...

067404be 09/06/2013 06:01 pm Jan Kiszka

net: Rename send_queue to incoming_queue

Each networking client has a queue for packets that could not yet be
delivered to that client. Calling this queue "send_queue" is highly
confusing as it has nothing to to with packets send from this client but
to it. Avoid this confusing by renaming it to "incoming_queue"....

4f578637 09/06/2013 04:25 pm Paolo Bonzini

block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above distinction

Now that bdrv_is_allocated detects coroutine context, the two can
use the same code.

Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>...

b6b8a333 09/06/2013 04:25 pm Paolo Bonzini

block: introduce bdrv_get_block_status API

For now, bdrv_get_block_status is just another name for bdrv_is_allocated.
The next patches will add more flags.

This also touches all block drivers with a mostly mechanical rename. The
sole exception is cow; because it calls cow_co_is_allocated from the read...

4333bb71 09/06/2013 04:25 pm Paolo Bonzini

block: define get_block_status return value

Define the return value of get_block_status. Bits 0, 1, 2 and 9-62
are valid; bit 63 (the sign bit) is reserved for errors. Bits 3-8
are left for future extensions.

The return code is compatible with the old is_allocated API: if a driver...

9fcb0251 09/06/2013 04:25 pm Fam Zheng

block: implement reference count for BlockDriverState

Introduce bdrv_ref/bdrv_unref to manage the lifecycle of
BlockDriverState. They are unused for now but will used to replace
bdrv_delete() later.

Signed-off-by: Fam Zheng <>
Signed-off-by: Stefan Hajnoczi <>

4f6fd349 09/06/2013 04:25 pm Fam Zheng

block: make bdrv_delete() static

Manage BlockDriverState lifecycle with refcnt, so bdrv_delete() is no
longer public and should be called by bdrv_unref() if refcnt is
decreased to 0.

This is an identical change because effectively, there's no multiple
reference of BDS now: no caller of bdrv_ref() yet, only bdrv_new() sets...

bdad13b9 09/06/2013 04:25 pm Paolo Bonzini

block: make bdrv_co_is_allocated static

bdrv_is_allocated can detect coroutine context and go through a fast
path, similar to other block layer functions.

Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Stefan Hajnoczi <>

5ddfffbd 09/06/2013 04:25 pm Benoît Canet

throttle: Add a new throttling API implementing continuous leaky bucket.

Implement the continuous leaky bucket algorithm devised on IRC as a separate
module.

Signed-off-by: Benoit Canet <>
Signed-off-by: Stefan Hajnoczi <>

cc0681c4 09/06/2013 04:25 pm Benoît Canet

block: Enable the new throttling code in the block layer.

Signed-off-by: Benoit Canet <>
Signed-off-by: Stefan Hajnoczi <>

3bb28b72 09/05/2013 07:11 pm Jan Kiszka

memory: Provide separate handling of unassigned io ports accesses

Accesses to unassigned io ports shall return -1 on read and be ignored
on write. Ensure these properties via dedicated ops, decoupling us from
the memory core's handling of unassigned accesses....

aaa6a401 09/03/2013 08:33 pm Anthony Liguori

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

QOM CPUState refactorings / X86CPU

  • Conversion of global CPU list to QTAILQ - preparing for CPU hot-unplug
  • Document X86CPU magic numbers for CPUID cache info
  1. gpg: Signature made Tue 03 Sep 2013 10:59:22 AM CDT using RSA key ID 3E7E013F...
bb7d4d82 09/03/2013 08:32 pm Anthony Liguori

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

  1. By Max Reitz (11) and others
  2. Via Kevin Wolf
    • kwolf/for-anthony: (26 commits)
      qemu-iotests: Overlapping cluster allocations
      qcow2_check: Mark image consistent
      qcow2-refcount: Repair shared refcount blocks...
5a93d5c2 09/03/2013 08:31 pm Anthony Liguori

Merge remote-tracking branch 'mjt/trivial-patches' into staging

  1. By Stefan Weil (6) and others
  2. Via Michael Tokarev
    • mjt/trivial-patches:
      aio / timers: use g_usleep() not sleep()
      adlib: sort offsets in portio registration
      qmp: fix integer usage in examples...
9889e04a 09/03/2013 08:31 pm Anthony Liguori

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

pc,pci,virtio fixes and cleanups

This includes pc and pci cleanups and enhancements,
and a virtio bugfix for level interrupts.

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

  1. gpg: Signature made Sun 01 Sep 2013 03:15:36 AM CDT using RSA key ID D28D5469...
5cff81f0 09/03/2013 08:30 pm Anthony Liguori

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

QOM device refactorings

  • Fix QOM and ISA documentation errors
  • Extend object_initialize() et al. to check the instance size
  1. gpg: Signature made Fri 30 Aug 2013 02:19:48 PM CDT using RSA key ID 3E7E013F...
bdc44640 09/03/2013 01:25 pm Andreas Färber

cpu: Use QTAILQ for CPU list

Introduce CPU_FOREACH(), CPU_FOREACH_SAFE() and CPU_NEXT() shorthand
macros.

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

38fcbd3f 09/03/2013 01:25 pm Andreas Färber

cpu: Replace qemu_for_each_cpu()

It was introduced to loop over CPUs from target-independent code, but
since commit 182735efaf956ccab50b6d74a4fed163e0f35660 target-independent
CPUState is used.

A loop can be considered more efficient than function calls in a loop,...

545825d4 09/03/2013 02:35 am Aurelien Jarno

Merge branch 'tcg-next' of git://github.com/rth7680/qemu

  • 'tcg-next' of git://github.com/rth7680/qemu: (29 commits)
    tcg-i386: Make use of zero-extended memory helper routines
    tcg: Introduce zero and sign-extended versions of load helpers
    exec: Split softmmu_defs.h...
c8f94df5 09/02/2013 07:08 pm Richard Henderson

tcg: Introduce zero and sign-extended versions of load helpers

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

8cfd0495 09/02/2013 07:08 pm Richard Henderson

tcg: Change tcg_gen_exit_tb argument to uintptr_t

And update all users.

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

0f842f8a 09/02/2013 07:08 pm Richard Henderson

exec: Reorganize the GETRA/GETPC macros

Always define GETRA; use __builtin_extract_return_addr, rather than
having a special case for s390. Split GETPC_ADJ out of GETPC; use 2
universally, rather than having a special case for arm.

Rename GETPC_LDST to GETRA_LDST to indicate that it does not...

701e3a5c 09/02/2013 07:08 pm Richard Henderson

exec: Rename USUFFIX to LSUFFIX

In a following patch, there will be confusion between multiple "unsigned"
suffixes; rename this one so as to imply "load".

Reviewed-by: Aurelien Jarno <>
Signed-off-by: Richard Henderson <>

e58eb534 09/02/2013 07:08 pm Richard Henderson

exec: Split softmmu_defs.h

The _cmmu helpers can be moved to exec-all.h. The helpers that are
used from TCG will shortly need access to tcg_target_long so move
their declarations into tcg.h.

This requires minor include adjustments to all TCG backends.
...

afa50193 09/02/2013 11:06 am Max Reitz

qcow2-refcount: Repair shared refcount blocks

If the refcount of a refcount block is greater than one, we can at least
try to repair that problem by duplicating the affected block.

Signed-off-by: Max Reitz <>
Signed-off-by: Kevin Wolf <>

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]...

4c293dc6 09/01/2013 05:59 pm Stefan Weil

misc: Fix some typos in names and comments

Most typos were found using a modified version of codespell:

accross -> across
issueing -> issuing
TICNT_THRESHHOLD -> TICNT_THRESHOLD
bandwith -> bandwidth
VCARD_7816_PROPIETARY -> VCARD_7816_PROPRIETARY
occured -> occurred...

a0dba644 09/01/2013 10:43 am Michael S. Tsirkin

pc: reduce duplication, fix PIIX descriptions

We have a lot of code duplication between machine types,
this increases with each new machine type
and each new field.

This has already introduced a minor bug: description
for pc-1.3 says "Standard PC" while description for...

213f0c4f 08/30/2013 10:15 pm Andreas Färber

qom: Pass available size to object_initialize()

To be passed on to object_initialize_with_type().

Acked-by: Cornelia Huck <> (virtio-ccw)
Signed-off-by: Andreas Färber <>

5b9237f6 08/30/2013 10:15 pm Andreas Färber

qom: Assert instance size in object_initialize_with_type()

This catches objects initializing beyond allocated memory, e.g.,
when subtypes get extended with instance state of their own.

Suggested-by: Peter Maydell <>
Signed-off-by: Andreas Färber <>

520902a6 08/30/2013 10:15 pm Hervé Poussineau

isa: Fix documentation of isa_register_portio_list()

Commit b40acf9 (ioport: Switch dispatching to memory core layer,
2013-06-24) removed all instances of old_portio.

Signed-off-by: Hervé Poussineau <>
Acked-by: Paolo Bonzini <>...

fb17dfe0 08/30/2013 10:15 pm Andreas Färber

qdev: Pass size to qbus_create_inplace()

To be passed to object_initialize().

Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is
void*, so drop some superfluous (BusState *) casts or direct parent
field usages.

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

dd301ca6 08/30/2013 09:14 pm Andreas Färber

pci: Pass size to pci_bus_new_inplace()

To be passed to qbus_create_inplace().

Reviewed-by: Wenchao Xia <>
Signed-off-by: Andreas Färber <>

b1187b51 08/30/2013 09:14 pm Andreas Färber

scsi: Pass size to scsi_bus_new()

To be passed to qbus_create_inplace().

Use DEVICE casts instead of direct parent field access.

Reviewed-by: Wenchao Xia <>
Acked-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

c889b3a5 08/30/2013 09:14 pm Andreas Färber

usb: Pass size to usb_bus_new()

To be passed to qbus_create_inplace().

Use DEVICE cast to avoid a direct parent field access.

Reviewed-by: Wenchao Xia <>
Signed-off-by: Andreas Färber <>

53caad9a 08/30/2013 09:14 pm Andreas Färber

qom: Fix object_initialize_with_type() argument name in documentation

@obj -> @data.

Reviewed-by: Wenchao Xia <>
Signed-off-by: Andreas Färber <>

70392912 08/30/2013 09:14 pm Peter Chubb

object: Fix typo in qom/object.h

There's been a cut-and-paste error, it looks like, in the documentation
in qom/object.h.

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

a40f1c2a 08/30/2013 04:48 pm Max Reitz

qcow2: Metadata overlap checks

Two new functions are added; the first one checks a given range in the
image file for overlaps with metadata (main header, L1 tables, L2
tables, refcount table and blocks).

The second one should be used immediately before writing to the image...

d4ca092a 08/30/2013 04:28 pm Max Reitz

option: Add assigned flag to QEMUOptionParameter

Adds an "assigned" flag to QEMUOptionParameter which is cleared at the
beginning of parse_option_parameters and set on (successful)
set_option_parameter and set_option_parameter_int.

Signed-off-by: Max Reitz <>...

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...

c1654732 08/28/2013 10:16 am Markus Armbruster

hw: Clean up bogus default boot order

We set default boot order "cad" in every single machine definition
except "pseries" and "moxiesim", even though very few boards actually
care for boot order, and "cad" makes sense for even fewer.

Machines that care:...

1466cef3 08/27/2013 10:13 am Michael S. Tsirkin

pc: fix regression for 64 bit PCI memory

commit 398489018183d613306ab022653552247d93919f
pc: limit 64 bit hole to 2G by default
introduced a way for management to control
the window allocated to the 64 bit PCI hole.

This is useful, but existing management tools do not know how to set...

9eda7d37 08/27/2013 08:30 am Alexey Kardashevskiy

pci: Introduce helper to retrieve a PCI device's DMA address space

A PCI device's DMA address space (possibly an IOMMU) is returned by a
method on the PCIBus. At the moment that only has one caller, so the
method is simply open coded. We'll need another caller for VFIO, so...

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: