#
db0da029 |
| 10-Mar-2016 |
Alex Williamson <alex.williamson@redhat.com> |
vfio: Generalize region support
Both platform and PCI vfio drivers create a "slow", I/O memory region with one or more mmap memory regions overlayed when supported by the device. Generalize this to
vfio: Generalize region support
Both platform and PCI vfio drivers create a "slow", I/O memory region with one or more mmap memory regions overlayed when supported by the device. Generalize this to a set of common helpers in the core that pulls the region info from vfio, fills the region data, configures slow mapping, and adds helpers for comleting the mmap, enable/disable, and teardown. This can be immediately used by the PCI MSI-X code, which needs to mmap around the MSI-X vector table.
This also changes VFIORegion.mem to be dynamically allocated because otherwise we don't know how the caller has allocated VFIORegion and therefore don't know whether to unreference it to destroy the MemoryRegion or not.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
show more ...
|
#
ed6128eb |
| 01-Mar-2016 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
# gpg: Signature made Tue 01 Mar 2016 15:48:04 GMT using RSA key ID 81AB73C8 # gpg: Good signature from "Stefan
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
# gpg: Signature made Tue 01 Mar 2016 15:48:04 GMT using RSA key ID 81AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>"
* remotes/stefanha/tags/tracing-pull-request: trace: Add a proper API to manage auto-generated events from the 'tcg' property trace: Add 'vcpu' event property to trace guest vCPU typedefs: Add CPUState trace: Add helper function to cast event arguments tcg: Move definition of type TCGv tcg: Add type for vCPU pointers trace: Remove unnecessary intermediate event copies trace: Extend API to manage event arguments vl: fix tracing initialization trace: use addresses instead of offsets in memory tracepoints trace: split subpage MMIOs into their own trace events. trace: docs: "simple" backend does support strings trace: drop trailing empty strings
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
Revision tags: ppc-for-2.6-20160225, qemu-kvm-rhev-2.3.0-31.el7_2.8, qemu-slof-20160223, vfio-update-20160219.1, qemu-kvm-0.12.1.2-2.489.el6, ppc-for-2.6-20160218 |
|
#
4779dc1d |
| 08-Feb-2016 |
Hollis Blanchard <hollis_blanchard@mentor.com> |
trace: use addresses instead of offsets in memory tracepoints
When memory_region_ops tracepoints are enabled, calculate and record the absolute address being accessed. Otherwise, we only get offsets
trace: use addresses instead of offsets in memory tracepoints
When memory_region_ops tracepoints are enabled, calculate and record the absolute address being accessed. Otherwise, we only get offsets into the memory region instead of addresses.
[Fixed "offset" -> "addr" in trace event format strings. --Stefan]
Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com> Message-id: 1454976185-30095-3-git-send-email-hollis_blanchard@mentor.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
23d92d68 |
| 08-Feb-2016 |
Hollis Blanchard <hollis_blanchard@mentor.com> |
trace: split subpage MMIOs into their own trace events.
Previously, a single MMIO could trigger the memory_region_ops tracepoint twice: once on its way into subpage ops, then later on its way into t
trace: split subpage MMIOs into their own trace events.
Previously, a single MMIO could trigger the memory_region_ops tracepoint twice: once on its way into subpage ops, then later on its way into the model's ops.
Also, the fields previously called "addr" are actually offsets into the memory region. Rename them to "offset" while we're editing the tracepoint definitions.
Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com> Message-id: 1454976185-30095-2-git-send-email-hollis_blanchard@mentor.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
Revision tags: qemu-kvm-1.5.3-108.el7, ppc-for-2.6-20160201, qemu-kvm-0.12.1.2-2.487.el6, ppc-for-2.6-20160129, qemu-kvm-0.12.1.2-2.479.el6_7.4, qemu-kvm-0.12.1.2-2.486.el6, ppc-for-2.6-20160125, qemu-kvm-0.12.1.2-2.485.el6, qemu-kvm-rhev-2.3.0-31.el7_2.7, qemu-kvm-1.5.3-105.el7_2.3, qemu-kvm-1.5.3-105.el7_2.2, qemu-kvm-1.5.3-107.el7, vfio-update-20160119.0, qemu-kvm-0.12.1.2-2.484.el6, qom-devices-for-peter, qemu-kvm-rhev-2.3.0-31.el7_2.6, qemu-kvm-1.5.3-106.el7, qemu-guest-agent-2.5.0-1.el7, qemu-kvm-rhev-2.5.0-1.el7 |
|
#
6411dd13 |
| 11-Jan-2016 |
Greg Kurz <gkurz@linux.vnet.ibm.com> |
trace: drop trailing empty strings
Also fix a typo in the virtio_balloon_handle_output() trace while here.
[The double-quoting was a limitation of the old tracetool.sh script. The modern tracetool.
trace: drop trailing empty strings
Also fix a typo in the virtio_balloon_handle_output() trace while here.
[The double-quoting was a limitation of the old tracetool.sh script. The modern tracetool.py script does not require double-quotes at the end of the line. See commit cf85cf8e972f3ad79f203be4edb7968d6e052293 ("trace: Format strings must begin/end with double quotes"). --Stefan]
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-id: 20160111173036.24764.59878.stgit@bahia.huguette.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
9c74a853 |
| 01-Mar-2016 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging
# gpg: Signature made Mon 29 Feb 2016 20:08:16 GMT using RSA key ID C0DE3057 # gpg: Good signature from "Jeffrey Cody
Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging
# gpg: Signature made Mon 29 Feb 2016 20:08:16 GMT using RSA key ID C0DE3057 # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>" # gpg: aka "Jeffrey Cody <jeff@codyprime.org>" # gpg: aka "Jeffrey Cody <codyprime@gmail.com>"
* remotes/cody/tags/block-pull-request: iotests/124: Add cluster_size mismatch test block/backup: avoid copying less than full target clusters block/backup: make backup cluster size configurable mirror: Add mirror_wait_for_io mirror: Rewrite mirror_iteration vhdx: Simplify vhdx_set_shift_bits() vhdx: DIV_ROUND_UP() in vhdx_calc_bat_entries() iscsi: add support for getting CHAP password via QCryptoSecret API curl: add support for HTTP authentication parameters rbd: add support for getting password from QCryptoSecret object sheepdog: allow to delete snapshot block/nfs: add support for setting debug level
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
e5b43573 |
| 04-Feb-2016 |
Fam Zheng <famz@redhat.com> |
mirror: Rewrite mirror_iteration
The "pnum < nb_sectors" condition in deciding whether to actually copy data is unnecessarily strict, and the qiov initialization is unnecessarily for bdrv_aio_write_
mirror: Rewrite mirror_iteration
The "pnum < nb_sectors" condition in deciding whether to actually copy data is unnecessarily strict, and the qiov initialization is unnecessarily for bdrv_aio_write_zeroes and bdrv_aio_discard.
Rewrite mirror_iteration to fix both flaws.
The output of iotests 109 is updated because we now report the offset and len slightly differently in mirroring progress.
Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-id: 1454637630-10585-2-git-send-email-famz@redhat.com Signed-off-by: Jeff Cody <jcody@redhat.com>
show more ...
|
#
35227e6a |
| 29-Feb-2016 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.6-20160229' into staging
ppc patch queue for 2016-02-29
Some more accumulated patches for target-ppc, pseries machine type and related d
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.6-20160229' into staging
ppc patch queue for 2016-02-29
Some more accumulated patches for target-ppc, pseries machine type and related devices to fit in before the qemu-2.6 soft freeze. * Mostly bugfixes and small cleanups for spapr and Mac platforms
# gpg: Signature made Mon 29 Feb 2016 06:56:34 GMT using RSA key ID 20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392
* remotes/dgibson/tags/ppc-for-2.6-20160229: xics: report errors with the QEMU Error API migration: allow machine to enforce configuration section migration spapr: skip configuration section during migration of older machines dbdma: warn when using unassigned channel spapr: disable vmdesc submission for old machines spapr_pci: fix irq leak in RTAS ibm,change-msi spapr_pci: kill useless variable in rtas_ibm_change_msi() spapr_rng: disable hotpluggability
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
a005b3ef |
| 26-Feb-2016 |
Greg Kurz <gkurz@linux.vnet.ibm.com> |
xics: report errors with the QEMU Error API
Using the return value to report errors is error prone: - xics_alloc() returns -1 on error but spapr_vio_busdev_realize() errors on 0 - xics_alloc_block
xics: report errors with the QEMU Error API
Using the return value to report errors is error prone: - xics_alloc() returns -1 on error but spapr_vio_busdev_realize() errors on 0 - xics_alloc_block() returns the unclear value of ics->offset - 1 on error but both rtas_ibm_change_msi() and spapr_phb_realize() error on 0
This patch adds an errp argument to xics_alloc() and xics_alloc_block() to report errors. The return value of these functions is a valid IRQ number if errp is NULL. It is undefined otherwise.
The corresponding error traces get promotted to error messages. Note that the "can't allocate IRQ" error message in spapr_vio_busdev_realize() also moves to xics_alloc(). Similar error message consolidation isn't really applicable to xics_alloc_block() because callers have extra context (device config address, MSI or MSIX).
This fixes the issues mentioned above.
Based on previous work from Brian W. Hart.
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
show more ...
|
#
df215b59 |
| 25-Feb-2016 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
vhost, virtio, pci, pc
Fixes all over the place. virtio dataplane migration support. Old q35 machine types removed.
Signed
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
vhost, virtio, pci, pc
Fixes all over the place. virtio dataplane migration support. Old q35 machine types removed.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# gpg: Signature made Thu 25 Feb 2016 11:16:46 GMT using RSA key ID D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>"
* remotes/mst/tags/for_upstream: (21 commits) q35: No need to check gigabyte_align q35: Remove unused q35-acpi-dsdt.aml file ich9: Remove enable_tco arguments from init functions machine: Remove no_tco field q35: Remove old machine versions tests/vhost-user-bridge: fix build on 32 bit systems vring: remove virtio-scsi: do not use vring in dataplane virtio-blk: do not use vring in dataplane virtio-blk: fix "disabled data plane" mode virtio: export vring_notify as virtio_should_notify virtio: add AioContext-specific function for host notifiers vring: make vring_enable_notification return void block-migration: acquire AioContext as necessary pci core: function pci_bus_init() cleanup pci core: function pci_host_bus_register() cleanup balloon: Use only 'pc-dimm' type dimm for ballooning virtio-balloon: rewrite get_current_ram_size() move get_current_ram_size to virtio-balloon.c vhost-user: don't merge regions with different fds ...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
fee089e4 |
| 14-Feb-2016 |
Paolo Bonzini <pbonzini@redhat.com> |
vring: remove
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Fam Zheng <famz@redh
vring: remove
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
c9f19dff |
| 09-Feb-2016 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
* switch to C11 atomics (Alex) * Coverity fixes for IPMI (Corey), i386 (Paolo), qemu-char (Paolo) * at long last, fail o
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
* switch to C11 atomics (Alex) * Coverity fixes for IPMI (Corey), i386 (Paolo), qemu-char (Paolo) * at long last, fail on wrong .pc files if -m32 is in use (Daniel) * qemu-char regression fix (Daniel) * SAS1068 device (Paolo) * memory region docs improvements (Peter) * target-i386 cleanups (Richard) * qemu-nbd docs improvements (Sitsofe) * thread-safe memory hotplug (Stefan)
# gpg: Signature made Tue 09 Feb 2016 16:09:30 GMT using RSA key ID 78C7AE83 # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>"
* remotes/bonzini/tags/for-upstream: (33 commits) qemu-char, io: fix ordering of arguments for UDP socket creation MAINTAINERS: add all-match entry for qemu-devel@ get_maintainer.pl: fall back to git if only lists are found target-i386: fix PSE36 mode docs/memory.txt: Improve list of different memory regions ipmi_bmc_sim: Add break to correct watchdog NMI check ipmi_bmc_sim: Fix off by one in check. ipmi: do not take/drop iothread lock target-i386: Deconstruct the cpu_T array target-i386: Tidy gen_add_A0_im target-i386: Rewrite leave target-i386: Rewrite gen_enter inline target-i386: Use gen_lea_v_seg in pusha/popa target-i386: Access segs via TCG registers target-i386: Use gen_lea_v_seg in stack subroutines target-i386: Use gen_lea_v_seg in gen_lea_modrm target-i386: Introduce mo_stacksize target-i386: Create gen_lea_v_seg char: fix repeated registration of tcp chardev I/O handlers kvm-all: trace: strerror fixup ...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
Revision tags: ppc-for-2.6-20160111, qemu-kvm-0.12.1.2-2.483.el6, x86-next-pull-request, qemu-kvm-0.12.1.2-2.479.el6_7.3, v2.5.0, qemu-kvm-0.12.1.2-2.482.el6, v2.5.0-rc4, qemu-kvm-rhev-2.3.0-31.el7_2.5, v2.5.0-rc3, ppc-for-2.5-20151204, qemu-kvm-rhev-2.3.0-31.el7_2.4, qemu-kvm-rhev-2.3.0-31.el7_2_2.4, ppc-for-2.5-20151130, v2.5.0-rc2, v2.5.0-rc1, qemu-kvm-rhev-2.3.0-31.el7_2.3, qemu-kvm-rhev-2.3.0-31.el7_2.2, qemu-kvm-1.5.3-105.el7_2.1, qemu-kvm-rhev-2.1.2-23.el7_1.11, v2.5.0-rc0, ppc-next-20151112, ppc-next-20151111, vfio-update-20151110.0, qemu-kvm-rhev-2.3.0-31.el7_2.1, v2.4.1 |
|
#
e351b826 |
| 27-Oct-2015 |
Paolo Bonzini <pbonzini@redhat.com> |
hw: Add support for LSI SAS1068 (mptsas) device
This adds the SAS1068 device, a SAS disk controller used in VMware that is oldish but widely supported and has decent performance. Unlike megasas, it
hw: Add support for LSI SAS1068 (mptsas) device
This adds the SAS1068 device, a SAS disk controller used in VMware that is oldish but widely supported and has decent performance. Unlike megasas, it presents itself as a SAS controller and not as a RAID controller. The device corresponds to the mptsas kernel driver in Linux.
A few small things in the device setup are based on Don Slutz's old patch, but the device emulation was written from scratch based on Don's SeaBIOS patch and on the FreeBSD and Linux drivers. It is 2400 lines shorter than Don's patch (and roughly the same size as MegaSAS---also because it doesn't support the similar SPI controller), implements SCSI task management functions (with asynchronous cancellation), supports big-endian hosts, has complete support for migration and follows the QEMU coding standards much more closely.
To write the driver, I first split Don's patch in two parts, with the configuration bits in one file and the rest in a separate file. I first left mptconfig.c in place and rewrote the rest, then deleted mptconfig.c as well. The configuration pages are still based mostly on VirtualBox's, though not exactly the same. However, the implementation is completely different. The contents of the pages themselves should not be copyrightable.
Signed-off-by: Don Slutz <Don@CloudSwitch.com> Message-Id: <1347382813-5662-1-git-send-email-Don@CloudSwitch.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
1cf81ea2 |
| 21-Jan-2016 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20160119.0' into staging
VFIO updates 2016-01-19
- Performance fix for devices with poorly placed MSI-X PBA regions - Quirk fix for
Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20160119.0' into staging
VFIO updates 2016-01-19
- Performance fix for devices with poorly placed MSI-X PBA regions - Quirk fix for hosts with broken MMCONFIG access
# gpg: Signature made Tue 19 Jan 2016 19:00:21 GMT using RSA key ID 3BB08B22 # gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>" # gpg: aka "Alex Williamson <alex@shazbot.org>" # gpg: aka "Alex Williamson <alwillia@redhat.com>" # gpg: aka "Alex Williamson <alex.l.williamson@gmail.com>"
* remotes/awilliam/tags/vfio-update-20160119.0: vfio/pci: Lazy PBA emulation vfio/pci-quirks: Only quirk to size of PCI config space
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
95239e16 |
| 19-Jan-2016 |
Alex Williamson <alex.williamson@redhat.com> |
vfio/pci: Lazy PBA emulation
The PCI spec recommends devices use additional alignment for MSI-X data structures to allow software to map them to separate processor pages. One advantage of doing thi
vfio/pci: Lazy PBA emulation
The PCI spec recommends devices use additional alignment for MSI-X data structures to allow software to map them to separate processor pages. One advantage of doing this is that we can emulate those data structures without a significant performance impact to the operation of the device. Some devices fail to implement that suggestion and assigned device performance suffers.
One such case of this is a Mellanox MT27500 series, ConnectX-3 VF, where the MSI-X vector table and PBA are aligned on separate 4K pages. If PBA emulation is enabled, performance suffers. It's not clear how much value we get from PBA emulation, but the solution here is to only lazily enable the emulated PBA when a masked MSI-X vector fires. We then attempt to more aggresively disable the PBA memory region any time a vector is unmasked. The expectation is then that a typical VM will run entirely with PBA emulation disabled, and only when used is that emulation re-enabled.
Reported-by: Shyam Kaushik <shyam.kaushik@gmail.com> Tested-by: Shyam Kaushik <shyam.kaushik@gmail.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
show more ...
|
#
4101dfe0 |
| 07-Jan-2016 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
# gpg: Signature made Thu 07 Jan 2016 09:13:22 GMT using RSA key ID 81AB73C8 # gpg: Good signature from "Stefan
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
# gpg: Signature made Thu 07 Jan 2016 09:13:22 GMT using RSA key ID 81AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>"
* remotes/stefanha/tags/tracing-pull-request: trace: add make dependencies on tracetool source trace: fix make foo-timestamp rules trace: fix PRIx64 constants in trace-events trace: reflect the file name change
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
c6daed86 |
| 19-Dec-2015 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
trace: fix PRIx64 constants in trace-events
Commit c8ee0a4 introduced new events containing PRIx64 constants without including the % prefix in the preceding string. This results in a compile error d
trace: fix PRIx64 constants in trace-events
Commit c8ee0a4 introduced new events containing PRIx64 constants without including the % prefix in the preceding string. This results in a compile error during build if --enable-trace-backends is passed to configure.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-id: 1450566522-6003-1-git-send-email-mark.cave-ayland@ilande.co.uk Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
67a9facc |
| 11-Dec-2015 |
Qinghua Jin <qhjin_dev@163.com> |
trace: reflect the file name change
Some functions was moved from block.c to block/io.c, so the trace-events file should reflect that change.
Signed-off-by: Qinghua Jin <qhjin_dev@163.com> Signed-o
trace: reflect the file name change
Some functions was moved from block.c to block/io.c, so the trace-events file should reflect that change.
Signed-off-by: Qinghua Jin <qhjin_dev@163.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
67a70840 |
| 18-Dec-2015 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/berrange/tags/pull-io-channel-base-2015-12-18-1' into staging
Merge I/O channels base classes
# gpg: Signature made Fri 18 Dec 2015 12:18:38 GMT using RSA key
Merge remote-tracking branch 'remotes/berrange/tags/pull-io-channel-base-2015-12-18-1' into staging
Merge I/O channels base classes
# gpg: Signature made Fri 18 Dec 2015 12:18:38 GMT using RSA key ID 15104FDF # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" # gpg: aka "Daniel P. Berrange <berrange@redhat.com>"
* remotes/berrange/tags/pull-io-channel-base-2015-12-18-1: io: add QIOChannelBuffer class io: add QIOChannelCommand class io: add QIOChannelWebsock class io: add QIOChannelTLS class io: add QIOChannelFile class io: add QIOChannelSocket class io: add QIOTask class for async operations io: add helper module for creating watches on FDs io: add abstract QIOChannel classes
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
Revision tags: ppc-next-20151023, qom-cpu-for-peter, qemu-kvm-1.5.3-86.el7_1.8, RHEL-7.2_qemu-kvm, qemu-kvm-1.5.3-105.el7, RHEL-7.2_qemu-kvm-rhev, qemu-kvm-rhev-2.3.0-31.el7, qemu-kvm-rhev-2.3.0-30.el7, qemu-kvm-rhev-2.1.2-23.el7_1_1.10, qemu-kvm-1.5.3-86.el7_1.7, ppc-next-20151009, qemu-kvm-rhev-2.3.0-29.el7, vfio-update-20151005.0, vfio-update-20151007.0, qemu-kvm-rhev-2.3.0-28.el7, qemu-kvm-rhev-2.3.0-27.el7, qemu-kvm-0.12.1.2-2.479.el6_7.2, qemu-kvm-0.12.1.2-2.481.el6, qemu-kvm-rhev-2.3.0-26.el7, vfio-update-20150925.0, vfio-update-20150923.0, qemu-kvm-rhev-2.3.0-25.el7, qemu-kvm-1.5.3-104.el7, spapr-next-20150923, v2.4.0.1, spapr-next-20150921, qemu-kvm-rhev-2.3.0-24.el7, spapr-next-20150916, qemu-kvm-rhev-2.3.0-23.el7, RHEL-7.2_qemu-guest-agent, qemu-guest-agent-2.3.0-4.el7, qemu-kvm-1.5.3-103.el7, qemu-kvm-rhev-2.3.0-22.el7, qemu-kvm-1.5.3-102.el7, spapr-next-20150903, qemu-kvm-rhev-2.1.2-23.el7_1.9, qemu-kvm-rhev-2.3.0-21.el7, qemu-kvm-rhev-2.3.0-20.el7 |
|
#
195e14d0 |
| 27-Aug-2015 |
Daniel P. Berrange <berrange@redhat.com> |
io: add QIOChannelCommand class
Add a QIOChannel subclass that is capable of performing I/O to/from a separate process, via a pair of pipes. The command can be used for unidirectional or bi-directio
io: add QIOChannelCommand class
Add a QIOChannel subclass that is capable of performing I/O to/from a separate process, via a pair of pipes. The command can be used for unidirectional or bi-directional I/O.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
show more ...
|
Revision tags: qemu-guest-agent-2.3.0-3.el7, qemu-kvm-rhev-2.3.0-19.el7, qemu-kvm-1.5.3-101.el7, qemu-kvm-rhev-2.3.0-18.el7, qemu-kvm-rhev-2.3.0-17.el7, v2.4.0, v2.3.1, qemu-kvm-1.5.3-100.el7, qemu-kvm-rhev-2.3.0-16.el7, qemu-kvm-0.12.1.2-2.479.el6_7.1, qemu-kvm-0.12.1.2-2.480.el6, qemu-kvm-rhev-2.1.2-23.el7_1.8, qemu-kvm-1.5.3-86.el7_1.6, qemu-kvm-1.5.3-99.el7, v2.4.0-rc4, qemu-kvm-rhev-2.3.0-15.el7, qemu-kvm-rhev-2.1.2-23.el7_1_1.7, qemu-kvm-rhev-2.3.0-14.el7, v2.4.0-rc3, qemu-kvm-1.5.3-98.el7, qemu-kvm-rhev-2.3.0-13.el7, vfio-fixes-20150723.0, v2.4.0-rc2, qemu-kvm-1.5.3-86.el7_1.5, qemu-kvm-rhev-2.1.2-23.el7_1.6, qemu-kvm-rhev-2.1.2-23.el7_1.5, qemu-kvm-rhev-2.3.0-12.el7, qemu-kvm-1.5.3-86.el7_1.4, qemu-kvm-1.5.3-97.el7, qemu-kvm-rhev-2.3.0-11.el7, qemu-kvm-1.5.3-96.el7, v2.4.0-rc1, qemu-kvm-rhev-2.3.0-10.el7, qemu-guest-agent-2.3.0-2.el7, v2.4.0-rc0, qemu-kvm-rhev-2.3.0-9.el7, qemu-kvm-rhev-2.3.0-8.el7, qemu-kvm-1.5.3-95.el7, vfio-update-20150706.0, qemu-kvm-rhev-2.3.0-7.el7, spapr-next-20150702, qemu-kvm-rhev-2.3.0-6.el7, qemu-kvm-1.5.3-94.el7, for_autotest, for_autotest_next, for_upstream, qemu-kvm-rhev-2.1.2-23.el7_1.4, qemu-kvm-rhev-2.1.2-23.el7_1_1.3, qemu-kvm-rhev-2.3.0-5.el7, qemu-kvm-1.5.3-86.el7_1.3, qemu-kvm-1.5.3-93.el7, RHEL-6.7, qemu-kvm-0.12.1.2-2.479.el6, qemu-kvm-rhev-2.3.0-4.el7, qemu-kvm-rhev-2.3.0-3.el7, qemu-kvm-1.5.3-92.el7, qemu-kvm-1.5.3-91.el7, vfio-update-20150609.0, vfio-update-20150608.0, qemu-kvm-1.5.3-90.el7, qemu-kvm-0.12.1.2-2.478.el6, x86-pull-request, qemu-kvm-0.12.1.2-2.448.el6_6.4, qemu-kvm-0.12.1.2-2.477.el6, qemu-kvm-rhev-2.3.0-2.el7, qemu-kvm-1.5.3-89.el7, qemu-kvm-0.12.1.2-2.476.el6, spapr-dev-staging, qemu-kvm-0.12.1.2-2.415.el6_5.15, signed-s390-for-upstream-for, qemu-kvm-1.5.3-86.el7_1.2, qemu-kvm-rhev-2.1.2-23.el7_1.3, qemu-kvm-rhev-0.12.1.2-2.448.el6_6.3, qemu-kvm-0.12.1.2-2.475.el6, qemu-kvm-0.12.1.2-2.474.el6, qemu-kvm-1.5.3-88.el7, qemu-kvm-0.12.1.2-2.473.el6, spapr-next-20150501, qemu-kvm-0.12.1.2-2.472.el6, qemu-kvm-0.12.1.2-2.471.el6, vfio-update-20150428.0, qemu-guest-agent-2.3.0-1.el7, qemu-kvm-rhev-2.3.0-1.el7, numa-pull-request, qemu-kvm-0.12.1.2-2.470.el6, qemu-kvm-0.12.1.2-2.469.el6, qemu-2.3.0, v2.3.0, qemu-kvm-0.12.1.2-2.468.el6, qemu-kvm-0.12.1.2-2.467.el6, qemu-kvm-rhev-2.2.0-9.el7, qemu-kvm-rhev-2.1.2-23.el7_1.2, qemu-kvm-rhev-2.1.2-23.el7_1_1.2, qemu-2.3.0-rc4, v2.3.0-rc4, qemu-kvm-0.12.1.2-2.466.el6, v2.3.0-rc3, qemu-kvm-0.12.1.2-2.465.el6, qemu-kvm-0.12.1.2-2.448.el6_6.2, qemu-kvm-0.12.1.2-2.464.el6, qemu-kvm-0.12.1.2-2.463.el6, qemu-2.3.0-rc2, v2.3.0-rc2, qtest-for-2.3, qemu-kvm-0.12.1.2-2.448.el6_6.1, qemu-kvm-0.12.1.2-2.462.el6, qemu-kvm-0.12.1.2-2.460.el6, v2.3.0-rc1, qemu-kvm-0.12.1.2-2.459.el6, work/numa-verify-cpus-pull-request, qemu-kvm-rhev-2.2.0-8.el7, qemu-kvm-1.5.3-87.el7, qemu-2.3.0-rc0, v2.3.0-rc0, qemu-kvm-0.12.1.2-2.458.el6, v2.2.1, qemu-kvm-rhev-2.2.0-7.el7, qemu-kvm-0.12.1.2-2.457.el6, qemu-kvm-1.5.3-86.el7_1.1, qemu-kvm-0.12.1.2-2.456.el6 |
|
#
2d1d0e70 |
| 04-Mar-2015 |
Daniel P. Berrange <berrange@redhat.com> |
io: add QIOChannelWebsock class
Add a QIOChannel subclass that can run the websocket protocol over the top of another QIOChannel instance. This initial implementation is only capable of acting as a
io: add QIOChannelWebsock class
Add a QIOChannel subclass that can run the websocket protocol over the top of another QIOChannel instance. This initial implementation is only capable of acting as a websockets server. There is no support for acting as a websockets client yet.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
show more ...
|
Revision tags: qemu-kvm-0.12.1.2-2.455.el6, vfio-update-20150302.0 |
|
#
ed8ee42c |
| 02-Mar-2015 |
Daniel P. Berrange <berrange@redhat.com> |
io: add QIOChannelTLS class
Add a QIOChannel subclass that can run the TLS protocol over the top of another QIOChannel instance. The object provides a simplified API to perform the handshake when st
io: add QIOChannelTLS class
Add a QIOChannel subclass that can run the TLS protocol over the top of another QIOChannel instance. The object provides a simplified API to perform the handshake when starting the TLS session. The layering of TLS over the underlying channel does not have to be setup immediately. It is possible to take an existing QIOChannel that has done some handshake and then swap in the QIOChannelTLS layer. This allows for use with protocols which start TLS right away, and those which start plain text and then negotiate TLS.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
show more ...
|
Revision tags: qemu-kvm-rhev-2.2.0-6.el7 |
|
#
d6e48869 |
| 27-Feb-2015 |
Daniel P. Berrange <berrange@redhat.com> |
io: add QIOChannelFile class
Add a QIOChannel subclass that is capable of operating on things that are files, such as plain files, pipes, character/block devices, but notably not sockets.
Signed-of
io: add QIOChannelFile class
Add a QIOChannel subclass that is capable of operating on things that are files, such as plain files, pipes, character/block devices, but notably not sockets.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
show more ...
|
#
559607ea |
| 27-Feb-2015 |
Daniel P. Berrange <berrange@redhat.com> |
io: add QIOChannelSocket class
Implement a QIOChannel subclass that supports sockets I/O. The implementation is able to manage a single socket file descriptor, whether a TCP/UNIX listener, TCP/UNIX
io: add QIOChannelSocket class
Implement a QIOChannel subclass that supports sockets I/O. The implementation is able to manage a single socket file descriptor, whether a TCP/UNIX listener, TCP/UNIX connection, or a UDP datagram. It provides APIs which can listen and connect either asynchronously or synchronously. Since there is no asynchronous DNS lookup API available, it uses the QIOTask helper for spawning a background thread to ensure non-blocking operation.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
show more ...
|
#
b02db2d9 |
| 18-Mar-2015 |
Daniel P. Berrange <berrange@redhat.com> |
io: add QIOTask class for async operations
A number of I/O operations need to be performed asynchronously to avoid blocking the main loop. The caller of such APIs need to provide a callback to be in
io: add QIOTask class for async operations
A number of I/O operations need to be performed asynchronously to avoid blocking the main loop. The caller of such APIs need to provide a callback to be invoked on completion/error and need access to the error, if any. The small QIOTask provides a simple framework for dealing with such probes. The API docs inline provide an outline of how this is to be used.
Some functions don't have the ability to run asynchronously (eg getaddrinfo always blocks), so to facilitate their use, the task class provides a mechanism to run a blocking function in a thread, while triggering the completion callback in the main event loop thread. This easily allows any synchronous function to be made asynchronous, albeit at the cost of spawning a thread.
In this series, the QIOTask class will be used for things like the TLS handshake, the websockets handshake and TCP connect() progress.
The concept of QIOTask is inspired by the GAsyncResult interface / GTask class in the GIO libraries. The min version requirements on glib don't allow those to be used from QEMU, so QIOTask provides a facsimilie which can be easily switched to GTask in the future if the min version is increased.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
show more ...
|