#
8b53a865 |
| 19-Aug-2010 |
Amit Shah <amit.shah@redhat.com> |
virtio-serial: Cleanup on device hot-unplug
Free malloc'ed memory, unregister from savevm and clean up virtio-common bits on device hot-unplug.
This was found performing a migration after device ho
virtio-serial: Cleanup on device hot-unplug
Free malloc'ed memory, unregister from savevm and clean up virtio-common bits on device hot-unplug.
This was found performing a migration after device hot-unplug.
Reported-by: <lihuang@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
9d0d3138 |
| 20-Jul-2010 |
Alex Williamson <alex.williamson@redhat.com> |
virtio-blk: Create exit function to unregister savevm
Otherwise we can't migrate after we've removed a virtio block device.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by
virtio-blk: Create exit function to unregister savevm
Otherwise we can't migrate after we've removed a virtio block device.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
9f107513 |
| 29-Apr-2010 |
Anthony Liguori <aliguori@us.ibm.com> |
virtio-9p: Add a virtio 9p device to qemu
This patch doesn't implement the 9p protocol handling code. It adds a simple device which dump the protocol data.
[jvrao@linux.vnet.ibm.com: Little-Endian
virtio-9p: Add a virtio 9p device to qemu
This patch doesn't implement the 9p protocol handling code. It adds a simple device which dump the protocol data.
[jvrao@linux.vnet.ibm.com: Little-Endian to host format conversion] [aneesh.kumar@linux.vnet.ibm.com: Multiple-mounts support]
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
2be24aaa |
| 17-Mar-2010 |
Michael S. Tsirkin <mst@redhat.com> |
virtio: move typedef to qemu-common
make it possible to use type without header include, simplifying header dependencies.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony L
virtio: move typedef to qemu-common
make it possible to use type without header include, simplifying header dependencies.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
3e607cb5 |
| 17-Mar-2010 |
Michael S. Tsirkin <mst@redhat.com> |
virtio: add set_status callback
vhost net backend needs to be notified when frontend status changes. Add a callback, similar to set_features.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Sign
virtio: add set_status callback
vhost net backend needs to be notified when frontend status changes. Add a callback, similar to set_features.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
1cbdabe2 |
| 17-Mar-2010 |
Michael S. Tsirkin <mst@redhat.com> |
virtio: notifier support + APIs for queue fields
vhost needs physical addresses for ring and other queue fields, so add APIs for these. In particular, add binding API to set host/guest notifiers. W
virtio: notifier support + APIs for queue fields
vhost needs physical addresses for ring and other queue fields, so add APIs for these. In particular, add binding API to set host/guest notifiers. Will be used by vhost.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
428c149b |
| 10-Feb-2010 |
Christoph Hellwig <hch@lst.de> |
block: add topology qdev properties
Add three new qdev properties to export block topology information to the guest. This is needed to get optimal I/O alignment for RAID arrays or SSDs.
The option
block: add topology qdev properties
Add three new qdev properties to export block topology information to the guest. This is needed to get optimal I/O alignment for RAID arrays or SSDs.
The options are:
- physical_block_size to specify the physical block size of the device, this is going to increase from 512 bytes to 4096 kilobytes for many modern storage devices - min_io_size to specify the minimal I/O size without performance impact, this is typically set to the RAID chunk size for arrays. - opt_io_size to specify the optimal sustained I/O size, this is typically the RAID stripe width for arrays.
I decided to not auto-probe these values from blkid which might easily be possible as I don't know how to deal with these issues on migration.
Note that we specificly only set the physical_block_size, and not the logial one which is the unit all I/O is described in. The reason for that is that IDE does not support increasing the logical block size and at last for now I want to stick to one meachnisms in queue and allow for easy switching of transports for a given backing image which would not be possible if scsi and virtio use real 4k sectors, while ide only uses the physical block exponent.
To make this more common for the different block drivers introduce a new BlockConf structure holding all common block properties and a DEFINE_BLOCK_PROPERTIES macro to add them all together, mirroring what is done for network drivers. Also switch over all block drivers to use it, except for the floppy driver which has weird driveA/driveB properties and probably won't require any advanced block options ever.
Example usage for a virtio device with 4k physical block size and 8k optimal I/O size:
-drive file=scratch.img,media=disk,cache=none,id=scratch \ -device virtio-blk-pci,drive=scratch,physical_block_size=4096,opt_io_size=8192
aliguori: updated patch to take into account BLOCK events
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
98b19252 |
| 19-Jan-2010 |
Amit Shah <amit.shah@redhat.com> |
virtio-console: qdev conversion, new virtio-serial-bus
This commit converts the virtio-console device to create a new virtio-serial bus that can host console and generic serial ports. The file hosti
virtio-console: qdev conversion, new virtio-serial-bus
This commit converts the virtio-console device to create a new virtio-serial bus that can host console and generic serial ports. The file hosting this code is now called virtio-serial-bus.c.
The virtio console is now a very simple qdev device that sits on the virtio-serial-bus and communicates between the bus and qemu's chardevs.
This commit also includes a few changes to the virtio backing code for pci and s390 to spawn the virtio-serial bus.
As a result of the qdev conversion, we get rid of a lot of legacy code. The old-style way of instantiating a virtio console using
-virtioconsole ...
is maintained, but the new, preferred way is to use
-device virtio-serial -device virtconsole,chardev=...
With this commit, multiple devices as well as multiple ports with a single device can be supported.
For multiple ports support, each port gets an IO vq pair. Since the guest needs to know in advance how many vqs a particular device will need, we have to set this number as a property of the virtio-serial device and also as a config option.
In addition, we also spawn a pair of control IO vqs. This is an internal channel meant for guest-host communication for things like port open/close, sending port properties over to the guest, etc.
This commit is a part of a series of other commits to get the full implementation of multiport support. Future commits will add other support as well as ride on the savevm version that we bump up here.
Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
bb61564c |
| 19-Jan-2010 |
Amit Shah <amit.shah@redhat.com> |
virtio: Remove duplicate macro definition for max. virtqueues, bump up the max
VIRTIO_PCI_QUEUE_MAX is redefined in hw/virtio.c. Let's just keep it in hw/virtio.h.
Also, bump up the value of the ma
virtio: Remove duplicate macro definition for max. virtqueues, bump up the max
VIRTIO_PCI_QUEUE_MAX is redefined in hw/virtio.c. Let's just keep it in hw/virtio.h.
Also, bump up the value of the maximum allowed virtqueues to 64. This is in preparation to allow multiple ports per virtio-console device.
Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
8172539d |
| 10-Jan-2010 |
Michael S. Tsirkin <mst@redhat.com> |
virtio: add features as qdev properties
Add feature bits as properties to virtio. This makes it possible to e.g. define machine without indirect buffer support, which is required for 0.10 compatibil
virtio: add features as qdev properties
Add feature bits as properties to virtio. This makes it possible to e.g. define machine without indirect buffer support, which is required for 0.10 compatibility, or without hardware checksum support, which is required for 0.11 compatibility. Since default values for optional features are now set by qdev, get_features callback has been modified: it sets non-optional bits, and clears bits not supported by host.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
704a76fc |
| 10-Jan-2010 |
Michael S. Tsirkin <mst@redhat.com> |
virtio: rename features -> guest_features
Rename features->guest_features. This is what they are, avoid confusion with host features which we also need to keep around.
Signed-off-by: Michael S. Tsi
virtio: rename features -> guest_features
Rename features->guest_features. This is what they are, avoid confusion with host features which we also need to keep around.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
6d74ca5a |
| 08-Dec-2009 |
Michael S. Tsirkin <mst@redhat.com> |
virtio: verify features on load
migrating between hosts which have different features might break silently, if the migration destination does not support some features supported by source.
Prevent
virtio: verify features on load
migrating between hosts which have different features might break silently, if the migration destination does not support some features supported by source.
Prevent this from happening by comparing acked feature bits with the mask supported by the device.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
97b15621 |
| 21-Oct-2009 |
Gerd Hoffmann <kraxel@redhat.com> |
virtio: use qdev properties for configuration.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
#
c227f099 |
| 01-Oct-2009 |
Anthony Liguori <aliguori@us.ibm.com> |
Revert "Get rid of _t suffix"
In the very least, a change like this requires discussion on the list.
The naming convention is goofy and it causes a massive merge problem. Something like this _must
Revert "Get rid of _t suffix"
In the very least, a change like this requires discussion on the list.
The naming convention is goofy and it causes a massive merge problem. Something like this _must_ be presented on the list first so people can provide input and cope with it.
This reverts commit 99a0949b720a0936da2052cb9a46db04ffc6db29.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
99a0949b |
| 01-Oct-2009 |
malc <av1474@comtv.ru> |
Get rid of _t suffix
Some not so obvious bits, slirp and Xen were left alone for the time being.
Signed-off-by: malc <av1474@comtv.ru>
|
#
d89c682f |
| 24-Sep-2009 |
Stefan Weil <weil@mail.berlios.de> |
Suppress some variants of English in comments
Replace surpress, supress by suppress.
Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
#
d176c495 |
| 31-Jul-2009 |
Gerd Hoffmann <kraxel@redhat.com> |
qdev-ify virtio-blk.
First user of the new drive property. With this patch applied host and guest config can be specified separately, like this:
-drive if=none,id=disk1,file=/path/to/disk.img
qdev-ify virtio-blk.
First user of the new drive property. With this patch applied host and guest config can be specified separately, like this:
-drive if=none,id=disk1,file=/path/to/disk.img -device virtio-blk-pci,drive=disk1
You can set any property for virtio-blk-pci now. You can set the pci address via addr=. You can switch the device into 0.10 compat mode using class=0x0180. As this is per device you can have one 0.10 and one 0.11 virtio block device in a single virtual machine.
Old syntax continues to work. Internally it does the same as the two lines above though. One side effect this has is a different initialization order, which might result in a different pci address being assigned by default.
Long term plan here is to have this working for all block devices, i.e. once all scsi is properly qdev-ified you will be able to do something like this:
-drive if=none,id=sda,file=/path/to/disk.img -device lsi,id=lsi,addr=<pciaddr> -device scsi-disk,drive=sda,bus=lsi.0,lun=<n>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
show more ...
|
#
ff24bd58 |
| 21-Jun-2009 |
Michael S. Tsirkin <mst@redhat.com> |
qemu/virtio: virtio save/load bindings
Implement bindings for virtio save/load. Use them in virtio pci.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@u
qemu/virtio: virtio save/load bindings
Implement bindings for virtio save/load. Use them in virtio pci.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
7055e687 |
| 21-Jun-2009 |
Michael S. Tsirkin <mst@redhat.com> |
qemu/virtio: virtio support for many interrupt vectors
Extend virtio to support many interrupt vectors, and rearrange code in preparation for multi-vector support (mostly move reset out to bindings,
qemu/virtio: virtio support for many interrupt vectors
Extend virtio to support many interrupt vectors, and rearrange code in preparation for multi-vector support (mostly move reset out to bindings, because we will have to reset the vectors in transport-specific code). Actual bindings in pci, and use in net, to follow. Load and save are not connected to bindings yet, so they are left stubbed out for now.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
efeea6d0 |
| 17-Jun-2009 |
Mark McLoughlin <markmc@redhat.com> |
virtio: add support for indirect ring entries
Support a new feature flag for indirect ring entries. These are ring entries which point to a table of buffer descriptors.
The idea here is to increase
virtio: add support for indirect ring entries
Support a new feature flag for indirect ring entries. These are ring entries which point to a table of buffer descriptors.
The idea here is to increase the ring capacity by allowing a larger effective ring size whereby the ring size dictates the number of requests that may be outstanding, rather than the size of those requests.
This should be most effective in the case of block I/O where we can potentially benefit by concurrently dispatching a large number of large requests. Even in the simple case of single segment block requests, this results in a threefold increase in ring capacity.
Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
53c25cea |
| 18-May-2009 |
Paul Brook <paul@codesourcery.com> |
Separate virtio PCI code
Split the PCI host bindings from the VRing transport implementation.
Signed-off-by: Paul Brook <paul@codesourcery.com>
|
#
cf21e106 |
| 14-May-2009 |
Paul Brook <paul@codesourcery.com> |
Virtio-net qdev conversion
Signed-off-by: Paul Brook <paul@codesourcery.com>
|
#
b946a153 |
| 17-Apr-2009 |
aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> |
Introduce VLANClientState::cleanup() (Mark McLoughlin)
We're currently leaking memory and file descriptors on device hot-unplug.
Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: An
Introduce VLANClientState::cleanup() (Mark McLoughlin)
We're currently leaking memory and file descriptors on device hot-unplug.
Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7150 c046a42c-6fe2-441c-8c8c-71466251a162
show more ...
|
#
8eca6b1b |
| 05-Apr-2009 |
aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> |
Fix oops on 2.6.25 guest (Rusty Russell)
I believe this is behind the following: https://bugs.edge.launchpad.net/ubuntu/jaunty/+source/linux/+bug/331128
virtio_pci in 2.6.25 didn't do feature negot
Fix oops on 2.6.25 guest (Rusty Russell)
I believe this is behind the following: https://bugs.edge.launchpad.net/ubuntu/jaunty/+source/linux/+bug/331128
virtio_pci in 2.6.25 didn't do feature negotiation correctly: it acked every bit. Fortunately, we can detect this.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6975 c046a42c-6fe2-441c-8c8c-71466251a162
show more ...
|
#
173a543b |
| 01-Feb-2009 |
blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> |
Add and use #defines for PCI device classes
This patch adds and uses #defines for PCI device classes and subclases, using a new pci_config_set_class() function, similar to the recently added pci_con
Add and use #defines for PCI device classes
This patch adds and uses #defines for PCI device classes and subclases, using a new pci_config_set_class() function, similar to the recently added pci_config_set_vendor_id() and pci_config_set_device_id().
Change since v1: fixed compilation of hw/sun4u.c
Signed-off-by: Stuart Brady <stuart.brady@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6491 c046a42c-6fe2-441c-8c8c-71466251a162
show more ...
|