- Apr 19, 2012
-
-
Paolo Bonzini authored
The definition of when qemu_aio_flush should loop is much simpler than it looks. It just has to call qemu_aio_wait until it makes no progress and all flush callbacks return false. qemu_aio_wait is the logical place to tell the caller about this. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Paolo Bonzini authored
Both unused after the previous patch. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Paolo Bonzini authored
posix_aio_read already calls qemu_aio_process_queue, and dually qemu_aio_process_queue is always followed by a select loop that calls posix_aio_read. No races are possible, so there is no need for a separate process_queue callback. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Paolo Bonzini authored
QED uses vm_clock timers so that images are not touched during and after migration. This however does not apply to qemu-io and qemu-img. Treat vm_clock as a synonym for rt_clock there, and enable it. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Paolo Bonzini authored
This will let timers run during aio_read and aio_write commands, though not during synchronous commands. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Paolo Bonzini authored
In the next patch we want to reenter the coroutine from block_job_cancel_sync and cancel the timer. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Kevin Wolf authored
Someone forgot something in commit 29c1a730... Documenting the right return value is not enough, you also need to actually return it in the code. This bug sometimes causes error return values even when everything has succeeded: The new offset of the refcount block is truncated to 32 bits and interpreted as signed. At least with small cluster sizes it's easy to get a negative return value this way. Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Kevin Wolf authored
If do_alloc_cluster_offset() fails, the error handling code tried to remove the request from the in-flight queue, to which it wasn't added yet, resulting in a NULL pointer dereference. m->nb_clusters really only becomes != 0 when the request is in the list. Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Stefan Hajnoczi authored
The IDE PIO write sector code path uses bdrv_write() and hence can make the guest unresponsive while the I/O request is in progress. This patch converts ide_sector_write() to use bdrv_aio_writev() by using the BUSY_STAT bit to tell the guest that the request is in progress. Signed-off-by:
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Tested-by:
Richard Davies <richard@arachsys.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Stefan Hajnoczi authored
The IDE PIO interface currently uses bdrv_read() to perform reads synchronously. Synchronous I/O in the vcpu thread is bad because it prevents the guest from executing code - it makes the guest unresponsive. This patch converts IDE PIO to use bdrv_aio_readv(). We simply need to use the BUSY_STAT status so the guest knows to wait while we are busy. The only external user of ide_sector_read() is restart behavior on I/O errors and it is not affected by this change. We still need to restart I/O in the same way. Migration is also unaffected if I understand the code correctly. We continue to use the same transfer function and the BUSY_STAT status should never be migrated since we flush I/O before migrating device state. Signed-off-by:
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Tested-by:
Richard Davies <richard@arachsys.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Kevin Wolf authored
To be used as in 'qemu-io -t writeback test.img' Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Stefan Weil authored
Signed-off-by:
Stefan Weil <sw@weilnetz.de> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Dong Xu Wang authored
According comment, we should not read again, we will write. Signed-off-by:
Dong Xu Wang <wdongxu@linux.vnet.ibm.com> Reviewed-by:
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Kevin Wolf authored
If an AIO request is in flight that refers to a BlockDriverState that has been closed and possibly even freed, more or less anything could happen. I have seen segfaults, -EBADF return values and qcow2 sometimes actually catches the situation in bdrv_close() and abort()s. Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Kevin Wolf authored
If the BlockDriverState is closed/freed without draining the AIO requests first, the request coroutines may work on invalid data and file descriptors or have some dangling pointers that cause segfaults. Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Kevin Wolf authored
Some image formats do have a cluster size, others don't, but there are tests that work with both sets of images and currently we get failures because the qemu-img create output doesn't mention the cluster size for some formats. Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Reviewed-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Apr 18, 2012
-
-
Anthony Liguori authored
* origin/master: Allow controlling volume with PulseAudio backend configure: pa_simple is not needed anymore Do not use pa_simple PulseAudio API audio/spice: add support for volume control hw/ac97: add support for volume control hw/ac97: the volume mask is not only 0x1f hw/ac97: remove USE_MIXER code audio: don't apply volume effect if backend has VOICE_VOLUME_CAP audio: add VOICE_VOLUME ctl
-
Anthony Liguori authored
* spice/spice.v52: qxl-render: fix broken vnc+spice since commit f934493 qxl: set default values of vram*_size_mb to -1 trace-events: remove unused qxl_vga_ioport_while_not_in_vga_mode
-
Anthony Liguori authored
* kraxel/usb.46: (21 commits) usb-ehci: drop assert() usb-redir: Notify our peer when we reject a device due to a speed mismatch usb-ehci: Drop unused sofv value usb-host: rewrite usb_linux_update_endp_table usb: use USBDescriptor for endpoint descriptors. usb: use USBDescriptor for interface descriptors. usb: use USBDescriptor for config descriptors. usb: use USBDescriptor for device qualifier descriptors. usb: add USBDescriptor, use for device descriptors. usb-ehci: frindex always is a 14 bits counter usb-ehci: fix ehci_child_detach usb-hub: add tracepoints usb_packet_set_state: handle p->ep == NULL usb-host: add property to turn off pipelining usb-host: add usb packet to request tracepoints usb-host: trace canceled requests usb-host: trace emulated requests Add bootindex support to usb-host and usb-redir usb-uhci: queuing fix usb-uhci: stop queue filling when we find a in-flight td ...
-
Alon Levy authored
Notify any listeners such as vnc that the displaysurface has been changed, otherwise they will segfault when first accessing the freed old displaysurface data. Signed-off-by:
Alon Levy <alevy@redhat.com> Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Alon Levy authored
The addition of those values caused a regression where not specifying any value for the vram bar size would result in a 4096 _byte_ surface area. This is ok for the windows driver but causes the X driver to be unusable. Also, it's a regression. This patch returns the default behavior of having a 64 megabyte vram BAR. Signed-off-by:
Alon Levy <alevy@redhat.com> Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Alon Levy authored
The resulting stp file fails to load because of an unresolvable probe. Signed-off-by:
Alon Levy <alevy@redhat.com> Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
- Apr 17, 2012
-
-
Marc-André Lureau authored
Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
Unfortunately, pa_simple is a limited API which doesn't let us retrieve the associated pa_stream. It is needed to control the volume of the stream. In v4: - add missing braces Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
Use Spice server volume control API when available. Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
Combine output volume with Master and PCM registers values. Use default values in mixer_reset (). Set volume on post-load to update backend values. v4,v5: - fix some code style Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
It's a case by case (see Table 66. AC ?97 Baseline Audio Register Map) Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
That code doesn't compile. The interesting bits for volume control are going to be rewritten in the following patch. Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
If the audio backend is capable of volume control, don't apply software volume (mixeng_volume ()), but instead, rely on backend volume control. This will allow guest to have full range volume control. Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Marc-André Lureau authored
Add a new PCM control operation to update the stream volume on the audio backend. The argument given is a SWVoiceOut/SWVoiceIn. v4: - verified other backends didn't fail/assert on this new control they randomly return 0 or -1, but we ignore return value. Signed-off-by:
Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by:
malc <av1474@comtv.ru>
-
Gerd Hoffmann authored
Update roms/seabios and pc-bios/bios.bin to the 1.7.0 release. Most noticable new feature is virtio-scsi support. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
Not sure what the purpose of the assert() was, in any case it is bogous. We can arrive there if transfer descriptors passed to us from the guest failed to pass sanity checks, i.e. it is guest-triggerable. We deal with that case by resetting the host controller. Everything is ok, no need to throw a core dump here. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Hans de Goede authored
Also cleanup (reset) our device state when we reject a device due to a speed mismatch. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Hans de Goede authored
The sofv value only ever gets a value assigned and is never used (read) anywhere, so we can just drop it. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
This patch carries a complete rewrite of the usb descriptor parser. Changes / improvements: * We are using the USBDescriptor struct instead of hard-coded offsets now to access descriptor data. * (debug) printfs are all gone, tracepoints have been added instead. * We don't try (and fail) to skip over unneeded descriptors. We parse them all one by one. We keep track of which configuration, interface and altsetting we are looking at and use this information to figure which desciptors are in use and which we can ignore. * On parse errors we clear all endpoint information, which will disallow any communication with the device, except control endpoint messages. This makes sure we don't end up with a silly device state where half of the endpoints got enabled and the other half was left disabled. * Some sanity checks have been added. The new parser is more robust and also leaves complete device information in the trace log if you enable the ush_host_parse_* tracepoints. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
Add endpoint descriptor substruct to USBDescriptor, use it in the descriptor generator code. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
Add interface descriptor substruct to USBDescriptor, use it in the descriptor generator code. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
Add config descriptor substruct to USBDescriptor, use it in the descriptor generator code. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
Add device qualifier substruct to USBDescriptor, use it in the descriptor generator code. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-