1. 22 6月, 2011 1 次提交
    • M
      qemu: domain I/O asynchronous handling · 017abcbb
      Michal Privoznik 提交于
      For virtio disks and interfaces, qemu allows users to enable or disable
      ioeventfd feature. This means, qemu can execute domain code, while
      another thread waits for I/O event. Basically, in some cases it is win,
      in some loss. This feature is available via 'ioeventfd' attribute in disk
      and interface <driver> element. It accepts 'on' and 'off'. Leaving this
      attribute out defaults to hypervisor decision.
      017abcbb
  2. 20 6月, 2011 1 次提交
  3. 15 6月, 2011 1 次提交
  4. 07 6月, 2011 1 次提交
    • O
      docs: Add doc for video element · 99c8a5c8
      Osier Yang 提交于
      For backwards compatibility, if no <video> is set but there is a
      <graphics> tag, then we add a default <video> according to the
      guest type. Add docs to tell the user about this to not make
      them confused. Especially if they remove the video (such as via
      "virsh edit"), it will be surprised for them to see the video
      element is still in domain XML.
      99c8a5c8
  5. 03 6月, 2011 1 次提交
  6. 02 6月, 2011 1 次提交
    • D
      Support leases in guest XML and lock manager · 1ea83207
      Daniel P. Berrange 提交于
      A lock manager may operate in various modes. The direct mode of
      operation is to obtain locks based on the resources associated
      with devices in the XML. The indirect mode is where the app
      creating the domain provides explicit leases for each resource
      that needs to be locked. This XML extension allows for listing
      resources in the XML
      
        <devices>
           ...
           <lease>
             <lockspace>somearea</lockspace>
             <key>thequickbrownfoxjumpsoverthelazydog</key>
             <target path='/some/lease/path' offset='23432'/>
           </lease>
           ...
        </devices>
      
      The 'lockspace' is a unique identifier for the lockspace which
      the lease is associated
      
      The 'key' is a unique identifier for the resource associated
      with the lease.
      
      The 'target' is the file on disk where the leases are held.
      
      * docs/schemas/domain.rng: Add lease schema
      * src/conf/domain_conf.c, src/conf/domain_conf.h: parsing and
        formatting for leases
      * tests/qemuxml2argvdata/qemuxml2argv-lease.args,
        tests/qemuxml2argvdata/qemuxml2argv-lease.xml,
        tests/qemuxml2xmltest.c: Test XML handling for leases
      1ea83207
  7. 24 5月, 2011 1 次提交
    • A
      spice: support streaming-video parameter · bb1c5423
      Alon Levy 提交于
      This adds a streaming-video=filter|all|off attribute. It is used to change
      the behavior of video stream detection in spice, the default is filter (the
      default for libvirt is not to specify it - the actual default is defined in
      libspice-server.so).
      
      Usage:
      
          <graphics type='spice' autoport='yes'>
            <streaming mode='off'/>
          </graphics>
      
      Tested with the above and with tests/qemuxml2argvtest.
      Signed-off-by: NAlon Levy <alevy@redhat.com>
      bb1c5423
  8. 21 5月, 2011 1 次提交
  9. 18 5月, 2011 1 次提交
  10. 12 5月, 2011 1 次提交
  11. 06 5月, 2011 1 次提交
  12. 02 5月, 2011 1 次提交
    • G
      fix missing VLAN id for Qbg example · 170f2a87
      Gerhard Stenzel 提交于
      For IEEE 802.1Qbg, it is necessary to use a VLAN interface.
      vepa itself does not require a VLAN interface.
      
      Signed-off-by: Gerhard Stenzel <stenzel at de.ibm.com>
      170f2a87
  13. 30 4月, 2011 1 次提交
    • C
      docs: Document <filesystem> device · 41a7835f
      Cole Robinson 提交于
      Tried to dredge through old changelogs and commits to come up with it, so
      may not be completely accurate.
      
      v2:
      Drop ambiguous 'containers'
      Use same mail archive for all links
      41a7835f
  14. 15 4月, 2011 1 次提交
    • M
      Spice: support audio, images and stream compression · abb1570e
      Michal Privoznik 提交于
      This extends the SPICE XML to allow variable compression settings for audio,
      images and streaming:
          <graphics type='spice' port='5901' tlsPort='-1' autoport='yes'>
              <image compression='auto_glz'/>
              <jpeg compression='auto'/>
              <zlib compression='auto'/>
              <playback compression='on'/>
          </graphics>
      
      All new elements are optional.
      abb1570e
  15. 14 4月, 2011 1 次提交
  16. 12 4月, 2011 1 次提交
    • E
      maint: fix grammar errors · 99fa3080
      Eric Blake 提交于
      Jim Meyering recently improved gnulib to catch various grammar
      errors during 'make syntax-check'.
      
      * .gnulib: Update to latest, for syntax-check improvements.
      * include/libvirt/libvirt.h.in (virConnectAuthCallbackPtr): Use
      cannot rather than two words.
      * src/driver.c: Likewise.
      * src/driver.h (VIR_SECRET_GET_VALUE_INTERNAL_CALL): Likewise.
      * src/remote/remote_driver.c (initialize_gnutls): Likewise.
      * src/util/pci.c (pciBindDeviceToStub): Likewise.
      * src/storage/storage_backend.c (virStorageBackendCreateQemuImg):
      Likewise.
      (virStorageBackendUpdateVolTargetInfoFD): Avoid doubled word.
      * docs/formatdomain.html.in: Likewise.
      * src/qemu/qemu_process.c (qemuProcessStart): Likewise.
      * cfg.mk (exclude_file_name_regexp--sc_prohibit_can_not)
      (exclude_file_name_regexp--sc_prohibit_doubled_word): Exclude
      existing translation problems.
      99fa3080
  17. 02 4月, 2011 2 次提交
    • E
      docs: fix typo · d9588747
      Eric Blake 提交于
      * docs/formatdomain.html.in: Fix KVM name.
      d9588747
    • E
      docs: correct invalid xml · b5ec89d9
      Eric Blake 提交于
      * docs/internals.html.in: Fix xml errors.
      * docs/formatstorageencryption.html.in: Likewise.
      * docs/drvesx.html.in: Likewise.
      * docs/archnetwork.html.in: Likewise.
      * docs/logging.html.in: Likewise.
      * docs/drvvmware.html.in: Likewise.
      * docs/api.html.in: Likewise.
      * docs/formatnwfilter.html.in: Likewise.
      * docs/formatdomain.html.in: Likewise.
      * docs/windows.html.in: Likewise.
      b5ec89d9
  18. 01 4月, 2011 2 次提交
  19. 29 3月, 2011 1 次提交
  20. 21 3月, 2011 1 次提交
  21. 18 3月, 2011 1 次提交
  22. 15 3月, 2011 1 次提交
  23. 12 3月, 2011 3 次提交
    • P
      domain.rng vs. formatdomain.html#elementsUSB · a757e60a
      Philipp Hahn 提交于
      The Relax-NG schema for domains regarding <hostdev> doesn't match what's
      implemented in src/conf/domain_conf.c#virDomainHostdevDefFormat(): The
      implementation only requires @type, but the schema currently either
      required none or all three attributes (@mode, @type, and @managed) to be
      defined together, because they are declared in the same
      <optional)-section. (@managed is currently even undocumented on
      <http://libvirt.org/formatdomain.html#elementsUSB>).
      
      Thus the following minimal <hostdev>-example fails to validate:
      <domain type='test'>
              <name>N</name>
              <memory>4096</memory>
              <bootloader>/bin/false</bootloader>
              <os>
                      <type arch='x86_64' machine='xenpv'>linux</type>
              </os>
              <devices>
                      <hostdev type='pci'>
                              <source>
                                      <address bus='0x06' slot='0x00' function='0x0'/>
                              </source>
                      </hostdev>
              </devices>
      </domain>
      
      The schema is changed to match the current implementation:
      1. @mode is optional (which defaults to 'subsystem')
      2. @type is required
      3. @managed is optional (which defaults to 'no')
      
      The documentation is updated to mention @managed.
      Signed-off-by: NPhilipp Hahn <hahn@univention.de>
      a757e60a
    • E
      docs: fix missing </p> · bfe87ece
      Eric Blake 提交于
      * docs/formatdomain.html.in: Fix typo in last patch.
      Reported by Matthias Bolte.
      bfe87ece
    • G
      documenting the 802.1Qbg parameters of a 'direct' interface · a067b06e
      Gerhard Stenzel 提交于
      This patchs adds documentation about the 802.1Qbg related parameters
      of the virtualport element in a 'direct' interface definition.
      Signed-off-by: NGerhard Stenzel <gerhard.stenzel@de.ibm.com>
      a067b06e
  24. 09 3月, 2011 3 次提交
  25. 18 2月, 2011 1 次提交
    • L
      Add txmode attribute to interface XML for virtio backend · e9bd5c0e
      Laine Stump 提交于
      This is in response to:
      
         https://bugzilla.redhat.com/show_bug.cgi?id=629662
      
      Explanation
      
      qemu's virtio-net-pci driver allows setting the algorithm used for tx
      packets to either "bh" or "timer". This is done by adding ",tx=bh" or
      ",tx=timer" to the "-device virtio-net-pci" commandline option.
      
      'bh' stands for 'bottom half'; when this is set, packet tx is all done
      in an iothread in the bottom half of the driver. (In libvirt, this
      option is called the more descriptive "iothread".)
      
      'timer' means that tx work is done in qemu, and if there is more tx
      data than can be sent at the present time, a timer is set before qemu
      moves on to do other things; when the timer fires, another attempt is
      made to send more data. (libvirt retains the name "timer" for this
      option.)
      
      The resulting difference, according to the qemu developer who added
      the option is:
      
          bh makes tx more asynchronous and reduces latency, but potentially
          causes more processor bandwidth contention since the cpu doing the
          tx isn't necessarily the cpu where the guest generated the
          packets.
      
      Solution
      
      This patch provides a libvirt domain xml knob to change the option on
      the qemu commandline, by adding a new attribute "txmode" to the
      <driver> element that can be placed inside any <interface> element in
      a domain definition. It's use would be something like this:
      
          <interface ...>
            ...
            <model type='virtio'/>
            <driver txmode='iothread'/>
            ...
          </interface>
      
      I chose to put this setting as an attribute to <driver> rather than as
      a sub-element to <tune> because it is specific to the virtio-net
      driver, not something that is generally usable by all network drivers.
      (note that this is the same placement as the "driver name=..."
      attribute used to choose kernel vs. userland backend for the
      virtio-net driver.)
      
      Actually adding the tx=xxx option to the qemu commandline is only done
      if the version of qemu being used advertises it in the output of
      
          qemu -device virtio-net-pci,?
      
      If a particular txmode is requested in the XML, and the option isn't
      listed in that help output, an UNSUPPORTED_CONFIG error is logged, and
      the domain fails to start.
      e9bd5c0e
  26. 10 2月, 2011 1 次提交
    • E
      maint: whitespace cleanup · 1652fa2f
      Eric Blake 提交于
      * .dir-locals.el (html-mode): Let emacs help out.
      * cfg.mk (sc_TAB_in_indentation): Check more files.
      * docs/internals/command.html.in: Fix offenders.
      * docs/formatdomain.html.in: Likewise.
      * docs/internals.html.in: Likewise.
      Reported by Jiri Denemark.
      1652fa2f
  27. 09 2月, 2011 2 次提交
  28. 05 2月, 2011 1 次提交
    • E
      smartcard: add spicevmc support · 79f9267f
      Eric Blake 提交于
      Adds <smartcard mode='passthrough' type='spicevmc'/>, which uses the
      new <channel name='smartcard'/> of <graphics type='spice'>.
      
      * docs/schemas/domain.rng: Support new XML.
      * docs/formatdomain.html.in: Document it.
      * src/conf/domain_conf.h (virDomainGraphicsSpiceChannelName): New
      enum value.
      (virDomainChrSpicevmcName): New enum.
      (virDomainChrSourceDef): Distinguish spicevmc types.
      * src/conf/domain_conf.c (virDomainGraphicsSpiceChannelName): Add
      smartcard.
      (virDomainSmartcardDefParseXML): Parse it.
      (virDomainChrDefParseXML, virDomainSmartcardDefParseXML): Set
      spicevmc name.
      (virDomainChrSpicevmc): New enum conversion functions.
      * src/libvirt_private.syms: Export new functions.
      * src/qemu/qemu_command.c (qemuBuildChrChardevStr): Conditionalize
      name.
      * tests/qemuxml2argvtest.c (domain): New test.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-passthrough-spicevmc.args:
      New file.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-passthrough-spicevmc.xml:
      Likewise.
      79f9267f
  29. 04 2月, 2011 3 次提交
    • D
      spicevmc: support new qemu chardev · be87a123
      Daniel P. Berrange 提交于
      Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=615757
      
      Add a new character device backend for virtio serial channels that
      activates the QEMU spice agent on the main channel using the vdagent
      spicevmc connection.  The <target> must be type='virtio', and supports
      an optional name that specifies how the guest will see the channel
      (for now, name must be com.redhat.spice.0).
      
      <channel type='spicevmc'>
        <target type='virtio'/>
        <address type='virtio-serial' controller='1' bus='0' port='3'/>
      </channel>
      
      * docs/schemas/domain.rng: Support new XML.
      * docs/formatdomain.html.in: Document it.
      * src/conf/domain_conf.h (virDomainChrType): New enum value.
      * src/conf/domain_conf.c (virDomainChr): Add spicevmc.
      (virDomainChrDefParseXML, virDomainChrSourceDefParseXML)
      (virDomainChrDefParseTargetXML): Parse and enforce proper use.
      (virDomainChrSourceDefFormat, virDomainChrDefFormat): Format.
      * src/qemu/qemu_command.c (qemuBuildChrChardevStr)
      (qemuBuildCommandLine): Add qemu support.
      * tests/qemuxml2argvtest.c (domain): New test.
      * tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.xml: New
      file.
      * tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args:
      Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      be87a123
    • E
      smartcard: add XML support for <smartcard> device · ffdf478b
      Eric Blake 提交于
      Assuming a hypervisor that supports multiple smartcard devices in the
      guest, this would be a valid XML description:
      
      <devices>
        <smartcard mode='host'/>
        <smartcard mode='host-certificates'>
          <certificate>/path/to/cert1</certificate>
          <certificate>/path/to/cert2</certificate>
          <certificate>/path/to/cert3</certificate>
        </smartcard>
        <smartcard mode='passthrough' type='tcp'>
          <source mode='bind' host='127.0.0.1' service='2001'/>
          <protocol type='raw'/>
        </smartcard>
      </devices>
      
      (As of this commit, the qemu hypervisor will be the first
      implementation, but it only supports one smartcard.)
      
      * docs/formatdomain.html.in (Smartcard devices): New section.
      * docs/schemas/domain.rng (smartcard): New define, used in
      devices.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-host.xml: New file
      to test schema.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-host-certificates.xml:
      Likewise.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-passthrough-tcp.xml:
      Likewise.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-controller.xml:
      Likewise.
      ffdf478b
    • J
      Support booting from hostdev devices · 83e335f9
      Jiri Denemark 提交于
      83e335f9
  30. 29 1月, 2011 1 次提交
  31. 25 1月, 2011 1 次提交
    • C
      qemu: sound: Support intel 'ich6' model · 6cabc0b0
      Cole Robinson 提交于
      In QEMU, the card itself is a PCI device, but it requires a codec
      (either -device hda-output or -device hda-duplex) to actually output
      sound. Specifying <sound model='ich6'/> gives us -device intel-hda
      -device hda-duplex I think it's important that a simple <sound model='ich6'/>
      sets up a useful codec, to have consistent behavior with all other sound cards.
      
      This is basically Dan's proposal of
      
          <sound model='ich6'>
              <codec type='output' slot='0'/>
              <codec type='duplex' slot='3'/>
          </sound>
      
      without the codec bits implemented.
      
      The important thing is to keep a consistent API here, we don't want some
      <sound> devs require tweaking codecs but not others. Steps I see to
      accomplishing this:
      
          - every <sound> device has a <codec type='default'/> (unless codecs are
              manually specified)
          - <codec type='none'/> is required to specify 'no codecs'
          - new audio settings like mic=on|off could then be exposed in
              <sound> or <codec> in a consistent manner for all sound models
      
      v2:
          Use model='ich6'
      
      v3:
          Use feature detection, from eblake
          Set codec id, bus, and cad values
      
      v4:
          intel-hda isn't supported if -device isn't available
      
      v5:
          Comment spelling fixes
      6cabc0b0