Statistics
| Branch: | Revision:

root / include / qemu @ cb365646

# Date Author Comment
cb365646 10/17/2013 06:30 pm Liu Ping Fan

timer: protect timers_state's clock with seqlock

QEMU_CLOCK_VIRTUAL may be read outside BQL. This will make its
foundation, i.e. cpu_clock_offset exposed to race condition.
Using private lock to protect it.

After this patch, reading QEMU_CLOCK_VIRTUAL is thread safe...

ea753d81 10/17/2013 06:24 pm Paolo Bonzini

seqlock: introduce read-write seqlock

Seqlock implementation for QEMU. Usage idiom

reader:
do {
start = seqlock_read_begin(&sl);
...
} while (seqlock_read_retry(&sl, start));

writer:
seqlock_write_lock(&sl);
...
seqlock_write_unlock(&sl);...

326642bc 10/11/2013 05:50 pm Kevin Wolf

blockdev: Separate ID generation from DriveInfo creation

blockdev-add shouldn't automatically generate IDs, but will keep most of
the DriveInfo creation code.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Max Reitz <>
Reviewed-by: Wenchao Xia <>...

9e8f8b1c 10/09/2013 05:52 pm Anthony Liguori

Merge remote-tracking branch 'sweil/mingw' into staging

  1. By Sebastian Ottlik
  2. Via Stefan Weil
    • sweil/mingw:
      util: call socket_set_fast_reuse instead of setting SO_REUSEADDR
      slirp: call socket_set_fast_reuse instead of setting SO_REUSEADDR
      net: call socket_set_fast_reuse instead of setting SO_REUSEADDR...
ce079abb 10/09/2013 05:51 pm Anthony Liguori

Merge remote-tracking branch 'sweil/tci' into staging

  1. By Stefan Weil
  2. Via Stefan Weil
    • sweil/tci:
      misc: Use new rotate functions
      bitops: Add rotate functions (rol8, ror8, ...)
      tci: Add implementation of rotl_i64, rotr_i64

Message-id: ...

606600a1 10/02/2013 08:20 pm Sebastian Ottlik

util: add socket_set_fast_reuse function which will replace setting SO_REUSEADDR

If a socket is closed it remains in TIME_WAIT state for some time. On operating
systems using BSD sockets the endpoint of the socket may not be reused while in
this state unless SO_REUSEADDR was set on the socket. On windows on the other...

eb322b81 10/01/2013 01:15 am 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-net bugfix related to softmac programming.

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

6aa25b4a 09/25/2013 10:22 pm Stefan Weil

bitops: Add rotate functions (rol8, ror8, ...)

These functions were copies from include/linux/bitopts.h.

Signed-off-by: Stefan Weil <>
Reviewed-by: Richard Henderson <>

978f2205 09/18/2013 04:48 pm Stefan Hajnoczi

qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe

Introduce QEMUTimerList->active_timers_lock to protect the linked list
of active timers. This allows qemu_timer_mod_ns() to be called from any
thread.

Note that vm_clock is not thread-safe and its use of...

c5a22c43 09/15/2013 11:49 am Michael S. Tsirkin

range: add min/max operations on ranges

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

cfe25e2b 09/15/2013 09:36 am Michael S. Tsirkin

range: add Range to typedefs

will help simplify header dependencies.

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

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

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

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

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

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

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

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

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

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

0dd6c526 07/26/2013 10:10 pm Kevin Wolf

QemuOpts: Add qemu_opt_unset()

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

2dc6bebd 07/22/2013 11:41 pm Peter Maydell

bitops: Provide sextract32() and sextract64()

A common operation in instruction decoding is to take a field
from an instruction that represents a signed integer in some
arbitrary number of bits, and sign extend it into a C signed
integer type for manipulation. Provide new functions sextract32()...

5e2ac519 07/10/2013 08:42 pm Seiji Aguchi

add timestamp to error_report()

[Issue]
When we offer a customer support service and a problem happens
in a customer's system, we try to understand the problem by
comparing what the customer reports with message logs of the
customer's system.

In this case, we often need to know when the problem happens....

a0762859 07/09/2013 10:33 pm Andreas Färber

log: Change log_cpu_state[_mask]() argument to CPUState

Since commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 (cpu: Turn
cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no
longer needed.

Add documentation and make the functions available through qemu/log.h...

dc11549e 07/08/2013 04:00 pm Anthony Liguori

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

pci,misc enhancements

This includes some pci enhancements:

Better support for systems with multiple PCI root buses
FW cfg interface for more robust pci programming in BIOS
Minor fixes/cleanups for fw cfg and cross-version migration -...

5444e768 07/04/2013 06:42 pm Paolo Bonzini

add a header file for atomic operations

We're already using them in several places, but __sync builtins are just
too ugly to type, and do not provide seqcst load/store operations.

Reviewed-by: Richard Henderson <>
Signed-off-by: Paolo Bonzini <>

620ac82e 07/04/2013 10:40 am Michael S. Tsirkin

range: add Range structure

Sometimes we need to pass ranges around, add a
handy structure for this purpose.

Note: memory.c defines its own concept of AddrRange structure for
working with 128 addresses. It's necessary there for doing range math.
This is not needed for most users: struct Range is...

3459a625 07/04/2013 10:40 am Michael S. Tsirkin

pci: store PCI hole ranges in guestinfo structure

Will be used to pass hole ranges to guests.

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

6046c620 07/02/2013 09:17 am Paolo Bonzini

int128: optimize and add test cases

For add, the carry only requires checking one of the arguments.
For sub and neg, we can similarly optimize computation of the
carry.

For ge, we can just do lexicographic order.

Signed-off-by: Paolo Bonzini <>

8a9c98ae 06/28/2013 07:48 pm Anthony Liguori

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

  1. By Andreas Färber
  2. Via Andreas Färber
    • afaerber/qom-cpu: (24 commits)
      cpu: Turn cpu_unassigned_access() into a CPUState hook
      hwaddr: Make hwaddr type usable beyond softmmu
      cpu: Change qemu_init_vcpu() argument to CPUState...
878096ee 06/28/2013 02:25 pm Andreas Färber

cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks

Make cpustats monitor command available unconditionally.

Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec()
arguments to CPUState.

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

5dae8e5f 06/28/2013 10:20 am Stefan Hajnoczi

notify: add NotiferWithReturn so notifier list can abort

notifier_list_notify() has no return value. This is fine when we just
want to invoke side-effects.

Sometimes it's useful for notifiers to produce a return value. This
allows notifiers to "veto" an operation and will be used by the block...

87e613ea 06/21/2013 09:52 pm Stefan Weil

audio: Replace static functions in header file by macros, remove GCC_ATTR

Using macros instead of static functions for dolog and for ldebug
simplifies the code and can also reduce the total code size.

GCC_ATTR was only used in audio_int.h, so it is now unused and...

052e87b0 06/20/2013 05:32 pm Paolo Bonzini

memory: make section size a 128-bit integer

So far, the size of all regions passed to listeners could fit in 64 bits,
because artificial regions (containers and aliases) are eliminated by
the memory core, leaving only device regions which have reasonable sizes...

a86b35f9 06/19/2013 10:10 pm Markus Armbruster

qemu-option: check_params() is now unused, drop it

Signed-off-by: Markus Armbruster <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

f3eededb 06/14/2013 04:58 pm Markus Armbruster

log.h: Supply missing includes

<stdio.h> has always been missing. Rest missed in commit eeacee4.

Signed-off-by: Markus Armbruster <>
Reviewed-by: Laszlo "ever the optimist" Ersek <>
Message-id: ...

b293796f 06/14/2013 04:58 pm Markus Armbruster

error-report.h: Supply missing include

Missed in commit e5924d8.

Signed-off-by: Markus Armbruster <>
Reviewed-by: Laszlo "ever the optimist" Ersek <>
Message-id:
Signed-off-by: Anthony Liguori <>

6d4d3ae7 06/11/2013 06:58 pm Andreas Färber

memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h

This will avoid issues with hwaddr and ram_addr_t when including
sysemu/memory_mapping.h for CONFIG_USER_ONLY, e.g., from qom/cpu.h.

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

e47dccc6 06/04/2013 05:26 pm Anthony Liguori

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

pci: misc cleanups

This includes some pci-related cleanups,
and fw cfg cleanups which will be useful for on-going
pci related work.

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

  1. gpg: Signature made Sun 02 Jun 2013 02:46:52 PM CDT using RSA key ID D28D5469...
45936c8b 06/02/2013 06:14 pm Michael S. Tsirkin

fw_cfg: move typedef to qemu/typedefs.h

Less header dependencies this way.

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

e2ea3515 05/30/2013 07:37 pm Laszlo Ersek

osdep: add qemu_get_local_state_pathname()

This function returns ${prefix}/var/RELATIVE_PATHNAME on POSIX-y systems,
and <CSIDL_COMMON_APPDATA>/RELATIVE_PATHNAME on Win32.

http://msdn.microsoft.com/en-us/library/bb762494.aspx

[...] This folder is used for application data that is not user...
997aba8e 05/18/2013 03:35 pm Michael Tokarev

remove some double-includes

Some source files #include the same header more than
once for no good reason. Remove second #includes in
such cases.

Signed-off-by: Michael Tokarev <>

6eebf958 05/14/2013 04:53 pm Paolo Bonzini

osdep, kvm: rename low-level RAM allocation functions

This is preparatory to the introduction of a separate freeing API.

Reported-by: Amos Kong <>
Signed-off-by: Paolo Bonzini <>
Reviewed-by: Amos Kong <>...

e7a09b92 05/14/2013 04:53 pm Paolo Bonzini

osdep: introduce qemu_anon_ram_free to free qemu_anon_ram_alloc-ed memory

We switched from qemu_memalign to mmap() but then we don't modify
qemu_vfree() to do a munmap() over free(). Which we cannot do
because qemu_vfree() frees memory allocated by qemu_{mem,block}align....

98b2d199 05/12/2013 12:25 pm Igor Mitsyanko

osdep.h: include sys/types.h for ssize_t definition

sys/types.h is taken out from "ifdef OpenBSD" guard. It should be
safe for other systems, according to following survey:
http://hacks.owlfolio.org/header-survey/

This fixes build for CONFIG_IOVEC-less systems (mingw)....

8e1b02b8 05/03/2013 11:31 am Jeff Cody

qemu: add castagnoli crc32c checksum algorithm

This adds the Castagnoli CRC32C algorithm, using the 0x11EDC6F41
polynomial.

This is extracted from the linux kernel cryptographic crc32.c module.

The algorithm is based on:

Castagnoli93: Guy Castagnoli and Stefan Braeuer and Martin Herrman...

9adea5f7 04/29/2013 11:52 am Paolo Bonzini

win32: add readv/writev emulation

Commit e9d8fbf (qemu-file: do not use stdio for qemu_fdopen, 2013-03-27)
introduced a usage of writev, which mingw32 does not have. Even though
qemu_fdopen itself is not used on mingw32, the future-proof solution is
to add an implementation of it. This is simple and similar to how we...

e4dcd8ac 04/25/2013 10:45 pm Ed Maste

Remove unnecessary FreeBSD #include

sys/param.h was included to define __FreeBSD_version, but the conditional
using it was removed by commit d05ef160453e98546a4197496dc8a3cb2defac53
(Brad Smith, "Allow clock_gettime() monotonic clock to be utilized on more...

6165daa4 04/22/2013 04:05 pm Anthony Liguori

Merge remote-tracking branch 'bonzini/scsi-next' into staging

  1. By Paolo Bonzini (5) and others
  2. Via Paolo Bonzini
    • bonzini/scsi-next:
      vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
      vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module...
292c8e50 04/19/2013 05:17 pm Paolo Bonzini

virtio-scsi: create VirtIOSCSICommon

This patch refactors existing virtio-scsi code into VirtIOSCSICommon
in order to allow virtio_scsi_init_common() to be used by both internal
virtio_scsi_init() and external vhost-scsi-pci code.

Cc: Michael S. Tsirkin <>...

ea44910e 04/19/2013 12:28 pm Alexey Kardashevskiy

bswap: fix compiler warning

The bswap functions use memcpy but the bswap.h header itself does not seem to
include it in some configuration such as cross compiling for powerpc64
on x86_64 machine.

The patch explicitly includes string.h.

Signed-off-by: Alexey Kardashevskiy <>...

b421d9c6 04/15/2013 07:19 pm Paolo Bonzini

memory: move core typedefs to qemu/typedefs.h

Signed-off-by: Paolo Bonzini <>

dccfcd0e 04/15/2013 07:19 pm Paolo Bonzini

sysemu: avoid proliferation of include/ subdirectories

Signed-off-by: Paolo Bonzini <>

753d9b82 04/13/2013 02:51 pm Aurelien Jarno

aes: move aes.h from include/block to include/qemu

Move aes.h from include/block to include/qemu to show it can be reused
by other subsystems.

Cc: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>
Reviewed-by: Edgar E. Iglesias <>...

5d6f5cdd 04/13/2013 02:51 pm Aurelien Jarno

aes: make Td[0-5] and Te[0-5] tables non static

Remove static attribute to Td[0-5] and Te[0-5] tables so that they
can be used outside of aes.c. Change their type from u32 to uint32_t,
to keep the u32 udef local to aes.c. Prefix them with AES_ so that they...

d05ef160 04/05/2013 04:22 am Brad Smith

Allow clock_gettime() monotonic clock to be utilized on more OS's

Allow the clock_gettime() code using monotonic clock to be utilized on
more POSIX compliannt OS's. This started as a fix for OpenBSD which was
listed in one function as part of the previous hard coded list of OS's...

f9e8cacc 04/02/2013 06:47 pm Stefan Hajnoczi

oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()

The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets.
Rename to qemu_set_nonblock() just like qemu_set_cloexec().

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

99835e00 03/27/2013 05:10 pm Paolo Bonzini

compiler: fix warning with GCC 4.8.0

GCC 4.8.0 introduces a new warning:

block/qcow2-snapshot.c: In function 'qcow2_write_snapshots’:
block/qcow2-snapshot.c:252:18: error: typedef 'qemu_build_bug_on__253'
locally defined but not used [-Werror=unused-local-typedefs]...
e62be888 03/22/2013 06:51 pm Kevin Wolf

qemu-socket: Make socket_optslist public

Allow other users to create the QemuOpts needed for inet_connect_opts().

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

f17c90be 03/22/2013 06:51 pm Kevin Wolf

nbd: Keep hostname and port separate

The NBD block supports an URL syntax, for which a URL parser returns
separate hostname and port fields. It also supports the traditional qemu
syntax encoded in a filename. Until now, after parsing the URL to get
each piece of information, a new string is built to be fed to socket...

5f3aa1ff 03/15/2013 05:07 pm Stefan Hajnoczi

main-loop: add qemu_get_aio_context()

It is very useful to get the main loop AioContext, which is a static
variable in main-loop.c.

I'm not sure whether qemu_get_aio_context() will be necessary in the
future once devices focus on using their own AioContext instead of the...

376609cc 03/15/2013 05:07 pm Kevin Wolf

qemu-option: Add qemu_opts_absorb_qdict()

This adds a function that adds all entries of a QDict to a QemuOpts if
the keys are known, and leaves only the rest in the QDict.

This way a single QDict of -drive options can be processed in multiple
places (generic block layer, block driver, backing file block driver,...

3ecc059d 03/13/2013 11:27 am Gerd Hoffmann

chardev: add udp support to qapi

This patch adds 'udp' support to qapi.

Signed-off-by: Gerd Hoffmann <>

4549a8b7 03/12/2013 08:40 pm Stefan Berger

Add a TPM Passthrough backend driver implementation

This patch is based of off version 9 of Stefan Berger's patch series
"QEMU Trusted Platform Module (TPM) integration"
and adds a new backend driver for it.

This patch adds a passthrough backend driver for passing commands sent to the...

13c7b2da 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: check exit status when closing a pipe QEMUFile

This is what exec_close does. Move this to the underlying QEMUFile.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

52e850de 03/11/2013 02:32 pm Paolo Bonzini

block-migration: add lock

Some state is shared between the block migration code and its AIO
callbacks. Once block migration will run outside the iothread,
the block migration code and the AIO callbacks will be able to
run concurrently. Protect the critical sections with a separate...

6e72a00f 03/11/2013 02:56 am Anthony Liguori

Merge remote-tracking branch 'bonzini/hw-dirs' into staging

  • bonzini/hw-dirs:
    sh: move files referencing CPU to hw/sh4/
    ppc: move more files to hw/ppc
    ppc: move files referencing CPU to hw/ppc/
    m68k: move files referencing CPU to hw/m68k/
    i386: move files referencing CPU to hw/i386/...
bf1c852a 03/04/2013 10:54 am MORITA Kazutaka

move socket_set_nodelay to osdep.c

Signed-off-by: MORITA Kazutaka <>
Signed-off-by: Stefan Hajnoczi <>

fd7f0d66 03/01/2013 02:53 pm Paolo Bonzini

hw: move fifo.[ch] to libqemuutil

fifo.c is generic code that can be easily unit tested. So it
belongs in libqemuutil.

Signed-off-by: Paolo Bonzini <>

989b697d 02/26/2013 09:31 pm Peter Maydell

qemu-log: default to stderr for logging output

Switch the default for qemu_log logging output from "/tmp/qemu.log"
to stderr. This is an incompatible change in some sense, but logging
is mostly used for debugging purposes so it shouldn't affect production...

632314c4 02/23/2013 11:42 am Peter Maydell

qemu-log: Remove qemu_log_try_set_file() and its users

Remove the function qemu_log_try_set_file() and its users (which
are all in TCG code generation functions for various targets).
This function was added to abstract out code which was originally
written as "if (!logfile) logfile = stderr;" in order that BUG:...

a3e4b4a8 02/22/2013 12:17 am Stefan Hajnoczi

iohandler: switch to GPollFD

Convert iohandler_select_fill() and iohandler_select_poll() to use
GPollFD instead of rfds/wfds/xfds.

Signed-off-by: Stefan Hajnoczi <>
Reviewed-by: Laszlo Ersek <>
Message-id: ...

f540166b 02/17/2013 04:28 pm Richard Henderson

host-utils: Use __int128_t for mul[us]64

Replace some x86_64 specific inline assembly with something that
all 64-bit hosts ought to optimize well. At worst this becomes
a call to the gcc __multi3 routine, which is no worse than our
implementation in util/host-utils.c....

453776e5 02/16/2013 01:12 pm Richard Henderson

bitops: Remove routines redundant with host-utils

Signed-off-by: Richard Henderson <>
Reviewed-by: Eric Blake <>
Signed-off-by: Blue Swirl <>

0cfa6adc 02/16/2013 01:12 pm Richard Henderson

bitops: Write bitops_flsl in terms of clzl

Signed-off-by: Richard Henderson <>
Reviewed-by: Eric Blake <>
Signed-off-by: Blue Swirl <>

18331e7c 02/16/2013 01:11 pm Richard Henderson

hbitmap: Use non-bitops ctzl

Both uses of ctz have already eliminated zero, and thus the difference
in edge conditions between the two routines is irrelevant.

Signed-off-by: Richard Henderson <>
Acked-by: Paolo Bonzini <>...

72d81155 02/16/2013 01:09 pm Richard Henderson

host-utils: Fix coding style and add comments

Add function comments to the routines, documenting the corner
cases upon which we are standardizing. Fix the few instances
of non-standard coding style.

Signed-off-by: Richard Henderson <>
Reviewed-by: Eric Blake <>...

01654373 02/16/2013 01:09 pm Richard Henderson

host-utils: Add host long specific aliases for clz, ctz, ctpop

We will standardize on these names, rather than the similar routines
currently residing in qemu/bitops.h.

Signed-off-by: Richard Henderson <>
Reviewed-by: Eric Blake <>...

38dad9e5 02/16/2013 12:45 pm Peter Maydell

qemu-log: Rename CPULogItem, cpu_log_items to QEMULogItem, qemu_log_items

Rename the typedef CPULogItem and the public array cpu_log_items
to names that better reflect the fact that the qemu_log functionality
isn't restricted to TCG CPU debug logs any more....

24537a01 02/16/2013 12:44 pm Peter Maydell

qemu-log: Rename the public-facing cpu_set_log function to qemu_set_log

Rename the public-facing function cpu_set_log to qemu_set_log. This
requires us to rename the internal-only qemu_set_log() to
do_qemu_set_log().

Signed-off-by: Peter Maydell <>...

4fde1eba 02/16/2013 12:44 pm Peter Maydell

qemu-log: Rename cpu_str_to_log_mask to qemu_str_to_log_mask

Rename cpu_str_to_log_mask() to qemu_str_to_log_mask(), since
the qemu_log functionality is no longer restricted to TCG CPU
debug logging.

Signed-off-by: Peter Maydell <>...

59a6fa6e 02/16/2013 12:44 pm Peter Maydell

qemu-log: Abstract out "print usage message about valid log categories"

Abstract out the "print a human readable list of all the
valid log categories" functionality which is currently duplicated
in three separate places. (We leave the monitor.c help_cmd()...

9a7e5424 02/16/2013 12:43 pm Peter Maydell

qemu-log: Unify {cpu_set,set_cpu}_log_filename as qemu_set_log_filename

The qemu_log() functionality is no longer specific to TCG CPU debug logs.
Rename cpu_set_log_filename() to qemu_set_log_filename() and drop the
pointless wrapper set_cpu_log_filename()....

91107fdf 02/06/2013 04:29 pm Richard Henderson

bswap: Fix width of swap in leul_to_cpu

The misnamed HOST_LONG_BITS is really HOST_POINTER_BITS. Here we're
explicitly using an unsigned long, rather than uintptr_t, so it is
more correct to select the swap size via ULONG_MAX.

Acked-by: Andreas Färber <>...

fbeadf50 02/02/2013 10:16 pm Paolo Bonzini

bitops: unify bitops_ffsl with the one in host-utils.h, call it bitops_ctzl

We had two copies of a ffs function for longs with subtly different
semantics and, for the one in bitops.h, a confusing name: the result
was off-by-one compared to the library function ffsl....