1. 19 5月, 2016 1 次提交
    • C
      qemu: Assign device addresses in PostParse · 5d7314bb
      Cole Robinson 提交于
      This wires up qemuDomainAssignAddresses into the new
      virDomainDefAssignAddressesCallback, so it's always triggered
      via virDomainDefPostParse. We are essentially doing this already
      with open coded calls sprinkled about.
      
      qemu argv parse output changes slightly since previously it wasn't
      hitting qemuDomainAssignAddresses.
      5d7314bb
  2. 18 5月, 2016 2 次提交
    • A
      tests: Try different usable GIC versions · f6ececa6
      Andrea Bolognani 提交于
      The only case where the hardware capabilities influence the result
      is when no <gic/> element was provided.
      
      The test programs now ensure both that the correct GIC version is
      picked in that case, and that hardware capabilities are not taken
      into account when the user has already picked a GIC version.
      f6ececa6
    • A
      tests: Prepare to have different usable GIC versions · 63bc91ee
      Andrea Bolognani 提交于
      Now that we choose the GIC version based on hardware features when
      no <gic/> element has been provided, we need a way to fake the GIC
      capabilities of the host.
      
      Update the qemuxml2argv and qemuxml2xml tests to allow this.
      63bc91ee
  3. 17 5月, 2016 3 次提交
    • A
      qemu: Drop QEMU_CAPS_VIRTIO_BLK_SG_IO · 0e8a72a5
      Andrea Bolognani 提交于
      The only QEMU versions that don't have such capability are <0.11,
      which we no longer support anyway
      0e8a72a5
    • A
      qemu: Drop QEMU_CAPS_CPU_HOST · 859743c2
      Andrea Bolognani 提交于
      The only QEMU versions that don't have such capability are <0.11,
      which we no longer support anyway
      859743c2
    • A
      qemu: Drop QEMU_CAPS_PCI_ROMBAR · 8531b85b
      Andrea Bolognani 提交于
      The only QEMU versions that don't have such capability are <0.12,
      which we no longer support anyway.
      
      Additionally, this solves the issue of some QEMU binaries being
      reported as not having such capability just because they lacked
      the {kvm-}pci-assign QMP object.
      8531b85b
  4. 16 5月, 2016 3 次提交
  5. 11 5月, 2016 1 次提交
    • L
      conf: log error when incorrect PCI root controller is added to domain · e5aecc2f
      Laine Stump 提交于
      libvirt may automatically add a pci-root or pcie-root controller to a
      domain, depending on the arch/machinetype, and it hopefully always
      makes the right decision about which to add (since in all cases these
      controllers are an implicit part of the virtual machine).
      
      But it's always possible that someone will create a config that
      explicitly supplies the wrong type of PCI controller for the selected
      machinetype. In the past that would lead to an error later when
      libvirt was trying to assign addresses to other devices, for example:
      
        XML error: PCI bus is not compatible with the device at
        0000:00:02.0. Device requires a PCI Express slot, which is not
        provided by bus 0000:00
      
      (that's the error message that appears if you replace the pcie-root
      controller in a Q35 domain with a pci-root controller).
      
      This patch adds a check at the same place that the implicit
      controllers are added (to ensure that the same logic is used to check
      which type of pci root is correct). If a pci controller with index='0'
      is already present, we verify that it is of the model that we would
      have otherwise added automatically; if not, an error is logged:
      
        The PCI controller with index='0' must be " model='pcie-root' for
        this machine type, " but model='pci-root' was found instead.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1004602
      e5aecc2f
  6. 04 5月, 2016 1 次提交
  7. 03 5月, 2016 1 次提交
  8. 02 5月, 2016 1 次提交
  9. 15 4月, 2016 2 次提交
    • L
      qemu: support new pci controller model "pcie-expander-bus" · 8b62c65d
      Laine Stump 提交于
      This is backed by the qemu device pxb-pcie, which will be available in
      qemu 2.6.0.
      
      As with pci-expander-bus (which uses qemu's pxb device), the busNr
      attribute and <node> subelement of <target> are used to set the bus_nr
      and numa_node options.
      
      During post-parse we validate that the domain's machinetype is
      q35-based (since the device shows up for 440fx-based machinetypes, but
      is unusable), as well as checking that <node> specifies a node that is
      actually configured on the guest.
      8b62c65d
    • L
      qemu: support new pci controller model "pci-expander-bus" · 400b2976
      Laine Stump 提交于
      This is backed by the qemu device "pxb".
      
      The pxb device always includes a pci-bridge that is at the bus number
      of the pxb + 1.
      
      busNr and <node> from the <target> subelement are used to set the
      bus_nr and numa_node options for pxb.
      
      During post-parse we validate that the domain's machinetype is
      440fx-based (since the pxb device only works on 440fx-based machines),
      and <node> also gets a sanity check to assure that the NUMA node
      specified for the pxb (if any - it's optional) actually exists on the
      guest.
      400b2976
  10. 14 4月, 2016 1 次提交
    • J
      tests: do not overwrite return value when filling qemuCapsCache · d0cc8b10
      Ján Tomko 提交于
      In qemuHotplugCreateObjects, the ret variable was filled by
      the value returned by qemuTestCapsCacheInsert.
      
      If any of the functions after this assignment failed, we would still
      return success.
      
      Also adjust testCompareXMLToArgvHelper, where this change is just
      cosmetic, because the value was overwritten right away.
      d0cc8b10
  11. 13 4月, 2016 2 次提交
    • J
      qemu: assign addresses before aliases · 786bc251
      Ján Tomko 提交于
      The address assigning code might add new pci bridges.
      We need them to have an alias when building the command line.
      
      In real word usage, this is not a problem because all the code
      paths already call qemuDomainAssignAddresses. However moving
      this call lets us remove one extra call from qemuxml2argvtest.
      786bc251
    • J
      qemuxml2argvtest: drop FLAG_EXPECT_ERROR · 1922d2f1
      Ján Tomko 提交于
      It is only used for failed address allocation
      Since we already have FLAG_EXPECT_FAILURE, use that instead.
      
      Also unify the output to print the whole log buffer instead
      of just the last error message.
      1922d2f1
  12. 11 4月, 2016 1 次提交
  13. 08 4月, 2016 2 次提交
  14. 07 4月, 2016 1 次提交
    • J
      qemu: Introduce qemuBuildMasterKeyCommandLine · d8a8cae3
      John Ferlan 提交于
      If the -object secret capability exists, then get the path to the
      masterKey file and provide that to qemu. Checking for the existence
      of the file before passing to qemu could be done, but causes issues
      in mock test environment.
      
      Since the qemuDomainObjPrivate is not available when building the
      command line, the qemuBuildHasMasterKey API will have to suffice
      as the primary arbiter for whether the capability exists in order
      to find/return the path to the master key for usage.
      
      Created the qemuDomainGetMasterKeyAlias API which will be used by
      later patches to define the 'keyid' (eg, masterKey) to be used by
      other secrets to provide the id to qemu for the master key.
      d8a8cae3
  15. 22 3月, 2016 5 次提交
  16. 21 3月, 2016 1 次提交
    • C
      qemu: Don't add -spice port=0 when no port is specified · 6d28ef91
      Christophe Fergeau 提交于
      If a <graphics type='spice'> has no port nor tlsPort set, the generated
      QEMU command line will contain -spice port=0.
      This is later going to be ignored by spice-server, but it's better not
      to add it at all in this situation.
      As an empty -spice is not allowed, we still need to append port=0 if we
      did not add any other argument.
      6d28ef91
  17. 11 3月, 2016 1 次提交
  18. 10 3月, 2016 2 次提交
  19. 01 3月, 2016 2 次提交
    • M
      qemu: add spice opengl support · 937ebba0
      Marc-André Lureau 提交于
      Add Spice graphics gl attribute. qemu 2.6 should have -spice gl=on argument to
      enable opengl rendering context (patches on the ML). This is necessary to
      actually enable virgl rendering.
      
      Add a qemuxml2argv test for virtio-gpu + spice with virgl.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      937ebba0
    • M
      qemu: Shorten per-domain directory names · a89f05ba
      Martin Kletzander 提交于
      Per-domain directories were introduced in order to be able to
      completely separate security labels for each domain (commit
      f1f68ca3).  However when the domain
      name is long (let's say a ridiculous 110 characters), we cannot
      connect to the monitor socket because on length of UNIX socket address
      is limited.  In order to get around this, let's shorten it in similar
      fashion and in order to avoid conflicts, throw in an ID there as well.
      Also save that into the status XML and load the old status XMLs
      properly (to clean up after older domains).  That way we can change it
      in the future.
      
      The shortening can be seen in qemuxml2argv tests, for example in the
      hugepages-pages2 case.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      a89f05ba
  20. 26 2月, 2016 2 次提交
  21. 22 2月, 2016 1 次提交
  22. 19 2月, 2016 1 次提交
  23. 17 2月, 2016 1 次提交
  24. 16 2月, 2016 2 次提交
    • A
      tests: Add more GIC test cases · 998a936c
      Andrea Bolognani 提交于
      Test all kinds of scenarios, including guests asking for GIC but
      failing to specify a version, guests specifying an invalid version
      and guests trying to use GIC with non-virt or even non-ARM machines.
      998a936c
    • A
      tests: Reorganize and simplify GIC test cases · 161a3418
      Andrea Bolognani 提交于
      Unify the naming to prepare for new test cases that will be added
      later on.
      
      Convert a couple of output XML files for the qemuxml2xml test to
      symlinks while at it, since they were identical to the corresponding
      input XML files anyways.
      
      Moreover, since we're only interested in testing GIC support here,
      simplify XML files by getting rid of the unrelevant bits.
      161a3418