History | View | Annotate | Download (50.8 kB)
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.
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
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.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
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.
Merge remote-tracking branch 'kwolf/for-anthony' into staging
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>
console: add some trace events
usb: add tracepoint for usb packet state changes.
jazz-led: use trace framework
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
block: add .bdrv_co_write_zeroes() interface
The ability to zero regions of an image file is a useful primitive forhigher-level features such as image streaming or zero write detection.
Image formats may support an optimized metadata representation instead...
qed: replace is_write with flags field
Per-request attributes like read/write are currently implemented as boolfields in the QEDAIOCB struct. This becomes unwiedly as the number ofattributes grows. For example, the qed_aio_setup() function would have...
GRLIB UART: Add RX channel
This patch implements the RX channel of GRLIB UART with a FIFO toimprove data rate.
Signed-off-by: Fabien Chouteau <chouteau@adacore.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
qmp: add block_job_cancel command
Add block_job_cancel, which stops an active block streaming operation.When the operation has been cancelled the new BLOCK_JOB_CANCELLED eventis emitted.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Acked-by: Luiz Capitulino <lcapitulino@redhat.com>...
virtio-blk: add virtio_blk_handle_read trace event
There already exists a virtio_blk_handle_write trace event as well ascompletion events. Add the virtio_blk_handle_read event so it's easy totrace virtio-blk requests for both read and write operations....
qmp: add block_stream command
Add the block_stream command, which starts copy backing file contentsinto the image file. Also add the BLOCK_JOB_COMPLETED QMP event whichis emitted when image streaming completes. Later patches add controlover the background copy speed, cancelation, and querying running...
block: make copy-on-read a per-request flag
Previously copy-on-read could only be enabled for all requests to ablock device. This means requests coming from the guest as well asQEMU's internal requests would perform copy-on-read when enabled.
For image streaming we want to support finer-grained behavior than just...
block: add image streaming block job
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
apic: Introduce apic_report_irq_delivered
The in-kernel i8259 and IOAPIC backends for KVM will need this, soencapsulate the shared bits.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
usb: track altsetting in USBDevice
Also handle {GET,SET}_INTERFACE in common code (usb-desc.c).
Merge remote-tracking branch 'qemu-kvm/memory/page_desc' into staging
xen: convert to MemoryListener API
Signed-off-by: Avi Kivity <avi@redhat.com>
hw/9pfs: Use the correct signed type for different variables
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
block: bdrv_aio_* do not return NULL
Initially done with the following semantic patch:
rule1 expression E;statement S;@@ E =( bdrv_aio_readv | bdrv_aio_writev | bdrv_aio_flush | bdrv_aio_discard | bdrv_aio_ioctl) (...);(- if (E == NULL) { ... }...
rule1
block: core copy-on-read logic
dma-helpers: Add trace events
Conflicts: block/vmdk.c
hw/9pfs: Make VirtFS tracing work correctly
this patch fix multiple issues with VirtFS tracing.a) Add tracepoint to the correct code path. We handle error in complete_pdub) Fix indentation in python scriptc) Fix variable naming issue in python script...
scsi: do not call transfer_data after canceling a request
Otherwise, if cancellation is "faked" by the AIO layer and goesthrough qemu_aio_flush, the whole request is completed synchronouslyduring scsi_req_cancel.
Using the enqueued flag would work here, but not in the next patches,...
iSCSI block driver
This provides built-in support for iSCSI to QEMU.
This has the advantage that the iSCSI devices need not be made visible to the host, which is useful if you have very many virtual machines and very many iscsi devices.It also has the benefit that non-root users of QEMU can access iSCSI devices across the network without requiring root privilege on the host....
Sparc: convert win_helper to trace framework
Reviewed-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Sparc: convert interrupt helpers to trace framework
Sparc: convert mmu_helper to trace framework
block: add bdrv_co_discard and bdrv_aio_discard support
This similarly adds support for coroutine and asynchronous discard.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/9pfs: Fix broken compilation caused by wrong trace events
Commit c572f23a3e7180dbeab5e86583e43ea2afed6271 added trace eventswith mismatching format string and arguments.
gcc reports these errors:
In file included from trace.c:2:0:trace.h: In function ‘trace_v9fs_attach’:...
Merge remote-tracking branch 'aneesh/for-upstream-6' into staging
Conflicts: trace-events
hw: add OpenCores 10/100 Mbps Ethernet controller
This is OpenCores Ethernet MAC + subset of National SemiconductorsDP83838C PHY.OpenCores Ethernet MAC project: http://opencores.org/project,ethmac
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/9pfs: Introduce tracing for 9p pdu handlers
Plan is to replace the existing debug infrastructure with Qemu tracinginfrastructure so that user can dynamically enable/disable trace events andtherefore a meaningful trace log can be generated which can be further...
Merge branch 'for-upstream' of git://git.serverraum.org/git/mw/qemu-lm32
milkymist_uart: support new core version
The new version of the uart core introduces status and control bits.
Signed-off-by: Michael Walle <michael@walle.cc>
trace: add arguments to bdrv_co_io_em() trace event
It is useful to know the BlockDriverState as well as thesector_num/nb_sectors of an emulated .bdrv_co_*() request.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
trace: trace monitor qmp dispatch/completion
Add trace events for handle_qmp_command(), which dispatches qmpcommands, and monitor_protocol_emitter(), which produces the reply to aqmp command.
Also remove duplicate #include "trace/control.h".
trace: trace bdrv_open_common()
bdrv_open_common() is a useful point to trace since it reveals thefilename and block driver for a given BlockDriverState.
ESP: convert to trace framework
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
fix compilation with stderr trace backend
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
trace: add virtio_set_status() trace event
The virtio device lifecycle can be observed by looking at the sequenceof set status operations. This is especially important for catching thereset operation (status value 0), which resets the device and allvirtqueues....
trace: remove trailing double quotes after PRI*64
Now that format strings can end in a PRI*64 macro, remove theworkarounds from the trace-events file.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
trace: remove newline from grlib_irqmp_check_irqs format string
There is no need to put a newline in trace event format strings. Thebackend may use the format string within some context and takes care ofhow to display the event. The stderr backend automatically appends "\n"...
block: Rename bdrv_set_locked() to bdrv_lock_medium()
While there, make the locked parameter bool.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
mipsnet: use trace framework
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
usb: claim port at device initialization time.
This patch makes qemu assign a port when creating the device, not whenattaching it. For most usb devices this isn't a noticable differencebecause they are in attached state all the time.
The change affects usb-host devices which live in detached state while...
usb-ehci: handle siTDs
This patch adds code to do minimal siTD handling, which is basicallyjust following the next pointer. This is good enougth to handle theinactive siTDs used by FreeBSD. Active siTDs are skipped too as wedon't have split transfer support in qemu, additionally a warning is...
usb-host: claim port
When configured to pass through a specific host port (using hostbus andhostport properties), try to claim the port if supported by the kernel.That will avoid any kernel drivers binding to devices plugged into thatport. It will not stop any userspace apps (such as usb_modeswitch)...
usb-host: start tracing support
Add a bunch of trace points to usb-linux.c Drop a bunch of DPRINTK's infavor of the trace points. Also cleanup error reporting a bit while beingat it.
rename qemu_malloc and related to glib names for coherence
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Frediano Ziglio <freddy77@gmail.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
trace: [simple] disable all trace points by default
Note that this refers to the backend-specific state (whether the output must begenerated), not the event "disabled" property (which always uses the "nop" backend).
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
trace: enable all events
Given that all events with programmatically-controlled state are disabled bydefault, we can delete the "disable" property from all events.
g364fb: use trace framework
target-i386: Remove unused polarity arguments from APIC API
Polarity of external interrupts needs to be handled in the IOAPIC.Passing it to the APIC is pointless. So remove all these arguments.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
escc: replace DPRINTFs with tracepoints
scsi: add special traces for common commands
Can be useful when debugging the device scan phase.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
scsi: move sense handling to generic code
With this patch, sense data is stored in the generic data structuresfor SCSI devices and requests. The SCSI layer takes care of storingsense data in the SCSIDevice for the subsequent REQUEST SENSE command.
At the same time, get_sense is removed and scsi_req_get_sense can use...
block: Add bdrv_co_readv/writev
Add new block driver callbacks bdrv_co_readv/writev, which work on aQEMUIOVector like bdrv_aio_*, but don't need a callback. The function may onlybe called inside a coroutine, so a block driver implementing this interface can...
block: Add bdrv_co_readv/writev emulation
In order to be able to call bdrv_co_readv/writev for drivers that don'timplement the functions natively, add an emulation that uses the AIO functionsto implement them.
coroutines: Locks
coroutine: introduce coroutines
Asynchronous code is becoming very complex. At the same timesynchronous code is growing because it is convenient to write.Sometimes duplicate code paths are even added, one synchronous and theother asynchronous. This patch introduces coroutines which allow code...
usb-ehci: trace: rename "next" to "nxt".
"next" is reserved in systemtap thus using this as atrace parameter name causes trouble when trying to tracewith systemtap.
ds1225y: use trace framework
Merge remote-tracking branch 'agraf/xen-next' into staging
virtio-serial-bus: Add trace events
Add some trace events for messages passed between the guest and host.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
virtio-console: Add some trace events
Add some trace events for messages passed between the char layer and thevirtio-serial bus.
xen: Clean up map cache API naming
The map cache is a Xen thing, so its API should make this clear.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Alexander Graf <agraf@suse.de>
xen: Add the Xen platform pci device
Introduce a new emulated PCI device, specific to fully virtualized Xenguests. The device is necessary for PV on HVM drivers to work.
Signed-off-by: Steven Smith <ssmith@xensource.com>Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>...
xen: Introduce VGA sync dirty bitmap support
This patch introduces phys memory client for Xen.
Only sync dirty_bitmap and set_memory are actually implemented.migration_log will stay empty for the moment.
Xen can only log one range for bit change, so only the range in the...
usb-ehci: itd handling fixes.
This patch fixes a bunch of issues in the itd descriptor handling.Most important fix is to handle transfers which cross page borderscorrectly by looking up the address of the next page. Luckily thelinux uses physically contigous memory so the data used to hits the...
usb-ehci: split trace calls to handle arg count limits
usb-ehci: multiqueue support
This patch adds support for keeping multiple queues going at the sametime. One slow device will not affect other devices any more.
The patch adds code to manage EHCIQueue structs. It also does a numberof changes to the state machine:...
usb-ehci: trace buffer copy
Add a trace point for buffer copies and drop the DPRINTF's.
No change in behavior.
usb-ehci: trace mmio and usbsts
This patch starts adding trace support to ehci. It tracesupdates of the status register (USBSTS), mmio access andcontroller reset.
It also adds functions to set and clear status register bitsand puts them in use everywhere....
usb-ehci: trace state machine changes
Add functions to get and set the current state of the state machine,add tracepoints there to trace state transitions. Add support fortraceing the queue heads and transfer descriptors as we look at them.
Drop a few DPRINTFs and all DPRINTF_ST lines, they are obsolete now....
usb-ehci: trace port state
Trace usb port operations (attach, detach, reset),drop a few obsolete DPRINTF's.
usb-ehci: improve mmio tracing
Add a separate tracepoint to log how register values change in responseto a mmio write. Especially useful for registers which have read-onlyor clear-on-write bits in them.
scsi: fix tracing of scsi requests with simple backend
The simple backend only supports a maximum of 6 arguments. Split thescsi_req_parsed event in two parts to cope with the limit.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
scsi: introduce scsi_req_continue
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Cc: Christoph Hellwig <hch@lst.de>
scsi: add tracing of scsi requests
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Christoph Hellwig <hch@lst.de>
scsi: introduce scsi_req_data
This abstracts calling the command_complete callback, reducing churnin the following patches.
qed: Periodically flush and clear need check bit
One strategy to limit the startup delay of consistency check whenopening image files is to ensure that the file is marked dirty for aslittle time as possible.
QED currently marks the image dirty when the first allocating write...