1. 21 9月, 2018 1 次提交
  2. 20 8月, 2018 1 次提交
    • E
      qemu: caps: Format SEV platform data into qemuCaps cache · 77f51ab5
      Erik Skultety 提交于
      Since we're not saving the platform-specific data into a cache, we're
      not going to populate the structure, which in turn will cause a crash
      upon calling virNodeGetSEVInfo because of a NULL pointer dereference.
      Ultimately, we should start caching this data along with host-specific
      capabilities like NUMA and SELinux stuff into a separate cache, but for
      the time being, this is a semi-proper fix for a potential crash.
      
      Backtrace (requires libvirtd restart to load qemu caps from cache):
          #0 qemuGetSEVInfoToParams
          #1 qemuNodeGetSEVInfo
          #2 virNodeGetSEVInfo
          #3 remoteDispatchNodeGetSevInfo
          #4 remoteDispatchNodeGetSevInfoHelper
          #5 virNetServerProgramDispatchCall
          #6 virNetServerProgramDispatch
          #7 virNetServerProcessMsg
          #8 virNetServerHandleJob
          #9 virThreadPoolWorker
          #10 virThreadHelper
      
      https: //bugzilla.redhat.com/show_bug.cgi?id=1612009
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      Acked-by: NPeter Krempa <pkrempa@redhat.com>
      Tested-by: NBrijesh Singh <brijesh.singh@amd.com>
      77f51ab5
  3. 19 7月, 2018 2 次提交
    • E
      conf: Introduce new video type 'none' · d48813e8
      Erik Skultety 提交于
      Historically, we've always enabled an emulated video device every time we
      see that graphics should be supported with a guest. With the appearance
      of mediated devices which can support QEMU's vfio-display capability,
      users might want to use such a device as the only video device.
      Therefore introduce a new, effectively a 'disable', type for video
      device.
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      d48813e8
    • E
      qemu: Introduce a new graphics display type 'headless' · d8266ebe
      Erik Skultety 提交于
      Since 2.10 QEMU supports a new display type egl-headless which uses the
      drm nodes for OpenGL rendering copying back the rendered bits back to
      QEMU into a dma-buf which can be accessed by standard "display" apps
      like VNC or SPICE. Although this display type can be used on its own,
      for any practical use case it makes sense to pair it with either VNC or
      SPICE display. The clear benefit of this display is that VNC gains
      OpenGL support, which it natively doesn't have, and SPICE gains remote
      OpenGL support (native OpenGL support only works locally through a UNIX
      socket, i.e. listen type=socket/none).
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      d8266ebe
  4. 15 6月, 2018 1 次提交
    • E
      conf: Fix formatting of <sev> element in domain capabilities XML · 6688393c
      Erik Skultety 提交于
      We only formatted the <sev> element when QEMU supported the feature when
      in fact we should always format the element to make clear that libvirt
      knows about the feature and the fact whether it is or isn't supported
      depends on QEMU version, in other words if QEMU doesn't support the
      feature we're going to format the following into the domain capabilities
      XML:
      
      <sev supported='no'/>
      
      This patch also adjusts the RNG schema accordingly in order to reflect
      the proposed change.
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      6688393c
  5. 25 5月, 2018 1 次提交
  6. 17 5月, 2018 1 次提交
  7. 04 5月, 2018 3 次提交
  8. 24 3月, 2018 2 次提交
  9. 25 1月, 2018 1 次提交
    • S
      cpu: Add support for al57 Intel features · e7cb9c4e
      Shaohe Feng 提交于
      We can start qemu with a "cpu,+la57" to set 57-bit vitrual address
      space. So VM can be aware that it need to enable 5-level paging.
      
      Corresponding QEMU commits:
              al57 6c7c3c21f95dd9af8a0691c0dd29b07247984122
      e7cb9c4e
  10. 08 11月, 2017 1 次提交
  11. 18 9月, 2017 1 次提交
  12. 05 9月, 2017 1 次提交
  13. 22 7月, 2017 1 次提交
    • D
      qemu: Add AAVMF32 to the list of known UEFIs · 123880d3
      dann frazier 提交于
      Add a path for UEFI VMs for AArch32 VMs, based on the path Debian is using.
      libvirt is the de facto canonical location for defining where distros
      should place these firmware images, so let's define this path here to try
      and minimize distro fragmentation.
      123880d3
  14. 18 4月, 2017 2 次提交
  15. 30 3月, 2017 1 次提交
    • J
      qemu: Check non-migratable host CPU features · 385c1cc9
      Jiri Denemark 提交于
      CPU features which change their value from disabled to enabled between
      two calls to query-cpu-model-expansion (the first with no extra
      properties set and the second with 'migratable' property set to false)
      can be marked as enabled and non-migratable in qemuMonitorCPUModelInfo.
      
      Since the code consuming qemuMonitorCPUModelInfo currently ignores the
      migratable flag, this change is effectively changing the CPU model
      advertised in domain capabilities to contain all features (even those
      which block migration). And this matches what we do for QEMU older than
      2.9.0, when we detect all CPUID bits ourselves without asking QEMU.
      
      As a result of this change
      
          <cpu mode='host-model'>
            <feature name='invtsc' policy='require'/>
          </cpu>
      
      will work with all QEMU versions. Such CPU definition would be forbidden
      with QEMU >= 2.9.0 without this patch.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      385c1cc9
  16. 27 3月, 2017 1 次提交
    • E
      conf: Introduce new hostdev device type mdev · ec783d7c
      Erik Skultety 提交于
      A mediated device will be identified by a UUID (with 'model' now being
      a mandatory <hostdev> attribute to represent the mediated device API) of
      the user pre-created mediated device. We also need to make sure that if
      user explicitly provides a guest address for a mdev device, the address
      type will be matching the device API supported on that specific mediated
      device and error out with an incorrect XML message.
      
      The resulting device XML:
      <devices>
        <hostdev mode='subsystem' type='mdev' model='vfio-pci'>
          <source>
            <address uuid='c2177883-f1bb-47f0-914d-32a22e3a8804'>
          </source>
        </hostdev>
      </devices>
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      ec783d7c
  17. 26 3月, 2017 1 次提交
    • R
      domaincapstest: add bhyve caps test · 74cfb5bb
      Roman Bogorodskiy 提交于
       * Extract filling bhyve capabilities from virBhyveDomainCapsBuild()
         into a new function virBhyveDomainCapsFill() to make testing
         easier by not having to mock firmware directory listing and
         hypervisor capabilities probing
       * Also, just presence of the firmware files is not sufficient
         to enable os.loader.supported, hypervisor should support UEFI
         boot too
       * Add tests to domaincapstest for the main caps possible flows:
          - when UEFI bootrom is supported
          - when video (fbus) is supported
          - neither of above is supported
      74cfb5bb
  18. 12 3月, 2017 1 次提交
    • F
      bhyve: add video support · 04664327
      Fabian Freyer 提交于
      bhyve supports 'gop' video device that allows clients to connect
      to VMs using VNC clients. This commit adds support for that to
      the bhyve driver:
      
       - Introducr 'gop' video device type
       - Add capabilities probing for the 'fbuf' device that's
         responsible for graphics
       - Update command builder routines to let users configure
         domain's VNC via gop graphics.
      Signed-off-by: NRoman Bogorodskiy <bogorodskiy@gmail.com>
      04664327
  19. 07 3月, 2017 1 次提交
  20. 04 3月, 2017 3 次提交
  21. 24 2月, 2017 1 次提交
    • J
      qemu: Fix CPU model fallback in domain capabilities · 390a1e2b
      Jiri Denemark 提交于
      Our documentation of the domain capabilities XML says that the fallback
      attribute of a CPU model is used to indicate whether the CPU model was
      detected by libvirt itself (fallback="allow") or by asking the
      hypervisor (fallback="forbid"). We need to properly set
      fallback="forbid" when CPU model comes from QEMU to match the
      documentation.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      390a1e2b
  22. 06 1月, 2017 2 次提交
  23. 28 11月, 2016 2 次提交
    • J
      qemu: Add support for unavailable-features · a1adfb0f
      Jiri Denemark 提交于
      QEMU 2.8.0 adds support for unavailable-features in
      query-cpu-definitions reply. The unavailable-features array lists CPU
      features which prevent a corresponding CPU model from being usable on
      current host. It can only be used when all the unavailable features are
      disabled. Empty array means the CPU model can be used without
      modifications.
      
      We can use unavailable-features for providing CPU model usability info
      in domain capabilities XML:
      
          <domainCapabilities>
            ...
            <cpu>
              <mode name='host-passthrough' supported='yes'/>
              <mode name='host-model' supported='yes'>
                <model fallback='allow'>Skylake-Client</model>
                ...
              </mode>
              <mode name='custom' supported='yes'>
                <model usable='yes'>qemu64</model>
                <model usable='yes'>qemu32</model>
                <model usable='no'>phenom</model>
                <model usable='yes'>pentium3</model>
                <model usable='yes'>pentium2</model>
                <model usable='yes'>pentium</model>
                <model usable='yes'>n270</model>
                <model usable='yes'>kvm64</model>
                <model usable='yes'>kvm32</model>
                <model usable='yes'>coreduo</model>
                <model usable='yes'>core2duo</model>
                <model usable='no'>athlon</model>
                <model usable='yes'>Westmere</model>
                <model usable='yes'>Skylake-Client</model>
                ...
              </mode>
            </cpu>
            ...
          </domainCapabilities>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      a1adfb0f
    • J
      tests: Add QEMU 2.8.0 domain capabilities tests · fe66e2ff
      Jiri Denemark 提交于
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      fe66e2ff
  24. 26 11月, 2016 7 次提交
  25. 25 11月, 2016 1 次提交