Skip to content
Snippets Groups Projects
  1. May 23, 2022
    • Jaroslav Jindrak's avatar
      hostmem: default the amount of prealloc-threads to smp-cpus · f8d426a6
      Jaroslav Jindrak authored
      
      Prior to the introduction of the prealloc-threads property, the amount
      of threads used to preallocate memory was derived from the value of
      smp-cpus passed to qemu, the amount of physical cpus of the host
      and a hardcoded maximum value. When the prealloc-threads property
      was introduced, it included a default of 1 in backends/hostmem.c and
      a default of smp-cpus using the sugar API for the property itself. The
      latter default is not used when the property is not specified on qemu's
      command line, so guests that were not adjusted for this change suddenly
      started to use the default of 1 thread to preallocate memory, which
      resulted in observable slowdowns in guest boots for guests with large
      memory (e.g. when using libvirt <8.2.0 or managing guests manually).
      
      This commit restores the original behavior for these cases while not
      impacting guests started with the prealloc-threads property in any way.
      
      Fixes: 220c1fd864e9d ("hostmem: introduce "prealloc-threads" property")
      Signed-off-by: default avatarJaroslav Jindrak <dzejrou@gmail.com>
      Message-Id: <20220517123858.7933-1-dzejrou@gmail.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f8d426a6
  2. May 14, 2022
  3. May 07, 2022
  4. Apr 28, 2022
  5. Apr 06, 2022
  6. Mar 21, 2022
  7. Feb 21, 2022
  8. Dec 21, 2021
  9. Sep 30, 2021
    • Sean Christopherson's avatar
      hostmem: Add hostmem-epc as a backend for SGX EPC · c6c02320
      Sean Christopherson authored
      
      EPC (Enclave Page Cahe) is a specialized type of memory used by Intel
      SGX (Software Guard Extensions).  The SDM desribes EPC as:
      
          The Enclave Page Cache (EPC) is the secure storage used to store
          enclave pages when they are a part of an executing enclave. For an
          EPC page, hardware performs additional access control checks to
          restrict access to the page. After the current page access checks
          and translations are performed, the hardware checks that the EPC
          page is accessible to the program currently executing. Generally an
          EPC page is only accessed by the owner of the executing enclave or
          an instruction which is setting up an EPC page.
      
      Because of its unique requirements, Linux manages EPC separately from
      normal memory.  Similar to memfd, the device /dev/sgx_vepc can be
      opened to obtain a file descriptor which can in turn be used to mmap()
      EPC memory.
      
      Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
      Signed-off-by: default avatarYang Zhong <yang.zhong@intel.com>
      Message-Id: <20210719112136.57018-3-yang.zhong@intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      c6c02320
  10. Sep 27, 2021
    • Markus Armbruster's avatar
      qapi: Convert simple union TpmTypeOptions to flat one · 39dc3e4a
      Markus Armbruster authored
      
      Simple unions predate flat unions.  Having both complicates the QAPI
      schema language and the QAPI generator.  We haven't been using simple
      unions in new code for a long time, because they are less flexible and
      somewhat awkward on the wire.
      
      To prepare for their removal, convert simple union TpmTypeOptions to
      an equivalent flat one, with existing enum TpmType replacing implicit
      enum TpmTypeOptionsKind.  Adds some boilerplate to the schema, which
      is a bit ugly, but a lot easier to maintain than the simple union
      feature.
      
      Cc: Stefan Berger <stefanb@linux.vnet.ibm.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Acked-by: default avatarStefan Berger <stefanb@linux.ibm.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <20210917143134.412106-6-armbru@redhat.com>
      [Indentation tidied up]
      39dc3e4a
  11. Aug 26, 2021
  12. Jun 30, 2021
  13. Jun 15, 2021
  14. Jun 02, 2021
  15. May 13, 2021
  16. May 02, 2021
  17. Apr 01, 2021
    • Priyankar Jain's avatar
      dbus-vmstate: Increase the size of input stream buffer used during load · 1d9fa7a8
      Priyankar Jain authored
      
      This commit fixes an issue where migration is failing in the load phase
      because of a false alarm about data unavailability.
      
      Following is the error received when the amount of data to be transferred
      exceeds the default buffer size setup by G_BUFFERED_INPUT_STREAM(4KiB),
      even when the maximum data size supported by this backend is 1MiB
      (DBUS_VMSTATE_SIZE_LIMIT):
      
        dbus_vmstate_post_load: Invalid vmstate size: 4364
        qemu-kvm: error while loading state for instance 0x0 of device 'dbus-vmstate/dbus-vmstate'
      
      This commit sets the size of the input stream buffer used during load to
      DBUS_VMSTATE_SIZE_LIMIT which is the maximum amount of data a helper can
      send during save phase.
      Secondly, this commit makes sure that the input stream buffer is loaded before
      checking the size of the data available in it, rectifying the false alarm about
      data unavailability.
      
      Fixes: 5010cec2 ("Add dbus-vmstate object")
      Signed-off-by: default avatarPriyankar Jain <priyankar.jain@nutanix.com>
      Message-Id: <cdaad4718e62bf22fd5e93ef3e252de20da5c17c.1612273156.git.priyankar.jain@nutanix.com>
      [ Modified printf format for gsize ]
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      1d9fa7a8
  18. Mar 09, 2021
  19. Feb 18, 2021
  20. Feb 09, 2021
  21. Feb 08, 2021
    • Pavel Dovgalyuk's avatar
      replay: rng-builtin support · 54550d88
      Pavel Dovgalyuk authored
      
      This patch enables using rng-builtin with record/replay
      by making the callbacks deterministic.
      
      Signed-off-by: default avatarPavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
      Message-Id: <161233201286.170686.7858208964037376305.stgit@pasha-ThinkPad-X280>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      54550d88
    • Igor Mammedov's avatar
      machine: add missing doc for memory-backend option · 8db0b204
      Igor Mammedov authored
      
      Add documentation for '-machine memory-backend' CLI option and
      how to use it.
      
      And document that x-use-canonical-path-for-ramblock-id,
      is considered to be stable to make sure it won't go away by accident.
      
      x- was intended for unstable/iternal properties, and not supposed to
      be stable option. However it's too late to rename (drop x-)
      it as it would mean that users will have to mantain both
      x-use-canonical-path-for-ramblock-id (for QEMU 5.0-5.2) versions
      and prefix-less for later versions.
      
      Signed-off-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Message-Id: <20210121161504.1007247-1-imammedo@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      8db0b204
    • David Gibson's avatar
      confidential guest support: Introduce new confidential guest support class · f91f9f25
      David Gibson authored
      
      Several architectures have mechanisms which are designed to protect
      guest memory from interference or eavesdropping by a compromised
      hypervisor.  AMD SEV does this with in-chip memory encryption and
      Intel's TDX can do similar things.  POWER's Protected Execution
      Framework (PEF) accomplishes a similar goal using an ultravisor and
      new memory protection features, instead of encryption.
      
      To (partially) unify handling for these, this introduces a new
      ConfidentialGuestSupport QOM base class.  "Confidential" is kind of vague,
      but "confidential computing" seems to be the buzzword about these schemes,
      and "secure" or "protected" are often used in connection to unrelated
      things (such as hypervisor-from-guest or guest-from-guest security).
      
      The "support" in the name is significant because in at least some of the
      cases it requires the guest to take specific actions in order to protect
      itself from hypervisor eavesdropping.
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      f91f9f25
  22. Feb 01, 2021
  23. Jan 28, 2021
  24. Dec 18, 2020
  25. Dec 15, 2020
  26. Nov 17, 2020
  27. Nov 15, 2020
  28. Oct 27, 2020
  29. Oct 13, 2020
Loading