History | View | Annotate | Download (78.2 kB)
Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140227' into staging
Several features, fixes and cleanups for kvm/s390:
- sclp event facility: cleanup structure. This allows to use realize/unrealize as well as migration support via vmsd...
s390x/kvm: implement floating-interrupt controller device
This patch implements a floating-interrupt controller device (flic)which interacts with the s390 flic kvm_device.
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>...
kvm: Common device control API functions
Introduces two simple functions: int kvm_device_ioctl(int fd, int type, ...); int kvm_create_device(KVMState *s, uint64_t type, bool test);
These functions wrap the basic ioctl-based interactions with KVM in a...
trace-events: Fix typo in "offset"
s/offet/offset/
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Reviewed-by: Fam Zheng <famz@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()
n_start can be actually calculated from offset. The number ofsectors to be allocated(n_end - n_start) can be passed in innum. By removing n_start and n_end, we can save two parameters.
The side effect is there is a bug in qcow2.c:preallocate() that...
usb: add support for microsoft os descriptors
This patch adds support for special usb descriptors used by microsoftwindows. They allow more fine-grained control over driver binding andadding entries to the registry for configuration.
As this is a guest-visible change the "msos-desc" compat property...
Merge remote-tracking branch 'stefanha/block' into staging
Merge remote-tracking branch 'kraxel/tags/pull-usb-1' into staging
Improvements for usb3 bulk stream (usb core, xhci).Bugfixes for uas emulation.Add remote wakeup support for ehci.Add suspend support for xhci.Misc minor tweaks and fixes.
block: add flags argument to bdrv_co_write_zeroes tracepoint
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Peter Lieven <pl@kamp.de>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block: add bdrv_aio_write_zeroes
This will be used by the SCSI layer.
raw-posix: implement write_zeroes with MAY_UNMAP for files
Writing zeroes to a file can be done by punching a hole ifMAY_UNMAP is set.
Note that in this case ENOTSUP is not ignored, but makesthe block layer fall back to the generic implementation.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>...
console: Replace conditional debug messages by trace methods
Signed-off-by: Stefan Weil <sw@weilnetz.de>Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
gtk: Replace conditional debug messages by trace methods
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
ehci: implement port wakeup
Update portsc register and raise irq in case a suspendedport is woken up, so remote wakeup works on our ehci ports.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
trace-events: Clean up after removal of old usb-host code
Commit b5613fd neglected to drop the trace events along with the code.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Merge remote-tracking branch 'mjt/trivial-patches' into staging
trace-events: Clean up with scripts/cleanup-trace-events.pl again
Event qxl_render_blit_guest_primary_initialized is unused since commitc58c7b9, drop it.
Commit 42e5b4c moved hw/ppc/xics.c to hw/intc/xics.c without updatingthe comment in trace-events....
kvm: fix traces to use %x instead of %d
KVM request types are normally defined using hex constants but QEMU tracesprint decimal values instead, which is not very convenient.
This changes the request type format from %d to %x.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>...
qxl: trace io port name
Merge remote-tracking branch 'kraxel/usb.88' into staging
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 <mst@redhat.com>
usb-hub: add tracepoint for status reports
xhci: add tracepoint for endpoint state changes
xhci: add port to slot_address tracepoint
PPC: spapr: iommu: rework traces
This converts old style fprintf to traces.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>[agraf: change patch subject]Signed-off-by: Alexander Graf <agraf@suse.de>
pci: add config space access traces
This adds pci_cfg_read and pci_cfg_write traces for config spacesaccesses.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
memory: add tracepoints for MMIO reads/writes
This is quite handy to debug softmmu targets.
Reviewed-by: Andreas Faerber <afaerber@suse.de>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Message-id: 1375016242-32651-1-git-send-email-pbonzini@redhat.com...
Xen PV Device
Introduces a new Xen PV PCI device which will act as a binding point forPV drivers for Xen.The device has parameterized vendor-id, device-id and revision to allow tobe configured as a binding point for any vendor's PV drivers.
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>...
trace-events: Drop unused events
Dropped event Unused sincemirror_cow 884fea4paio_complete 47e6b25paio_cancel 47e6b25usb_ehci_data 0ce668b...
trace-events: Fix up source file comments
They're all wrong since (at least) Paolo's big source treereorganization. Need to shuffle some event declarations around tokeep them under the correct source file comment.
Signed-off-by: Markus Armbruster <armbru@redhat.com>...
Force auto-convegence of live migration
If a user chooses to turn on the auto-converge migration capabilitythese changes detect the lack of convergence and throttle down theguest. i.e. force the VCPUs out of the guest for some durationand let the migration thread catchup and help converge....
block: add basic backup support to block driver
backup_start() creates a block job that copies a point-in-time snapshotof a block device to a target block device.
We call backup_do_cow() for each write during backup. That functionreads the original data from the block device before it gets...
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
exec: eliminate qemu_put_ram_ptr
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
coroutine: stop using AioContext in CoQueue
qemu_co_queue_next(&queue) arranges that the next queued coroutine isrun at a later point in time. This deferred restart is useful becausethe caller may not want to transfer control yet.
This behavior was implemented using QEMUBH in the past, which meant that...
osdep: fix qemu_anon_ram_free trace (+ fix compilation on 32 bit hosts)
Commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707 added a trace at eachmemory freeing, but unfortunately inverted size and pointer when printingthem. Fix trace.
This also led to a compilation error on 32 bit hosts:...
osdep, kvm: rename low-level RAM allocation functions
This is preparatory to the introduction of a separate freeing API.
Reported-by: Amos Kong <akong@redhat.com>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Amos Kong <akong@redhat.com>...
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 modifyqemu_vfree() to do a munmap() over free(). Which we cannot dobecause qemu_vfree() frees memory allocated by qemu_{mem,block}align....
qom: trace asserting casts
This provides a way to detect the cast that leads to a (reproducible)crash even when QOM cast debugging is disabled.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Message-id: 1368188203-3407-6-git-send-email-pbonzini@redhat.com...
kvm-all: add kvm_run_exit tracepoint
This patch enable us to know exit reason of KVM_RUN. It will help usknow where the trouble is caused.
Signed-off-by: Kazuya Saito <saito.kazuya@jp.fujitsu.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints
This patch adds tracepoints at ioctl to kvm. Tracing these ioctl isuseful for clarification whether the cause of troubles is qemu or kvm.
Signed-off-by: Kazuya Saito <saito.kazuya@jp.fujitsu.com>...
pvscsi: fix compilation on 32 bit hosts
This fixes the following error:In file included from qemu/include/trace.h:4:0, from trace/generated-events.c:3:./trace/generated-tracers.h: In function ‘trace_pvscsi_get_sg_list’:./trace/generated-tracers.h:4271:9: error: format ‘%lu’ expects argument of...
usb: better speed mismatch error reporting
Report the supported speeds for device and port in the error message.Also add the speeds to the tracepoint. And while being at it dropthe redundant error message in usb_desc_attach, usb_device_attach willreport the error anyway....
scsi: VMWare PVSCSI paravirtual device implementation
Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>Signed-off-by: Yan Vugenfirer <yan@daynix.com>[ Rename files to vmw_pvscsi, fix setting of hostStatus in pvscsi_request_cancelled - Paolo ]Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Merge remote-tracking branch 'kraxel/usb.80' into staging
use libusb for usb-host
Reimplement usb-host on top of libusb.Reasons to do this:
(1) Largely rewritten from scratch, nice opportunity to kill historical cruft. (2) Offload usbfs handling to libusb. (3) Have a single portable code base instead of bsd + linux variants....
xhci: fix portsc writes
Check for port reset first and skip everything else then.Add sanity checks for PLS updates.Add PLC notification when entering PLS_U0 state.
This gets host-initiated port resume going on win8.
console: gui timer fixes
Make gui update rate adaption code in gui_update() actually work.Sprinkle in a tracepoint so you can see the code at work. Removethe update rate adaption code in vnc and make vnc simply use thegeneric bits instead.
hw/vmware_vga.c: add tracepoints for mmio reads+writes
hw/vmware_vga.c: various vmware vga fixes.
Hardcode depth to 32 bpp. It effectively was that way before becausethat is the default surface depth, this just makes it explicit in thecode.
Rename depth to new_depth to make it consistent with the new_width +...
console: add trace events
xhci: remove unimplemented printfs
Replace them with a tracepoint, so they don't spam stderr by default.
vl: add runstate_set tracepoint
This patch enables us to know RunState transition. It will be userfulfor investigation when the trouble occured in special event such likelive migration, shutdown, suspend, and so on.
qcow2: Factor out handle_alloc()
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
qcow2: Factor out handle_copied()
console: fix displaychangelisteners interface
Split callbacks into separate Ops struct. Pass DisplayChangeListenerpointer as first argument to all callbacks. Uninline a bunch ofdisplay functions and move them from console.h to console.c
console: rework DisplaySurface handling [vga emu side]
Decouple DisplaySurface allocation & deallocation from DisplayState.Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surfacefunction.
This handles the graphic hardware emulation.
threadpool: move globals into struct ThreadPool
Move global variables into a struct so multiple thread pools can besupported in the future.
This patch does not change thread-pool.h interfaces. There is still aglobal thread pool and it is not yet possible to create/destroy...
Add search path support for qemu data files.
This patch allows to specify multiple directories where qemu should lookfor data files. To implement that the behavior of the -L switch isslightly different now: Instead of replacing the data directory the...
migration: add migrate_set_state tracepoint
Signed-off-by: Kazuya Saito <saito.kazuya@jp.fujitsu.com>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Juan Quintela <quintela@redhat.com>
scsi: do not call scsi_read_data/scsi_write_data for a canceled request
Cc: qemu-stable@nongnu.orgSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>
usb-xhci: usb3 streams
Add streams support to the xhci emulation. No secondary streams yet,only linear stream arays are supported for now.
s390: Add channel I/O instructions.
Provide handlers for (most) channel I/O instructions.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>Signed-off-by: Alexander Graf <agraf@suse.de>
s390: Virtual channel subsystem support.
Provide a mechanism for qemu to provide fully virtual subchannels tothe guest.
s390: Add new channel I/O based virtio transport.
Add a new virtio transport that uses channel commands to performvirtio operations.
mirror: support more than one in-flight AIO operation
With AIO support in place, we can start copying more than one chunkin parallel. This patch introduces the required infrastructure forthis: the buffer is split into multiple granularity-sized chunks,...
mirror: support arbitrarily-sized iterations
Yet another optimization is to extend the mirroring iteration to include moreadjacent dirty blocks. This limits the number of I/O operations and makesmirroring efficient even with a small granularity. Most of the infrastructure...
mirror: switch mirror_iteration to AIO
There is really no change in the behavior of the job here, sincethere is still a maximum of one in-flight I/O operation betweenthe source and the target. However, this patch already introducesthe AIO callbacks (which are unmodified in the next patch)...
block: implement dirty bitmap using HBitmap
This actually uses the dirty bitmap in the block layer, and convertsmirroring to use an HBitmapIter.
Reviewed-by: Laszlo Ersek <lersek@redhat.com> (except block/mirror.c parts)Reviewed-by: Eric Blake <eblake@redhat.com>...
mirror: perform COW if the cluster size is bigger than the granularity
When mirroring runs, the backing files for the target may not yet beready. However, this means that a copy-on-write operation on the targetwould fill the missing sectors with zeros. Copy-on-write only happens...
add hierarchical bitmap data type and test cases
HBitmaps provides an array of bits. The bits are stored as usual in anarray of unsigned longs, but HBitmap is also optimized to provide fastiteration over set bits; going from one bit to the next is O(logB n)...
qxl: stop using non revision 4 rom fields for revision < 4
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
fw_cfg: Use void *, size_t instead of uint8_t *, uint32_t for blobs
Many callers pass size_t, which gets silently truncated to uint32_t.Harmless, because all practical sizes are well below 4GiB. Clean itup anyway. Size overflow now fails assertions....
fw_cfg: Replace debug prints by tracepoints
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Merge branch 'master' of git://git.qemu.org/qemu into prep-up
Conflicts: hw/Makefile.objs hw/ppc_prep.c
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
uhci: stop using portio lists
dataplane: add virtio-blk data plane code
virtio-blk-data-plane is a subset implementation of virtio-blk. It onlyhandles read, write, and flush requests. It does this using a dedicatedthread that executes an epoll(2)-based event loop and processes I/O...
dataplane: add virtqueue vring code
The virtio-blk-data-plane cannot access memory using the usual QEMUfunctions since it executes outside the global mutex and the memory APIsare this time are not thread-safe.
This patch introduces a virtqueue module based on the kernel's vhost...
spice-qemu-char: add spiceport chardev
Add a new spice chardev to allow arbitrary communication between thehost and the Spice client via the spice server.
Examples:
This allows the Spice client to have a special port for the qemumonitor:
... -chardev spiceport,name=org.qemu.monitor,id=monitorport...
pseries: Add tracepoints to the XICS interrupt controller
This patch adds tracing / debugging calls to the XICS interrupt controllerimplementation used on the pseries machine.
Signed-off-by: Ben Herrenschmidt <benh@kernel.crashing.org>Signed-off-by: David Gibson <david@gibson.dropbear.id.au>...
ehci: handle dma errors
Starting with commit 1c380f9460522f32c8dd2577b2a53d518ec91c6d dmatransfers can actually fail. This patch makes ehci keep trackof the busmaster bit in pci config space, by setting/clearing thedma_context pointer. Attempts to dma without context will result...
usb-host: update tracing
Now that we have separate status and length fields in USBPacketupdate the completion tracepoint to log both.
hw/qxl: qxl_send_events: nop if stopped
Added a trace point for easy logging.
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=870972
Merge remote-tracking branch 'kraxel/usb.69' into staging
xhci: add port trace points
Merge remote-tracking branch 'origin/master' into threadpool
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
aio: add generic thread-pool facility
Add a generic thread-pool. The code is roughly based on posix-aio-compat.c,with some changes, especially the following:
- use QemuSemaphore instead of QemuCond;
- separate the state of the thread from the return code of the worker...
Merge remote-tracking branch 'kraxel/usb.68' into staging
uhci: Verify queue has not been changed by guest
According to the spec a guest can unlink a qh, and then as soon as frindexhas changed by 1 since the unlink, assume it is idle and re-use it. Howeverfor various reasons, we cannot simply consider a qh as unlinked if we've not...
block: add block-job-complete
While streaming can be dropped as soon as it progressed through the wholeimage, mirroring needs to be completed manually for two reasons: 1) so thatmanagement knows exactly when the VM switches to the target; 2) becausefor other use cases such as replication, we may leave the operation running...
mirror: introduce mirror job
This patch adds the implementation of a new job that mirrors a disk toa new image while letting the guest continue using the old image.The target is treated as a "black box" and data is copied from thesource to the target in the background. This can be used for several...
ram: create trace event for migration sync bitmap
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
qmp: add block-job-pause and block-job-resume
Add QMP commands matching the functionality.
Paused jobs cannot be canceled without first resuming them. Thisensures that I/O errors are never missed by management. However, anoptional force argument can be specified to allow that....
blockdev: rename block_stream_cb to a generic block_job_cb
Signed-off-by: Jeff Cody <jcody@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block: add live block commit functionality
This adds the live commit coroutine. This iteration focuses on thecommit only below the active layer, and not the active layer itself.
The behaviour is similar to block streaming; the sectors are walkedthrough, and anything that exists above 'base' is committed back down...
Merge branch 'usb.65' of git://git.kraxel.org/qemu
hw/qxl: support client monitor configuration via device
Until now we used only the agent to change the monitor count and eachmonitor resolution. This patch introduces the qemu part of using thedevice as the mediator instead of the agent via virtio-serial....
hw/qxl: tracing fixes
Add two new trace events:qxl_send_events(int qid, uint32_t events) "%d %d" qxl_set_guest_bug(int qid) "%d"
Change qxl_io_unexpected_vga_mode parameters to be equivalent to thoseof qxl_io_write for easier grouping under a single systemtap probe....
qxl: add trace-event for QXL_IO_LOG