1. 18 1月, 2010 2 次提交
    • D
      Convert character devices over to use -device · 7b2f8cdd
      Daniel P. Berrange 提交于
      The current character device syntax uses either
      
        -serial tty,path=/dev/ttyS2
      
      Or
      
        -chardev tty,id=serial0,path=/dev/ttyS2 -serial chardev:serial0
      
      With the new -device support, we now prefer
      
        -chardev file,id=serial0,path=/tmp/serial.log -device isa-serial,chardev=serial0
      
      This patch changes the existing -chardev syntax to use this new
      scheme, and fallbacks to the old plain -serial syntax for old
      QEMU.
      
      The monitor device changes to
      
        -chardev socket,id=monitor,path=/tmp/test-monitor,server,nowait -mon chardev=monitor
      
      In addition, this patch adds --nodefaults, which kills off the
      default serial, parallel, vga and nic devices. THis avoids the
      need for us to explicitly turn each off
      7b2f8cdd
    • D
      Auto-add disk controllers based on defined disks · b030084f
      Daniel P. Berrange 提交于
      Existing applications using libvirt are not aware of the disk
      controller concept. Thus, after parsing the <disk> definitions
      in the XML, it is neccessary to create <controller> elements
      to satisfy all requested disks, as per their defined drive
      addresses
      
      * src/conf/domain_conf.c, src/conf/domain_conf.h,
        src/libvirt_private.syms: Add virDomainDefAddDiskControllers()
        method for populating disk controllers, and call it after
        parsing disk definitions.
      * src/qemu/qemu_conf.c: Call virDomainDefAddDiskControllers()
        when doing ARGV -> XML conversion
      * tests/qemuxml2argvdata/qemuxml2argv*.xml: Add disk controller
        data to all data files which don't have it already
      b030084f
  2. 16 1月, 2010 2 次提交
    • D
      Specify bus/unit instead of index for disks with QEMU · d78554d8
      Daniel P. Berrange 提交于
      The current code for using -drive simply sets the -drive 'index'
      parameter. QEMU internally converts this to bus/unit depending
      on the type of drive. This does not give us precise control over
      the bus/unit assignment though. This change switches over to make
      libvirt explicitly calculate the bus/unit number.
      
      In addition bus/unit/index are actually irrelevant for VirtIO
      disks, since each virtio disk is a separate PCI device. No disk
      controller is involved.
      
      Doing the conversion to bus/unit in libvirt allows us to correctly
      attach SCSI controllers when required.
      
      * src/qemu/qemu_conf.c: Specify bus/unit instead of index for
        disks
      * tests/qemuxml2argvdata/qemuxml2argv-disk*.args: Switch over from
        using index=NNNN, to bus=NN, unit=NN for SCSI/IDE/Floppy disks
      d78554d8
    • D
      Set default disk controller/bus/unit props · 776e37e1
      Daniel P. Berrange 提交于
      When parsing the <disk> element specification, if no <address>
      is provided for the disk, then automatically assign one based on
      the <target dev='sdXX'/> device name. This provides for backwards
      compatability with existing applications using libvirt, while also
      allowing new apps to have complete fine grained control.
      
      * src/conf/domain_conf.h, src/conf/domain_conf.c,
        src/libvirt_private.syms: Add virDomainDiskDefAssignAddress()
        for assigning a controller/bus/unit address based on disk target
      * src/qemu/qemu_conf.c: Call virDomainDiskDefAssignAddress() after
        generating XML from ARGV
      * tests/qemuxml2argvdata/*.xml: Add in drive address information
        to all XML files
      776e37e1
  3. 09 1月, 2010 1 次提交
  4. 14 12月, 2009 1 次提交
    • M
      Make QEMU driver use -chardev everywhere if available · a8eb010e
      Matthew Booth 提交于
      Change -monitor, -serial and -parallel output to use -chardev if it is
      available.
      * src/qemu/qemu_conf.c: Update qemudBuildCommandLine to use -chardev where
        available.
      * tests/qemuxml2argvtest.c tests/qemuxml2argvdata/: Add -chardev equivalents
        for all current serial and parallel tests.
      a8eb010e
  5. 23 11月, 2009 1 次提交
    • D
      Support QEMU's virtual FAT block device driver · e7c78b0a
      Daniel P. Berrange 提交于
      Introduce a new type="dir"  mode for <disks> that allows use of
      QEMU's  virtual FAT block device driver. eg
      
          <disk type='dir' device='floppy'>
            <source dir='/tmp/test'/>
            <target dev='fda' bus='fdc'/>
            <readonly/>
          </disk>
      
      gets turned into
      
        -drive file=fat:floppy:/tmp/test,if=floppy,index=0
      
      Only read-only disks are supported with virtual FAT mode
      
      * src/conf/domain_conf.c, src/conf/domain_conf.h: Add type="dir"
      * docs/schemas/domain.rng: Document new disk type
      * src/xen/xend_internal.c, src/xen/xm_internal.c: Raise error for
        unsupported disk types
      * tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args: Fix
        empty disk file handling
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args,
        tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml,
        tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args,
        tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml
        tests/qemuxml2argvtest.c: Test QEMU vitual FAT driver
      * src/qemu/qemu_conf.c: Support generating fat:/some/dir type
        disk args
      * src/security/security_selinux.c: Temporarily skip labelling
        of directory based disks
      e7c78b0a
  6. 05 11月, 2009 1 次提交
  7. 21 10月, 2009 1 次提交
  8. 12 10月, 2009 1 次提交
    • M
      Take domain type into account when looking up default machine · 73c901a8
      Mark McLoughlin 提交于
      If one has e.g.
      
        <guest>
          <os_type>hvm</os_type>
          <arch name='x86_64'>
            <wordsize>64</wordsize>
            <emulator>/usr/bin/qemu-system-x86_64</emulator>
            <machine>pc-0.11</machine>
            <machine canonical='pc-0.11'>pc</machine>
            <machine>pc-0.10</machine>
            <machine>isapc</machine>
            <domain type='qemu'>
            </domain>
            <domain type='kvm'>
              <emulator>/usr/bin/kvm</emulator>
              <machine>pc</machine>
              <machine>isapc</machine>
            </domain>
          </arch>
        </guest>
      
      and start a guest with:
      
        <domain type='kvm'>
          ...
          <os>
            <type arch='x86_64'>hvm</type>
            ...
          </os>
        </domain>
      
      then the default machine type should be 'pc' and not 'pc-0.11'
      
      Issue was reported by Anton Protopopov.
      
      * src/capabilities.[ch]: pass the domain type to
        virCapabilitiesDefaultGuestArch() and use it to look up the default
        machine type from a specific guest domain if needed.
      
      * src/conf/domain_conf.c, src/xen/xm_internal.c: update
      
      * tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml: update
        the domain type to 'kvm' and remove the machine type to check
        that the default gets looked up correctly
      73c901a8
  9. 30 9月, 2009 1 次提交
    • D
      Fix QEMU test suite with new VNC env variable · 727cda9d
      Daniel P. Berrange 提交于
      * qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args,
        qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args,
        qemuxml2argvdata/qemuxml2argv-graphics-vnc.args,
        qemuxml2argvdata/qemuxml2argv-input-xen.args: Add in
        QEMU_AUDIO_DRV=none env variable
      727cda9d
  10. 22 9月, 2009 1 次提交
    • D
      Fix handling of Xen(ner) detection · b81a7ece
      Daniel P. Berrange 提交于
      Latest upstream QEMU can be built with Xen support, which introduces
      a -xen-domid argument. This was  mistakenly detected as -domid due
      to old Xenner support. Adapt to cope with both syntax. Also only
      set domid if the virt type is xen, or the guest type is xen
      
      * src/qemu_conf.c, src/qemu_conf.h: Detect new -xen-domid flag in
        preference to -domid.
      * tests/qemuxml2argvdata/qemuxml2argv-bootloader.args,
        tests/qemuxml2argvdata/qemuxml2argv-input-xen.args: Add missing
        -domid param
      * tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args: Remove bogus
        -boot param.
      * tests/qemuxml2argvtest.c: Add missing QEMUD_CMD_FLAG_DOMID params
      b81a7ece
  11. 10 9月, 2009 2 次提交
    • M
      Test that domain-specific qemu machine types are used correctly · e52d608d
      Mark McLoughlin 提交于
      * tests/testutilsqemu.c: add a machine types list for /usr/bin/kvm
        which doesn't have any aliases, while the guest has aliases
      
      * tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.*,
        tests/qemuxml2argvtest.c: add a test using /usr/bin/kvm and make
        sure that 'pc' machine type doesn't get canonicalized using the
        aliases in the guest machine type list
      e52d608d
    • M
      Test qemu machine aliases · aa67241b
      Mark McLoughlin 提交于
      * tests/testutilsqemu.c: make 'pc' an alias for qemu-system-x86_64
      
      * tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.*,
        tests/qemuxml2argvtest.c: add a test which uses qemu-system-x86_64
        and make sure the machine type is canonicalized.
      aa67241b
  12. 03 9月, 2009 2 次提交
    • D
      Add support for setting disk drive serial numbers · 85d15b51
      Daniel P. Berrange 提交于
      * docs/schemas/domain.rng: Add <serial> element to disks
      * src/domain_conf.h, src/domain_conf.c: XML parsing and
        formatting for disk serial numbers
      * src/qemu_conf.c: Set serial number when launching guests
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args,
        tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.xml: Add
        serial number to XML test
      85d15b51
    • D
      Support configuration of huge pages in guests · d823a05a
      Daniel P. Berrange 提交于
      Add option to domain XML for
      
           <memoryBacking>
              <hugepages/>
           </memoryBacking>
      
      * configure.in: Add check for mntent.h
      * qemud/libvirtd_qemu.aug, qemud/test_libvirtd_qemu.aug, src/qemu.conf
        Add 'hugetlbfs_mount' config parameter
      * src/qemu_conf.c, src/qemu_conf.h: Check for -mem-path flag in QEMU,
        and pass it when hugepages are requested.
        Load hugetlbfs_mount config parameter, search for mount if not given.
      * src/qemu_driver.c: Free hugetlbfs_mount/path parameter in driver shutdown.
        Create directory for QEMU hugepage usage, chowning if required.
      * docs/formatdomain.html.in: Document memoryBacking/hugepages elements
      * docs/schemas/domain.rng: Add memoryBacking/hugepages elements to schema
      * src/util.c, src/util.h, src/libvirt_private.syms: Add virFileFindMountPoint
        helper API
      * tests/qemuhelptest.c: Add -mem-path constants
      * tests/qemuxml2argvtest.c, tests/qemuxml2xmltest.c: Add tests for hugepage
        handling
      * tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml,
        tests/qemuxml2argvdata/qemuxml2argv-hugepages.args: Data files for
        hugepage tests
      d823a05a
  13. 22 7月, 2009 1 次提交
    • M
      Assign names to qemu NICs and network backends · c23dae4e
      Mark McLoughlin 提交于
      We need these so that we can remove the devices via the monitor.
      
      * src/domain_conf.h: add nic_name and hostnet_name to virDomainNetDef
      
      * src/domain_conf.c: free nic_name and hostnet_name
      
      * src/qemu_conf.c: add qemuAssignNetNames(), use it if qemu has
        support for the param and pass the names on the command line
      
      * tests/qemuxml2argv*: add a test for this
      c23dae4e
  14. 10 7月, 2009 1 次提交
    • M
      Switch to using a unix socket for the qemu monitor · 62455ed8
      Mark McLoughlin 提交于
      We keep support for the pty based monitor so that we can re-connect
      to VMs started by older versions of libvirtd.
      
      * src/domain_conf.c: handle formatting and parsing unix monitors
      
      * src/qemu_driver.c: add qemudOpenMonitorUnix(), remove the monitor
        pty path searching from qemudFindCharDevicePTYs(), switch
        qemudStartVMDaemon() and qemuDomainXMLToNative() to using a unix
        monitor
      
      * tests/qemuxml2argvtest.c: switch to using a unix monitor
      
      * tests/qemuxml2argvdata/qemuxml2argv-*.args: update test data
      62455ed8
  15. 08 7月, 2009 1 次提交
    • D
      Support <video> element for QEMU guests · ad6d5acb
      Daniel P. Berrange 提交于
      	* src/qemu_conf.c, src/qemu_conf.h: Use -vga or -std-vga
      	when starting guests if video card is present
      	* tests/qemuhelptest.c: Change to use constants instead
      	of hardcoded hex numbers, and add VGA support
      	* tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.xml,
      	tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args,
      	tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.xml,
      	tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args,
      	tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.xml,
      	tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.xml,
      	tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml,
      	tests/qemuxml2argvdata/qemuxml2argv-input-xen.xml: Add <video>
      	element for testing graphics adapter
      	* tests/qemuxml2argvtest.c: Add QEMUD_CMD_FLAG_VGA flag
      	* tests/qemuxml2xmltest.c: Add missing graphics-vnc-sasl/tls tests
      ad6d5acb
  16. 17 6月, 2009 1 次提交
  17. 21 5月, 2009 1 次提交
  18. 11 5月, 2009 1 次提交
    • C
      Add pidfile argument to __virExec · a331653d
      Cole Robinson 提交于
      virExec will write out the pid of the daemonized process only. Use this
      in the QEMU driver, rather than QEMU's pidfile, so we can catch errors we
      might miss if the emulator bails early.
      a331653d
  19. 16 4月, 2009 1 次提交
  20. 20 3月, 2009 1 次提交
  21. 16 3月, 2009 2 次提交
  22. 03 3月, 2009 1 次提交
    • D
      adds a new <hostdev managed='(yes|no)'> property to host devices in domains · 09fb8845
      Daniel Veillard 提交于
      * docs/schemas/domain.rng src/domain_conf.c src/domain_conf.h
        src/qemu_conf.c
        tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.xml
        tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.xml
        tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-product.xml:
        adds a new <hostdev managed='(yes|no)'> property
        to host devices indicating whether or not we should
        automatically dettach/reset, patch by Mark McLoughlin
      daniel
      09fb8845
  23. 31 1月, 2009 3 次提交
  24. 30 1月, 2009 1 次提交
  25. 24 1月, 2009 1 次提交
  26. 12 1月, 2009 1 次提交
    • D
      Add tests and docs for the new PCI passthrough format · c8ef64bd
      Daniel Veillard 提交于
      * docs/formatdomain.html.in docs/libvirt.rng docs/formatdomain.html:
        document the new PCI passthrough format
      * tests/qemuxml2argvtest.c tests/qemuxml2xmltest.c
        tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args
        tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.xml:
        and add a regression test for it.
      Daniel
      c8ef64bd
  27. 18 12月, 2008 1 次提交
  28. 12 12月, 2008 1 次提交
  29. 11 12月, 2008 1 次提交
    • D
      Adding support for SDL fullscreen option · a3d570c7
      Daniel Veillard 提交于
      * src/domain_conf.c src/domain_conf.h src/qemu_conf.c
        tests/qemuxml2argvtest.c tests/qemuxml2xmltest.c
        tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
        tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.xml:
        slightly modified patch for SDL fullscreen from Itamar Heim
      * docs/formatdomain.html docs/formatdomain.html.in docs/libvirt.rng:
        update the schemas and docs about the sdl graphic element attributes
      * AUTHORS: add Itamar Heim
      Daniel
      a3d570c7
  30. 05 11月, 2008 1 次提交
  31. 11 10月, 2008 1 次提交
  32. 15 8月, 2008 1 次提交
  33. 11 8月, 2008 1 次提交
    • J
      tests: append a newline to expected-output files lacking NL-at-EOF · efb8492b
      Jim Meyering 提交于
      * tests/qemuxml2argvtest.c (testCompareXMLToArgvFiles): Adjust the
      code that creates "actual" output, so that it too produces a
      newline-terminated buffer.
      * tests/qemuxml2argvdata/*.args: Append a newline to each, via:
      for i in $(find|grep '\.args$'); do echo >> $i;done
      efb8492b