History | View | Annotate | Download (71.3 kB)
usb-xhci: usb3 streams
Add streams support to the xhci emulation. No secondary streams yet,only linear stream arays are supported for now.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
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
ehci: switch to new-style memory ops
Also register different memory regions for capabilities,operational registers and port status registers. Createseparate tracepoints for operational regs and port statusregs. Ditch a bunch of sanity checks because the memory...
xhci: add msix support
xhci: add XHCIInterrupter
Move all state belonging to the (single) interrupter into a separatestruct. First step in adding support for multiple interrupters.
xhci: drop buffering
This patch splits the xhci_xfer_data function into three.The xhci_xfer_data function used to do does two things:
(1) copy transfer data between guest memory and a temporary buffer. (2) report transfer results to the guest using events....
xhci: trace cc codes in cleartext
xhci: add trace_usb_xhci_ep_set_dequeue
usb3: bos decriptor
Add support for creating BOS descriptor anddevice cappability descriptors.
ehci: trace guest bugs
make qemu_queue_{cancel,reset} return the number of packets released,so the caller can figure whenever there have been active packets eventhough there shouldn't have been any. Add tracepoint to log this.
ehci: add doorbell trace events
qxl: add QXL_IO_MONITORS_CONFIG_ASYNC
Revision bumped to 4 for new IO support, enabled for spice-server >=0.11.1. New io enabled if revision is 4. Revision can be set to 4.
[ kraxel: 3 continues to be the default revision. Once we have a new stable spice-server release and the qemu patches to enable...
prep: Add pc87312 Super I/O emulation
This provides floppy and IDE controllers as well as serial and parallelports. However, dynamic configuration of devices is not yet supported.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>[AF: QOM'ify, split out header, create CharDriverState if absent]...
pseries: Add trace event for PCI irqs
This adds a trace event in the pseries PCI specific set_irq() function toassist in debugging.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>Signed-off-by: David Gibson <david@gibson.dropbear.id.au>[agraf: add trace.h include]...
pseries: Add PCI MSI/MSI-X support
This patch implements MSI and MSI-X support for the pseries PCI hostbridge. To do this it adds:
scsi: establish precedence levels for unit attention
When a device is resized, we will report a unit attention conditionfor CAPACITY DATA HAS CHANGED. However, we should ensure that thiscondition does not override a more important unit attention condition....
scsi: add tracepoint for scsi_req_cancel
megasas: Replace trace_megasas_dcmd_dump_frame()
trace_megasas_dcmd_dump_frame() takes 9 arguments, which israther much. Plus the trace infrastructure doesn't supportit. As we can get the information via other means it's pointlessto have it in the driver, so rather use some proper trace...
Merge remote-tracking branch 'kwolf/for-anthony' into staging
Merge remote-tracking branch 'kraxel/usb.57' into staging
hd-geometry: Add tracepoints
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hd-geometry: Switch to uint32_t to match BlockConf
Best to use the same type, to avoid unwanted truncation or signextension.
BlockConf can't use plain int for cyls, heads and secs, becauseinteger properties require an exact width.
Signed-off-by: Markus Armbruster <armbru@redhat.com>...
esp: add AMD PCscsi emulation (PCI SCSI adapter)
The PCI version is supported in lots of Operating Systems,and has been successfully tested on:- MS DOS 6.22 (using DC390 driver)- MS Windows 3.11 (using DC390 driver)- MS Windows 98 SE (using default driver)...
esp: use trace framework instead of stderr output
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
esp: implement Reset ATN command
esp: implement Disable selection command
ehci: implement Interrupt Threshold Control support
Also reorganize and comment the irq functions while being at it.
usb: add usb attached scsi emulation
$subject says all. First cut.
It's a pure UAS (usb attached scsi) emulation, without BOT (bulk-onlytransport) compatibility. If your guest can't handle it use usb-storageinstead.
The emulation works like any other scsi hba emulation (eps, lsi, virtio,...
Merge remote-tracking branch 'quintela/migration-anthony-v2' into staging
Merge remote-tracking branch 'kraxel/usb.55' into staging
usb-host: add trace events for iso xfers
Replace iso transfer fprintf's with trace points. Also rename existingtracepoints so they all match usb_host_iso_*.
megasas: LSI Megaraid SAS HBA emulation
This patch adds an emulation for the LSI Megaraid SAS 8708EM2 HBA.I've tested it to work with Linux, Windows Vista, and Windows7.
Signed-off-by: Hannes Reinecke <hare@suse.de>[ Squashed trivial changes from Andreas Faerber, rebased over IOMMU...
Add tracepoints for savevm section start/end
This allows to know how long each section takes to save.
An awk script like this tells us sections that takes more that 10ms
$1 ~ /savevm_state_iterate_end/ { /* Print savevm_section_end line when > 10ms duration */...
ehci: tracing improvements
Add rate limiting of RTC_CHANGE, BALLOON_CHANGE & WATCHDOG events
Allow certain event types to be rate limited to avoid floodingmonitor clients. The monitor_protocol_event() method is changedsuch that instead of immediately emitting the event to Monitor...
xhci: trace: ring fetch
xhci: trace: endpoints
xhci: trace: transfers
xhci: trace: slots
ehci: add EHCIPacket
Add a separate EHCIPacket struct and move fields over from EHCIQueue.Preparing for supporting multiple packets per queue being in flight atthe same time. No functional changes yet.
Fix some codestyle issues along the way.
xhci: trace: mmio reads+writes
xhci: trace: run+stop
xhci: trace: irq + events
uhci: fix bandwidth management
uhci_process_frame() can be invoked multiple times per frame, soaccounting usb bandwith in a local variable doesn't fly, use a variablein UHCIState instead. Also check the limit more frequently.
uhci: fix trace format strings
ISCSI: Switch to using READ16/WRITE16 for I/O to the LUN
This allows using LUNs bigger than 2TB. Keep using READ10 for otherdevice types such as MMC.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Merge remote-tracking branch 'spice/spice.v52' into staging
trace-events: remove unused qxl_vga_ioport_while_not_in_vga_mode
The resulting stp file fails to load because of an unresolvable probe.
usb-host: rewrite usb_linux_update_endp_table
This patch carries a complete rewrite of the usb descriptor parser.Changes / improvements:
usb-host: trace emulated requests
Add tracepoint to track completion of emulated control requests.
usb-host: trace canceled requests
Add tracepoints to track canceled requests.
usb-host: add usb packet to request tracepoints
Add pointer to USBPacket to all tracepoints tracking requests to make iteasier to identify them when multiple requests are in flight.
usb-hub: add tracepoints
Add tracepoints to the usb hub emulation.
trace-events: Rename 'next' argument
'next' is a systemtap keyword, so it's a bad idea to use it as anargument name.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
trace-events: Fix broken build caused by wrong format specifier
mem is an uint64_t value, so %lx was wrong.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
qxl: switch qxl.c to trace-events
dprint is still used for qxl_init_common one time prints.
also switched parts of spice-display.c over, mainly all the callbacks tospice server.
All qxl device trace events start with the qxl device id.
Signed-off-by: Alon Levy <alevy@redhat.com>...
qxl/qxl_render.c: add trace events
Signed-off-by: Alon Levy <alevy@redhat.com>Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
usb: the big rename
Reorganize usb source files. Create a new hw/usb/ directory and moveall usb source code to that place. Also make filenames a bit moredescriptive. Host adapters are prefixed with "hch-" now, usb deviceemulations are prefixed with "dev-". Fixup paths Makefile and include...
usb: improve packet state sanity checks
Add a new function to check whenever the packet state is as expected,log more informations in case it isn't.
uhci: tracing support
Zap DPRINTF, add tracepoints instead.
qcow2: Reduce number of I/O requests
If the first part of a write request is allocated, but the second isn'tand it can be allocated so that the resulting area is contiguous, handleit at once. This is a common case for sequential writes.
After this patch, alloc_cluster_offset() only checks if the clusters are...
qcow2: Add some tracing
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
vga: add trace event for ppm_save
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>