1. 20 1月, 2010 2 次提交
    • A
      virtio-console: qdev conversion, new virtio-serial-bus · 98b19252
      Amit Shah 提交于
      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: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      98b19252
    • A
      virtio: Remove duplicate macro definition for max. virtqueues, bump up the max · bb61564c
      Amit Shah 提交于
      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: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      bb61564c
  2. 12 1月, 2010 2 次提交
  3. 12 12月, 2009 1 次提交
  4. 28 10月, 2009 1 次提交
  5. 02 10月, 2009 2 次提交
  6. 25 9月, 2009 1 次提交
  7. 11 8月, 2009 1 次提交
    • G
      qdev-ify virtio-blk. · d176c495
      Gerd Hoffmann 提交于
      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: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Message-Id: 
      d176c495
  8. 24 6月, 2009 2 次提交
  9. 22 6月, 2009 1 次提交
    • M
      virtio: add support for indirect ring entries · efeea6d0
      Mark McLoughlin 提交于
      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: NMark McLoughlin <markmc@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      efeea6d0
  10. 19 5月, 2009 1 次提交
  11. 15 5月, 2009 1 次提交
  12. 18 4月, 2009 1 次提交
  13. 06 4月, 2009 1 次提交
  14. 02 2月, 2009 1 次提交
  15. 06 12月, 2008 1 次提交
  16. 05 12月, 2008 3 次提交