[Qemu-devel] [RFC 3/7] sd.c: introduce start bit and busy deasserted callbacks

2013-05-10 Thread Igor Mitsyanko
Start bit callback models arrival of first bit of data on card's DAT line. Busy deasserted callback models releasing of DAT0 line by card when it transitions from a programming state to a writing data state. Both of them will be used for async IO later. Signed-off-by: Igor Mitsyanko

[Qemu-devel] [RFC 1/7] sd.c: introduce AIO related members in SD state

2013-05-10 Thread Igor Mitsyanko
New state members will be used for async IO implementation later. Signed-off-by: Igor Mitsyanko i.mitsya...@gmail.com --- hw/sd/sd.c | 13 + 1 file changed, 13 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 2e0ef3e..1dd1331 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@

[Qemu-devel] [RFC 4/7] sd.c: use callbacks as a flag to use async IO

2013-05-10 Thread Igor Mitsyanko
This is temporary to distinguish between sync and async users. Signed-off-by: Igor Mitsyanko i.mitsya...@gmail.com --- hw/sd/sd.c | 4 1 file changed, 4 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 2e75201..a0bbbaa 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -530,6 +530,10 @@

[Qemu-devel] [RFC 6/7] sd.c: introduce async write interface

2013-05-10 Thread Igor Mitsyanko
Signed-off-by: Igor Mitsyanko i.mitsya...@gmail.com --- hw/sd/sd.c | 145 - 1 file changed, 133 insertions(+), 12 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 659ec56..615ab61 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@

[Qemu-devel] [RFC 5/7] sd.c: introduce async read operation

2013-05-10 Thread Igor Mitsyanko
It will only be used if start bit and databusy callbacks were initialized by user of SD card model. Signed-off-by: Igor Mitsyanko i.mitsya...@gmail.com --- hw/sd/sd.c | 85 -- 1 file changed, 77 insertions(+), 8 deletions(-) diff --git

[Qemu-devel] [RFC 7/7] pl181.c: convert to async IO SD card interface

2013-05-10 Thread Igor Mitsyanko
Signed-off-by: Igor Mitsyanko i.mitsya...@gmail.com --- hw/sd/pl181.c | 302 +- 1 file changed, 192 insertions(+), 110 deletions(-) diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 2caacc2..a8a3510 100644 --- a/hw/sd/pl181.c +++

Re: [Qemu-devel] [PATCH for-1.5?] target-ppc: Drop unnecessary dynamic cast in ppc_env_get_cpu()

2013-05-10 Thread Andreas Färber
Am 10.05.2013 17:32, schrieb Alexander Graf: On 10.05.2013, at 17:23, Andreas Färber wrote: Am 10.05.2013 17:06, schrieb Anthony Liguori: Andreas Färber afaer...@suse.de writes: A transition from CPUPPCState to PowerPCCPU can be considered safe, just like PowerPCCPU::env access in the

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Andreas Färber
Am 10.05.2013 17:56, schrieb Aurelien Jarno: To improve the performance a bit more, and come back to the same kind of code as before, we should move simple accessors from qom/*.c to include/qom/*.h and mark them as inline, so that they can be removed by the compiler. Currently, even if the

Re: [Qemu-devel] [PATCH for-1.5?] target-ppc: Drop unnecessary dynamic cast in ppc_env_get_cpu()

2013-05-10 Thread Peter Maydell
On 10 May 2013 17:14, Andreas Färber afaer...@suse.de wrote: Personally I wouldn't oppose dropping these checks for release builds as proposed by Paolo in his series; for me, the value of POWERPC_CPU() is being closer to an OO cast than any container_of()-style expressions. But I can also see

Re: [Qemu-devel] [PATCH 04/10] qapi: enable generation of native list code

2013-05-10 Thread mdroth
On Fri, May 10, 2013 at 10:10:03AM -0400, Luiz Capitulino wrote: On Thu, 9 May 2013 21:20:56 -0500 Michael Roth mdr...@linux.vnet.ibm.com wrote: Also, fix a dependency issue with libqemuutil: qemu-sockets.c needs qapi-types.c/qapi-visit.c Signed-off-by: Michael Roth

Re: [Qemu-devel] [PATCH for-1.5?] target-ppc: Drop unnecessary dynamic cast in ppc_env_get_cpu()

2013-05-10 Thread Andreas Färber
Am 10.05.2013 18:20, schrieb Peter Maydell: On 10 May 2013 17:14, Andreas Färber afaer...@suse.de wrote: Personally I wouldn't oppose dropping these checks for release builds as proposed by Paolo in his series; for me, the value of POWERPC_CPU() is being closer to an OO cast than any

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Paolo Bonzini
Il 10/05/2013 18:18, Andreas Färber ha scritto: Am 10.05.2013 17:56, schrieb Aurelien Jarno: To improve the performance a bit more, and come back to the same kind of code as before, we should move simple accessors from qom/*.c to include/qom/*.h and mark them as inline, so that they can be

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Anthony Liguori
Paolo Bonzini pbonz...@redhat.com writes: Il 10/05/2013 16:39, Anthony Liguori ha scritto: I just oppose the notion of disabling casts and *especially* only disabling casts for official builds. This actually happens all the time. Exactly this kind of type-safe cast is disabled in releases

Re: [Qemu-devel] [PATCH for-1.5 8/9] qom: simplify object_class_dynamic_cast, part 1

2013-05-10 Thread Anthony Liguori
Paolo Bonzini pbonz...@redhat.com writes: Access everything from the class. Signed-off-by: Paolo Bonzini pbonz...@redhat.com --- qom/object.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/qom/object.c b/qom/object.c index f5f416b..f82f12c 100644 ---

[Qemu-devel] [PATCH] 9p: Be robust against paths without FS_IOC_GETVERSION

2013-05-10 Thread Gabriel de Perthuis
9P optionally uses the FS_IOC_GETVERSION ioctl to get information about a file's version (sometimes called generation number). The code checks for supported filesystems at mount time, but some paths may come from other mounted filesystems. Change it to treat unsupported paths the same as

[Qemu-devel] [PATCH for-1.5] qom: optimize casting to leaf class and parent class

2013-05-10 Thread Anthony Liguori
Most QOM types use type_register_static but we still strdup the passed data. However, the original pointers are useful because GCC is pretty good about collapsing strings so its very likely any use of the pointer will end up being that same address. IOW, with a little trickery, we can compare

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Anthony Liguori
Aurelien Jarno aurel...@aurel32.net writes: On Fri, May 10, 2013 at 02:16:34PM +0200, Paolo Bonzini wrote: Cast debugging can have a substantial cost (20% or more, measured by Aurelien on qemu-system-ppc64). Instead of adding special-cased fast casts in the hot paths, we can just disable it

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Aurelien Jarno
On Fri, May 10, 2013 at 12:41:07PM -0500, Anthony Liguori wrote: Paolo Bonzini pbonz...@redhat.com writes: Il 10/05/2013 16:39, Anthony Liguori ha scritto: I just oppose the notion of disabling casts and *especially* only disabling casts for official builds. This actually happens all

Re: [Qemu-devel] [PATCH v2 0/2] qga umask fix addenda

2013-05-10 Thread mdroth
On Wed, May 08, 2013 at 05:31:34PM +0200, Laszlo Ersek wrote: I should have paid more attention to portability and error path cleanup in the CVE-2013-2007 fix. (We continue to assume, like the rest of qemu code, that qemu_set_cloexec() never fails internally. This should be a reasonable

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Anthony Liguori
Aurelien Jarno aurel...@aurel32.net writes: On Fri, May 10, 2013 at 12:41:07PM -0500, Anthony Liguori wrote: Paolo Bonzini pbonz...@redhat.com writes: Il 10/05/2013 16:39, Anthony Liguori ha scritto: I just oppose the notion of disabling casts and *especially* only disabling casts for

Re: [Qemu-devel] [PATCH v2 0/2] qga umask fix addenda

2013-05-10 Thread Laszlo Ersek
On 05/10/13 21:30, mdroth wrote: On Wed, May 08, 2013 at 05:31:34PM +0200, Laszlo Ersek wrote: I should have paid more attention to portability and error path cleanup in the CVE-2013-2007 fix. (We continue to assume, like the rest of qemu code, that qemu_set_cloexec() never fails internally.

[Qemu-devel] [PATCH V2] osdep.h: include sys/types.h for ssize_t definition

2013-05-10 Thread Igor Mitsyanko
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). Signed-off-by: Igor Mitsyanko i.mitsya...@gmail.com ---

Re: [Qemu-devel] [PATCH v2 0/2] qga umask fix addenda

2013-05-10 Thread mdroth
On Fri, May 10, 2013 at 09:53:27PM +0200, Laszlo Ersek wrote: On 05/10/13 21:30, mdroth wrote: On Wed, May 08, 2013 at 05:31:34PM +0200, Laszlo Ersek wrote: I should have paid more attention to portability and error path cleanup in the CVE-2013-2007 fix. (We continue to assume, like the

Re: [Qemu-devel] [PATCH] w32: Fix build with older gcc (unresolved symbol)

2013-05-10 Thread Igor Mitsyanko
On 29.03.2013 21:20, Stefan Weil wrote: The cross i586-mingw32msvc-gcc 4.4.4 from Debian Squeeze does not support __sync_val_compare_and_swap by default. Using -march=i686 fixes that and should also result in better code. Signed-off-by: Stefan Weil s...@weilnetz.de --- Maybe this modification

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Paolo Bonzini
Il 10/05/2013 19:41, Anthony Liguori ha scritto: Paolo Bonzini pbonz...@redhat.com writes: Il 10/05/2013 16:39, Anthony Liguori ha scritto: I just oppose the notion of disabling casts and *especially* only disabling casts for official builds. This actually happens all the time. Exactly

Re: [Qemu-devel] VFIO VGA test branches

2013-05-10 Thread Alex Williamson
On Fri, 2013-05-10 at 14:31 -0700, Justin Gottula wrote: Hi, The kernel won't compile with CONFIG_HOTPLUG_PCI=m: drivers/pci/hotplug/pci_hotplug_core.c:548:5: error: redefinition of ‘pci_hp_reset_slot’ int pci_hp_reset_slot(struct hotplug_slot *hotplug, int probe) ^ In file

[Qemu-devel] [PATCH for-1.5] isapc: Fix non-KVM qemu boot (read/write memory for isapc BIOS)

2013-05-10 Thread Jordan Justen
The isapc machine with seabios currently requires the BIOS region to be read/write memory rather than read-only memory. KVM currently cannot support the BIOS as a ROM region, but qemu in non-KVM mode can. Based on this, isapc machine currently only works with KVM. To work-around this isapc

Re: [Qemu-devel] [PATCH for-1.5] qom: optimize casting to leaf class and parent class

2013-05-10 Thread Aurelien Jarno
On Fri, May 10, 2013 at 01:47:55PM -0500, Anthony Liguori wrote: Most QOM types use type_register_static but we still strdup the passed data. However, the original pointers are useful because GCC is pretty good about collapsing strings so its very likely any use of the pointer will end up

Re: [Qemu-devel] [PATCH 04/10] qapi: enable generation of native list code

2013-05-10 Thread mdroth
On Fri, May 10, 2013 at 11:32:48AM -0500, mdroth wrote: On Fri, May 10, 2013 at 10:10:03AM -0400, Luiz Capitulino wrote: On Thu, 9 May 2013 21:20:56 -0500 Michael Roth mdr...@linux.vnet.ibm.com wrote: Also, fix a dependency issue with libqemuutil: qemu-sockets.c needs

[Qemu-devel] [PATCH v3 00/11] qapi: add support for lists of native types

2013-05-10 Thread Michael Roth
These patches apply on top of qemu.git master, and can also be obtained from: git://github.com/mdroth/qemu.git qapi-native-lists Sending this now since a number of series have popped up in the past that wanted this, and Amos has some pending patches (query-mac-tables) that rely on this as well.

[Qemu-devel] [PATCH 01/11] qapi: qapi-types.py, native list support

2013-05-10 Thread Michael Roth
Teach type generators about native types so they can generate the appropriate linked list types. Signed-off-by: Michael Roth mdr...@linux.vnet.ibm.com --- scripts/qapi-types.py | 45 ++--- scripts/qapi.py | 23 +++ 2 files

[Qemu-devel] [PATCH 02/11] qapi: qapi-visit.py, fix list handling for union types

2013-05-10 Thread Michael Roth
Currently we assume non-list types when generating visitor routines for union types. This is broken, since values like ['Type'] need to mapped to 'TypeList'. We already have a type_name() function to handle this that we use for generating struct visitors, so use that here as well. Signed-off-by:

[Qemu-devel] [PATCH 04/11] qapi: enable generation of native list code

2013-05-10 Thread Michael Roth
Also, fix a dependency issue with libqemuutil: qemu-sockets.c needs qapi-types.c/qapi-visit.c Signed-off-by: Michael Roth mdr...@linux.vnet.ibm.com --- Makefile |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 7dc0204..9695c9d 100644 ---

[Qemu-devel] [PATCH 05/11] qapi: fix leak in unit tests

2013-05-10 Thread Michael Roth
qmp_output_get_qobject() increments the qobject's reference count. Since we currently pass this straight into qobject_to_json() so we can feed the data into a QMP input visitor, we never actually free the underlying qobject when qmp_output_visitor_cleanup() is called. This causes leaks on all of

[Qemu-devel] [PATCH 03/11] qapi: qapi-visit.py, native list support

2013-05-10 Thread Michael Roth
Teach visitor generators about native types so they can generate the appropriate visitor routines. Signed-off-by: Michael Roth mdr...@linux.vnet.ibm.com --- scripts/qapi-visit.py | 34 +- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git

[Qemu-devel] [PATCH 07/11] qapi: add QMP input test for large integers

2013-05-10 Thread Michael Roth
Large integers previously got capped to LLONG_MAX/LLONG_MIN so we could store them as int64_t. This could lead to silent errors occuring. Now, we use a double to handle these cases. Add a test to confirm that QMPInputVisitor handles this as expected if we're expected an integer value: errors for

[Qemu-devel] [PATCH 06/11] json-parser: fix handling of large whole number values

2013-05-10 Thread Michael Roth
Currently our JSON parser assumes that numbers lacking a fractional value are integers and attempts to store them as QInt/int64 values. This breaks in the case where the number overflows/underflows int64 values (which is still valid JSON) Fix this by detecting such cases and using a QFloat to

[Qemu-devel] [PATCH 08/11] qapi: fix visitor serialization tests for numbers/doubles

2013-05-10 Thread Michael Roth
We never actually stored the stringified double values into the strings before we did the comparisons. This left number/double values completely uncovered in test-visitor-serialization tests. Fixing this exposed a bug in our handling of large whole number values in QEMU's JSON parser which is now

[Qemu-devel] [PATCH 10/11] qapi: add native list coverage for QMP output visitor tests

2013-05-10 Thread Michael Roth
This exercises schema-generated visitors for native list types and does some sanity checking on validity of serialized data. Signed-off-by: Michael Roth mdr...@linux.vnet.ibm.com --- qapi-schema-test.json | 15 ++ tests/test-qmp-output-visitor.c | 332

[Qemu-devel] [PATCH 09/11] qapi: add native list coverage for visitor serialization tests

2013-05-10 Thread Michael Roth
Signed-off-by: Michael Roth mdr...@linux.vnet.ibm.com --- tests/test-visitor-serialization.c | 451 ++-- 1 file changed, 433 insertions(+), 18 deletions(-) diff --git a/tests/test-visitor-serialization.c b/tests/test-visitor-serialization.c index

[Qemu-devel] [PATCH 11/11] qapi: add native list coverage for QMP input visitor tests

2013-05-10 Thread Michael Roth
This exercises schema-generated visitors for native list types and does some sanity checking on validity of deserialized data. Signed-off-by: Michael Roth mdr...@linux.vnet.ibm.com --- tests/test-qmp-input-visitor.c | 338 1 file changed, 338

Re: [Qemu-devel] [PATCH for-1.5] qom: optimize casting to leaf class and parent class

2013-05-10 Thread Anthony Liguori
Aurelien Jarno aurel...@aurel32.net writes: On Fri, May 10, 2013 at 01:47:55PM -0500, Anthony Liguori wrote: Most QOM types use type_register_static but we still strdup the passed data. However, the original pointers are useful because GCC is pretty good about collapsing strings so its very

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases

2013-05-10 Thread Anthony Liguori
Paolo Bonzini pbonz...@redhat.com writes: Il 10/05/2013 19:41, Anthony Liguori ha scritto: Paolo Bonzini pbonz...@redhat.com writes: Il 10/05/2013 16:39, Anthony Liguori ha scritto: I just oppose the notion of disabling casts and *especially* only disabling casts for official builds.

Re: [Qemu-devel] [PATCH v4] Add 'maxqdepth' as an option to tty character devices.

2013-05-10 Thread Eric Blake
On 05/07/2013 04:39 PM, John Baboval wrote: From: John V. Baboval john.babo...@virtualcomputer.com This parameter will cause writes to tty backed chardevs to return -EAGAIN if the backing tty has buffered more than the specified number of characters. When data is sent, the TIOCOUTQ ioctl is

Re: [Qemu-devel] [PATCH v2 2/3] block: add block-backup QMP command

2013-05-10 Thread Eric Blake
On 05/08/2013 06:49 AM, Kevin Wolf wrote: Am 29.04.2013 um 09:42 hat Stefan Hajnoczi geschrieben: @block-backup drive-backup would probably be a more consistent naming. We would then still have block-backup for a future low-level command that doesn't create everything by itself but takes an

Re: [Qemu-devel] [PATCH v2 2/3] block: add block-backup QMP command

2013-05-10 Thread Eric Blake
On 04/29/2013 01:42 AM, Stefan Hajnoczi wrote: @block-backup +++ b/qapi-schema.json @@ -1715,6 +1715,37 @@ '*speed': 'int' } } ## +# @block-backup +# +# Start a point-in-time copy of a block device to a new destination. The +# status of ongoing block backup operations

Re: [Qemu-devel] [PATCH 20/40] pci: use memory core for iommu support

2013-05-10 Thread liu ping fan
On Wed, May 8, 2013 at 2:30 AM, Peter Maydell peter.mayd...@linaro.org wrote: On 7 May 2013 15:16, Paolo Bonzini pbonz...@redhat.com wrote: From: Avi Kivity avi.kiv...@gmail.com Use the new iommu support in the memory core for iommu support. The only user, spapr, is also converted, but it

<    1   2