Statistics
| Branch: | Revision:

root @ 66a0a2cb

# Date Author Comment
b48e3611 12/06/2011 11:56 am Peter Maydell

configure: Print a banner comment at the top of config.log

Print a banner comment at the top of config.log identifying
when configure was run and the arguments used. This is occasionally
useful for debugging purposes.

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

c7ee8f68 12/06/2011 11:56 am Zhi Hui Li

net/socket.c : fix memory leak

Signed-off-by: Li Zhi Hui <>
Signed-off-by: Stefan Hajnoczi <>

91a9ecef 12/06/2011 11:56 am Zhi Hui Li

win32: fix memory leak

string is allocated by g_malloc, will not be used after putenv, should be
free before return.

Paolo Bonzini <> confirmed this is safe under Wine:

"1) the underlying Win32 APIs require separate arguments for the...

3a93113a 12/06/2011 11:56 am Dong Xu Wang

fix typo: delete redundant semicolon

Double semicolons should be single.

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

66a0a2cb 12/06/2011 11:56 am Dong Xu Wang

fix spelling in hw sub directory

Correct obvious spelling errors in qemu/hw directory.

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

f94a950f 12/06/2011 11:56 am Markus Armbruster

console: Clean up confusing indentation in console_putchar()

Signed-off-by: Markus Armbruster <>
Signed-off-by: Stefan Hajnoczi <>

95d8f9f4 12/06/2011 11:56 am Markus Armbruster

console: Fix console_putchar() for CSI J

It falls through to the code for CSI K. "Erase Down" also does "Erase
End of Line", "Erase Up" also does "Erase Start of Line", and "Erase
Screen" also does "Erase Line". Happens not to be visible. Fix it
anyway. Spotted by Coverity....

0eba62e0 12/06/2011 11:56 am Markus Armbruster

console: Fix qemu_default_pixelformat() for 24 bpp

Falls through to 32 bpp. Harmless, because the only difference is the
alpha component, and we're not using that. Spotted by Coverity.

Acked-by: Stefano Stabellini <>
Signed-off-by: Markus Armbruster <>...

fd786e1a 12/06/2011 11:56 am Peter Maydell

configure: Include #define name in check_define compiler error

Include the name of the #define being tested for in the compiler
error produced when a check_define test is run and fails. This
appears only in the config.log, but it does make it a little easier...

217bfb44 12/05/2011 10:38 pm Peter Maydell

hw/arm_gic.c: Ignore attempts to complete nonexistent IRQs

Ignore attempts to complete non-existent IRQs; this fixes a buffer
overrun if the guest writes a bad value to the GICC_EOIR register.
(This case is UNPREDICTABLE so ignoring it is a valid choice.)...

21d89f84 12/05/2011 10:38 pm Peter Maydell

configure: Drop armv4l/armv4b distinction in $cpu

Drop the distinction between armv4l/armv4b in the $cpu variable
(ie host cpu type) in favour of calling everything 'arm'. This
makes it the same as the ARCH setting and removes some special
casing. The only thing we were using the distinction for was to...

81584fd5 12/05/2011 10:38 pm David Gibson

pseries: Fix array overrun bug in PCI code

spapr_populate_pci_devices() containd a loop with PCI_NUM_REGIONS (7)
iterations. However this overruns the 'bars' global array, which only has
6 elements. In fact we only want to run this loop for things listed in the...

f4fc247b 12/05/2011 10:38 pm Peter Maydell

target-arm/helper.c: Don't allocate TCG resources unless TCG enabled

Don't call arm_translate_init() (which allocates TCG resources)
unless TCG is enabled.

Signed-off-by: Peter Maydell <>
Signed-off-by: Andrzej Zaborowski <>

02afbf64 12/05/2011 10:38 pm Peter Maydell

target-arm/translate.c: Fix slightly misleading comment in Thumb decoder

Clarify some slightly misleading comments in the Thumb decoder's
handling of the memory hint space -- in particular one code path
marked as 'UNPREDICTABLE or unallocated hint' also includes some...

4abc7ebf 12/05/2011 10:38 pm Peter Chubb

Fix hw_error messages from arm_timer.c

Two of the calls to hw_error() in arm_timer.c contain the wrong function name.

As suggested by Andreas Färber, use the C99 standard func macro to
get the correct name, instead of putting the name directly into the code....

eb5d5bea 12/05/2011 05:39 pm Anthony Liguori

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

f6480ca3 12/05/2011 05:37 pm Anthony Liguori

Merge remote-tracking branch 'aneesh/1.0-fixes' into staging

cac1e30a 12/05/2011 04:44 pm Anthony Liguori

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

01e7a53a 12/05/2011 04:43 pm Anthony Liguori

Merge remote-tracking branch 'qemu-kvm/memory/batch' into staging

4eb2d2d9 12/05/2011 04:39 pm Anthony Liguori

Update version for 1.1 development branch

Signed-off-by: Anthony Liguori <>

922453bc 12/05/2011 03:56 pm Stefan Hajnoczi

block: convert qemu_aio_flush() calls to bdrv_drain_all()

Many places in QEMU call qemu_aio_flush() to complete all pending
asynchronous I/O. Most of these places actually want to drain all block
requests but there is no block layer API to do so.

This patch introduces the bdrv_drain_all() API to wait for requests...

5f8b6491 12/05/2011 03:52 pm Stefan Hajnoczi

block: wait_for_overlapping_requests() deadlock detection

Debugging a reentrant request deadlock was fun but in the future we need
a quick and obvious way of detecting such bugs. Add an assert that
checks we are not about to deadlock when waiting for another request....

bd9533e3 12/05/2011 03:51 pm Stefan Hajnoczi

block: implement bdrv_co_is_allocated() boundary cases

Cases beyond the end of the disk image are only implemented for block
drivers that do not provide .bdrv_co_is_allocated(). It's worth making
these cases generic so that block drivers that do implement...

e8ee5e4c 12/05/2011 03:51 pm Stefan Hajnoczi

coroutine: add qemu_co_queue_restart_all()

It's common to wake up all waiting coroutines. Introduce the
qemu_co_queue_restart_all() function to do this instead of looping over
qemu_co_queue_next() in every caller.

Signed-off-by: Stefan Hajnoczi <>...

dbffbdcf 12/05/2011 03:51 pm Stefan Hajnoczi

block: add request tracking

The block layer does not know about pending requests. This information
is necessary for copy-on-read since overlapping requests must be
serialized to prevent races that corrupt the image.

The BlockDriverState gets a new tracked_request list field which...

53fec9d3 12/05/2011 03:51 pm Stefan Hajnoczi

block: add interface to toggle copy-on-read

The bdrv_enable_copy_on_read()/bdrv_disable_copy_on_read() functions can
be used to programmatically enable or disable copy-on-read for a block
device. Later patches add the actual copy-on-read logic.

Signed-off-by: Stefan Hajnoczi <>...

f4658285 12/05/2011 03:51 pm Stefan Hajnoczi

block: wait for overlapping requests

When copy-on-read is enabled it is necessary to wait for overlapping
requests before issuing new requests. This prevents races between the
copy-on-read and a write request.

Signed-off-by: Stefan Hajnoczi <>...

d83947ac 12/05/2011 03:51 pm Stefan Hajnoczi

block: request overlap detection

Detect overlapping requests and remember to align to cluster boundaries
if the image format uses them. This assumes that allocating I/O is
performed in cluster granularity - which is true for qcow2, qed, etc.

Signed-off-by: Stefan Hajnoczi <>...

ab185921 12/05/2011 03:51 pm Stefan Hajnoczi

block: core copy-on-read logic

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

fb0490f6 12/05/2011 03:51 pm Stefan Hajnoczi

block: add -drive copy-on-read=on|off

This patch adds the -drive copy-on-read=on|off command-line option:

copy-on-read=on|off
copy-on-read is "on" or "off" and enables whether to copy read backing
file sectors into the image file. Copy-on-read avoids accessing the...
e94d1387 12/05/2011 03:51 pm Stefan Hajnoczi

cow: use bdrv_co_is_allocated()

Now that bdrv_co_is_allocated() is available we can use it instead of
the synchronous bdrv_is_allocated() interface. This is a follow-up that
Kevin Wolf <> pointed out after applying the series that
introduces bdrv_co_is_allocated()....

c57c4658 12/05/2011 03:51 pm Kevin Wolf

dma-helpers: Add trace events

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

b7d5a5b8 12/05/2011 03:51 pm Stefan Hajnoczi

qed: convert to .bdrv_co_is_allocated()

The bdrv_qed_is_allocated() function is a synchronous wrapper around
qed_find_cluster(), which performs the cluster lookup. In order to
convert the synchronous function to a coroutine function we yield
instead of using qemu_aio_wait(). Note that QED's cache is already safe...

f8a2e5e3 12/05/2011 03:51 pm Stefan Hajnoczi

block: convert qcow2, qcow2, and vmdk to .bdrv_co_is_allocated()

The qcow2, qcow, and vmdk block drivers are based on coroutines. They have a
coroutine mutex which protects internal state. We can convert the
.bdrv_is_allocated() function to .bdrv_co_is_allocated() by holding the mutex...

73f703ca 12/05/2011 03:51 pm Stefan Hajnoczi

vvfat: convert to .bdrv_co_is_allocated()

It is trivial to switch from the synchronous .bdrv_is_allocated()
interface to .bdrv_co_is_allocated() since vvfat_is_allocated() does not
block.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

e850b35a 12/05/2011 03:51 pm Stefan Hajnoczi

vdi: convert to .bdrv_co_is_allocated()

It is trivial to switch from the synchronous .bdrv_is_allocated()
interface to .bdrv_co_is_allocated() since vdi_is_allocated() does not
block.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

81145834 12/05/2011 03:51 pm Stefan Hajnoczi

cow: convert to .bdrv_co_is_allocated()

The cow block driver does not keep internal state for cluster lookups.
This means it is safe to perform cluster lookups in coroutine context
without risk of race conditions that corrupt internal state.

Signed-off-by: Stefan Hajnoczi <>...

6aebab14 12/05/2011 03:51 pm Stefan Hajnoczi

block: drop .bdrv_is_allocated() interface

Now that all block drivers have been converted to
.bdrv_co_is_allocated() we can drop .bdrv_is_allocated().

Note that the public bdrv_is_allocated() interface is still available
but is in fact a synchronous wrapper around .bdrv_co_is_allocated()....

060f51c9 12/05/2011 03:51 pm Stefan Hajnoczi

block: add bdrv_co_is_allocated() interface

This patch introduces the public bdrv_co_is_allocated() interface which
can be used to query image allocation status while the VM is running.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

3951690a 12/05/2011 03:51 pm Stefan Hajnoczi

qemu-common: add QEMU_ALIGN_DOWN() and QEMU_ALIGN_UP() macros

Add macros for aligning a number to a multiple, for example:

QEMU_ALIGN_DOWN(500, 2000) = 0
QEMU_ALIGN_UP(500, 2000) = 2000

Since ALIGN_UP() is a common macro name use the QEMU_* namespace prefix....

d69969c4 12/05/2011 03:51 pm Kevin Wolf

qcow2: Update snapshot table information at once

Failing in the middle wouldn't help with the integrity of the image, so
doing everything in a single request seems better.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

03343166 12/05/2011 03:51 pm Kevin Wolf

qcow2: Cleanups and memleak fix in qcow2_snapshot_create

sn->id_str could be leaked before this. The rest of this patch changes
comments, fixes coding style or removes checks that are unnecessary with
g_malloc.

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

d1ea98d5 12/05/2011 03:51 pm Kevin Wolf

qcow2: Rework qcow2_snapshot_create error handling

Increase refcounts only after allocating a new L1 table has succeeded in
order to make leaks less likely. If writing the snapshot table fails,
revert in-memory state to be consistent with that on disk.

While at it, make it return the real error codes instead of -1....

589f284b 12/05/2011 03:51 pm Kevin Wolf

qcow2: Return real error in qcow2_snapshot_goto

Besides fixing the return code, this adds some comments that make clear
how the code works and that it potentially breaks images if we fail in
the wrong place. Actually fixing this is left for the next patch....

43a0cac4 12/05/2011 03:51 pm Kevin Wolf

qcow2: Fix order of refcount updates in qcow2_snapshot_goto

The refcount updates must be moved so that in the worst case we can get
cluster leaks, but refcounts may never be too low.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

9a476780 12/05/2011 03:51 pm Kevin Wolf

qcow2: Fix order in qcow2_snapshot_delete

First the snapshot must be deleted and only then the refcounts can be
decreased.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

e3f652b3 12/05/2011 03:51 pm Kevin Wolf

qcow2: Fix error path in qcow2_snapshot_load_tmp

If the bdrv_read() of the snapshot's L1 table fails, return the right
error code and make sure that the old L1 table is still loaded and we
don't break the BlockDriverState completely.

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

05c4af54 12/05/2011 03:51 pm Stefan Hajnoczi

block: use public bdrv_is_allocated() interface

There is no need for bdrv_commit() to use the BlockDriver
.bdrv_is_allocated() interface directly. Converting to the public
interface gives us the freedom to drop .bdrv_is_allocated() entirely in
favor of a new .bdrv_co_is_allocated() in the future....

376ae3f1 12/05/2011 03:51 pm Stefan Hajnoczi

block: add .bdrv_co_is_allocated()

This patch adds the .bdrv_co_is_allocated() interface which is identical
to .bdrv_is_allocated() but runs in coroutine context. Running in
coroutine context implies that other coroutines might be performing I/O
at the same time. Therefore it must be safe to run while the following...

3535a9c6 12/05/2011 03:51 pm Li Zhi Hui

block: Use bdrv functions to replace file operation in cow.c

Since common file operation functions lack of error detection,
so change them to bdrv series functions.

Signed-off-by: Li Zhi Hui <>
Reviewed-by: Stefan Hajnoczi <>...

0563e191 12/05/2011 03:51 pm Zhi Yong Wu

block: add the blockio limits command line support

Signed-off-by: Zhi Yong Wu <>
Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

e9e6295b 12/05/2011 03:51 pm Zhi Yong Wu

CoQueue: introduce qemu_co_queue_wait_insert_head

Signed-off-by: Zhi Yong Wu <>
Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

98f90dba 12/05/2011 03:51 pm Zhi Yong Wu

block: add I/O throttling algorithm

Signed-off-by: Zhi Yong Wu <>
Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

727f005e 12/05/2011 03:51 pm Zhi Yong Wu

hmp/qmp: add block_set_io_throttle

Signed-off-by: Zhi Yong Wu <>
Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

a968168c 12/05/2011 03:51 pm Dong Xu Wang

block: Add coroutine_fn marker to coroutine functions

Looks better when reviewing these source files.

Signed-off-by: Dong Xu Wang <>
Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

42deb29f 12/05/2011 03:51 pm Kevin Wolf

qcow2: Return real error code in qcow2_read_snapshots

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

07fd8779 12/05/2011 03:51 pm Kevin Wolf

qcow2: Return real error code in qcow2_write_snapshots

Doesn't immediately fix anything as the callers don't use the return
value, but they will be fixed next.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Stefan Hajnoczi <>

23e9a39e 12/05/2011 03:51 pm Zhi Yong Wu

qed: adjust the way to get nb_sectors

This patch is only to refactor some lines of codes to get better and more robust codes.

As you have seen, in qed_read_table_cb() it's nice to
use qiov->size because that function doesn't obviously use a single
struct iovec....

4e5b184d 12/05/2011 03:51 pm Paolo Bonzini

xen_disk: remove dead code

Xen_disk.c has support for using synchronous I/O instead of asynchronous,
but it is compiled out by default. Remove it.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

aef4acb6 12/05/2011 03:49 pm Stefan Hajnoczi

qcow2: avoid reentrant bdrv_read() in copy_sectors()

A BlockDriverState should not issue requests on itself through the
public block layer interface. Nested, or reentrant, requests are
problematic because they do I/O throttling and request tracking twice....

1b9f1491 12/05/2011 03:49 pm Kevin Wolf

qcow2: Unlock during COW

Unlocking during COW allows for more parallelism. One change it requires is
that buffers are dynamically allocated instead of just using a per-image
buffer.

While touching the code, drop the synchronous qcow2_read() function and replace...

e9a0152b 12/04/2011 07:05 pm Aneesh Kumar K.V

hw/9pfs: use migration blockers to prevent live migration when virtfs export path is mounted

Now when you try to migrate with VirtFS export path mounted, you get a proper QMP error:

(qemu) migrate tcp:localhost:4444
Migration is disabled when VirtFS export path '/tmp/' is mounted in the guest using mount_tag 'v_tmp'...

b41e2992 12/04/2011 07:05 pm Deepak C Shetty

hw/9pfs: Reset server state during TVERSION

As per the 9p rfc, during TVERSION its necessary to clean all the active
fids, so that we start the session from a clean state. Its also needed in
scenarios where the guest is booting off 9p, and boot fails, and client...

8798d6c9 12/04/2011 07:05 pm Aneesh Kumar K.V

hw/9pfs: Add qdev.reset callback for virtio-9p-pci device

Add the device reset callback

Signed-off-by: Aneesh Kumar K.V <>

8b888272 12/04/2011 07:05 pm Aneesh Kumar K.V

hw/9pfs: Use the correct file descriptor in Fsdriver Callback

Fsdriver callback that operate on file descriptor need to
differentiate between directory fd and file fd.

Based on the original patch from Sassan Panahinejad <>

Signed-off-by: Aneesh Kumar K.V <>

77eec1b3 12/04/2011 07:05 pm Aneesh Kumar K.V

hw/9pfs: Improve portability to older systems

handle fs driver require a set of newly added syscalls. Don't
Compile handle FS driver if those syscalls are not available.
Instead of adding #ifdef for all those syscalls we check for
open by handle syscall. If that is available then rest of the...

dee3bffc 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in QMP sub directory

Cc: Markus Armbruster <>
Acked-by: Luiz Capitulino <>
Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

68dfbcd4 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in scripts sub directory

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

4abf79a4 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in target sub directory

Cc: Richard Henderson <>
Cc: Edgar E. Iglesias <>
Cc: Aurelien Jarno <>
Cc: Alexander Graf <>
Cc: Aurelien Jarno <>
Cc: Blue Swirl <>...

9814dd27 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in tcg sub directory

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

45658076 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in tests sub directory

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

e5bed759 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in ui sub directory

Cc: Anthony Liguori <>
Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

9b2260cb 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in block sub directory

Cc: Kevin Wolf <>
Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

07f35073 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in main directory

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

d1805896 12/02/2011 12:50 pm Hervé Poussineau

sonic: fix typo

Reviewed-by: Andreas Färber <>
Signed-off-by: Hervé Poussineau <>
Signed-off-by: Stefan Hajnoczi <>

66d3f196 12/02/2011 12:50 pm Markus Armbruster

qxl: Don't convert from size_t to int and back in qxl_cursor()

Just for cleanliness; it would take a truly gigantic cursor to break.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Stefan Hajnoczi <>

c91bbffb 12/02/2011 12:50 pm Peter Maydell

MAINTAINERS: Delete spurious '.'

Signed-off-by: Peter Maydell <>
Signed-off-by: Stefan Hajnoczi <>

7a4bbe8d 12/02/2011 12:50 pm Stefan Weil

darwin-user: Fix format string in debug message

This was spotted by cppcheck.

Reviewed-by: Peter Maydell <>
Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

bcb15d9c 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in darwin-user sub directory

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

b4916d7b 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in linux-user sub directory

Cc: Riku Voipio <>
Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

cba919da 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in libcacard sub directory

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

1c8a881d 12/01/2011 10:04 pm Anthony Liguori

Update version for 1.0 release

Signed-off-by: Anthony Liguori <>

d8e1f214 11/30/2011 05:28 pm Michael Roth

qapi: fix guardname generation

Fix a bug in handling dotted paths, and exclude directory prefixes
from generated guardnames to avoid odd/pseudo-random guardnames in
generated headers.

Signed-off-by: Anthony Liguori <>

9b129408 11/30/2011 05:28 pm Michael Roth

Makefile: use full path for qapi-generated directory

Generally $(BUILD_DIR) == $(CURDIR), but that isn't necessarilly the
case, so use $(BUILD_DIR)/qapi-generated for generated files to
avoid potentionally sticking generating files in odd places outside
the build's include paths....

023ddd74 11/29/2011 12:20 am Max Filippov

configure: avoid screening of --{en, dis}able-usb-redir options

--*dir) option pattern precede --{en,dis}able-usb-redir) patterns in the
option analysis switch, making the latter options have no effect.

There were some --*dir that are supported by Autoconf and not by QEMU configure....

aea317aa 11/29/2011 12:20 am Anthony Liguori

Revert "fix out of tree build"

This reverts commit be85c90b74f56dca51782fa3080fcdf88593e045.

This patch is incorrect and breaks the build with a freshly cloned git tree.

Signed-off-by: Anthony Liguori <>

7e62255a 11/29/2011 12:20 am Markus Armbruster

ccid: Fix buffer overrun in handling of VSC_ATR message

ATR size exceeding the limit is diagnosed, but then we merrily use it
anyway, overrunning card->atr[].

The message is read from a character device. Obvious security
implications unless the other end of the character device is trusted....

85e83264 11/29/2011 12:20 am Anthony Liguori

Update version for 1.0-rc4

Signed-off-by: Anthony Liguori <>

21d4a791 11/29/2011 12:20 am Avi Kivity

configure: tighten pie toolchain support test for tls variables

Some toolchains don't support pie properly when tls variables are
in use. Disallow pie when such toolchains are detected.

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

8dddfb55 11/29/2011 12:20 am Markus Armbruster

cutils: Drop broken support for zero strtosz default_suffix

Commit 9f9b17a4's strtosz() defaults a missing suffix to 'M', except
it rejects fractions then (switch case 0).

When commit d8427002 introduced strtosz_suffix(), that changed:
fractions are no longer rejected, because we go to switch case 'M' on...

c03417b4 11/29/2011 12:20 am Markus Armbruster

vl: Tighten parsing of -numa's parameter mem

strtosz_suffix() fails unless the size is followed by 0, whitespace or
','. Useless here, because we need to fail for any junk following the
size, even if it starts with whitespace or ','. Check manually.

Things like...

961b42b9 11/29/2011 12:20 am Markus Armbruster

vl: Tighten parsing of -m argument

strtosz_suffix() fails unless the size is followed by 0, whitespace or
','. Useless here, because we need to fail for any junk following the
size, even if it starts with whitespace or ','. Check manually.
Things like "-m 1024," are now caught....

45009a30 11/29/2011 12:20 am Markus Armbruster

x86/cpuid: Tighten parsing of tsc_freq=FREQ

cpu_x86_find_by_name() uses strtosz_suffix_unit(), but screws up the
error checking. It detects some failures, but not all. Undetected
failures result in a zero tsc_khz value (error value -1 divided by
1000), which means "no tsc_freq set"....

e36b3695 11/29/2011 12:20 am Markus Armbruster

qemu-img: Tighten parsing of size arguments

strtosz_suffix() fails unless the size is followed by 0, whitespace or
','. Useless here, because we need to fail for any junk following the
size, even if it starts with whitespace or ','. Check manually.
Things like "qemu-img create xxx 1024," and "qemu-img convert -S '1024...

eba90e4e 11/29/2011 12:20 am Markus Armbruster

cutils: Make strtosz & friends leave follow set to callers

strtosz() & friends require the size to be at the end of the string,
or be followed by whitespace or ','. I find this surprising, because
the name suggests it works like strtol().

The check simplifies callers that accept exactly that follow set...

a425d23f 11/29/2011 12:20 am Hans de Goede

qemu-char: rename qemu_chr_event to qemu_chr_be_event and make it public

Rename qemu_chr_event to qemu_chr_be_event, since it is only to be
called by backends and make it public so that it can be used by chardev
code which lives outside of qemu-char.c

Signed-off-by: Hans de Goede <>...

f76e4c7f 11/29/2011 12:20 am Hans de Goede

spice-qemu-char: Generate chardev open/close events

Define a state callback and make that generate chardev open/close events when
called by the spice-server.

Notes:

1) For all but the newest spice-server versions (which have a fix for this)
the code ignores these events for a spicevmc with a subtype of vdagent, this...

65f9d986 11/29/2011 12:20 am Hans de Goede

usb-redir: Call qemu_chr_fe_open/close

To let the chardev now we're ready start receiving data. This is necessary
with the spicevmc chardev to get it registered with the spice-server.

Signed-off-by: Hans de Goede <>
Signed-off-by: Anthony Liguori <>

99f08100 11/29/2011 12:20 am Hans de Goede

usb-redir: Device disconnect + re-connect robustness fixes

These fixes mainly target the other side sending some (error status)
packets after a disconnect packet. In some cases these would get queued
up and then reported to the controller when a new device gets connected....

c1b71a1d 11/29/2011 12:20 am Hans de Goede

usb-redir: Don't try to write to the chardev after a close event

Since we handle close async in a bh, do_write and thus write can get
called after receiving a close event. This patch adds a check to
the usb-redir write callback to not call qemu_chr_fe_write on a closed...