mbox

[PULL,00/45] mostly i386 patches for 2024-06-04

Message ID 20240604064409.957105-1-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show

Pull-request

https://gitlab.com/bonzini/qemu.git tags/for-upstream

Message

Paolo Bonzini June 4, 2024, 6:43 a.m. UTC
The following changes since commit 3b2fe44bb7f605f179e5e7feb2c13c2eb3abbb80:

  Merge tag 'pull-request-2024-05-29' of https://gitlab.com/thuth/qemu into staging (2024-05-29 08:38:20 -0700)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to ba849076b6fc2290275ce7491547f6ae831cd2aa:

  hw/i386: Add support for loading BIOS using guest_memfd (2024-06-04 08:40:46 +0200)

----------------------------------------------------------------
* virtio-blk: remove SCSI passthrough functionality
* require x86-64-v2 baseline ISA
* SEV-SNP host support
* fix xsave.flat with TCG
* fixes for CPUID checks done by TCG

----------------------------------------------------------------
Brijesh Singh (6):
      i386/sev: Introduce 'sev-snp-guest' object
      i386/sev: Add the SNP launch start context
      i386/sev: Add handling to encrypt/finalize guest launch data
      hw/i386/sev: Add function to get SEV metadata from OVMF header
      i386/sev: Add support for populating OVMF metadata pages
      hw/i386/sev: Add support to encrypt BIOS when SEV-SNP is enabled

Dov Murik (3):
      i386/sev: Extract build_kernel_loader_hashes
      i386/sev: Reorder struct declarations
      i386/sev: Allow measured direct kernel boot on SNP

Michael Roth (11):
      i386/sev: Introduce "sev-common" type to encapsulate common SEV state
      i386/sev: Add a sev_snp_enabled() helper
      i386/cpu: Set SEV-SNP CPUID bit when SNP enabled
      i386/sev: Don't return launch measurements for SEV-SNP guests
      i386/sev: Update query-sev QAPI format to handle SEV-SNP
      i386/sev: Set CPU state to protected once SNP guest payload is finalized
      i386/sev: Add support for SNP CPUID validation
      i386/kvm: Add KVM_EXIT_HYPERCALL handling for KVM_HC_MAP_GPA_RANGE
      i386/sev: Enable KVM_HC_MAP_GPA_RANGE hcall for SNP guests
      hw/i386/sev: Use guest_memfd for legacy ROMs
      hw/i386: Add support for loading BIOS using guest_memfd

Pankaj Gupta (7):
      linux-headers: Update to current kvm/next
      i386/sev: Replace error_report with error_setg
      i386/sev: Move sev_launch_update to separate class method
      i386/sev: Move sev_launch_finish to separate class method
      i386/sev: Add sev_kvm_init() override for SEV class
      i386/sev: Add snp_kvm_init() override for SNP class
      i386/sev: Invoke launch_updata_data() for SNP class

Paolo Bonzini (14):
      virtio-blk: remove SCSI passthrough functionality
      host/i386: nothing looks at CPUINFO_SSE4
      meson: assume x86-64-v2 baseline ISA
      host/i386: assume presence of CMOV
      host/i386: assume presence of SSE2
      host/i386: assume presence of SSSE3
      host/i386: assume presence of POPCNT
      target/i386: fix xsave.flat from kvm-unit-tests
      update-linux-headers: fix forwarding to asm-generic headers
      update-linux-headers: move pvpanic.h to correct directory
      update-linux-headers: import linux/kvm_para.h header
      machine: allow early use of machine_require_guest_memfd
      i386/sev: Add a class method to determine KVM VM type for SNP guests
      i386/sev: Invoke launch_updata_data() for SEV class

Xiaoyao Li (1):
      memory: Introduce memory_region_init_ram_guest_memfd()

Xinyu Li (2):
      target/i386: fix SSE and SSE2 feature check
      target/i386: fix memory opsize for Mov to/from Seg

Zhao Liu (1):
      target/i386/tcg: Fix RDPID feature check

 docs/about/deprecated.rst                          |   10 -
 docs/about/removed-features.rst                    |    8 +
 docs/system/i386/amd-memory-encryption.rst         |   70 +-
 meson.build                                        |   10 +-
 qapi/misc-target.json                              |   72 +-
 qapi/qom.json                                      |   98 +-
 host/include/i386/host/cpuinfo.h                   |    4 -
 include/exec/confidential-guest-support.h          |    5 +
 include/exec/memory.h                              |    6 +
 include/hw/boards.h                                |    1 -
 include/hw/i386/pc.h                               |   28 +
 include/hw/i386/x86.h                              |    2 +-
 include/standard-headers/linux/kvm_para.h          |   38 +
 include/standard-headers/{linux => misc}/pvpanic.h |    0
 linux-headers/asm-loongarch/kvm.h                  |    4 +
 linux-headers/asm-riscv/kvm.h                      |    1 +
 linux-headers/asm-x86/kvm.h                        |   52 +-
 linux-headers/asm-x86/kvm_para.h                   |    1 +
 linux-headers/linux/kvm_para.h                     |    2 +
 linux-headers/linux/vhost.h                        |   15 +-
 target/i386/kvm/kvm_i386.h                         |    1 +
 target/i386/sev.h                                  |   13 +-
 target/i386/tcg/decode-new.h                       |    3 +
 tcg/i386/tcg-target.h                              |    5 +-
 hw/block/virtio-blk.c                              |  166 +-
 hw/core/machine.c                                  |    4 +-
 hw/i386/pc.c                                       |   14 +-
 hw/i386/pc_sysfw.c                                 |   35 +-
 hw/i386/x86-common.c                               |   19 +-
 hw/misc/pvpanic-isa.c                              |    2 +-
 hw/misc/pvpanic-pci.c                              |    2 +-
 hw/misc/pvpanic.c                                  |    2 +-
 system/memory.c                                    |   24 +
 target/i386/cpu.c                                  |    1 +
 target/i386/kvm/kvm.c                              |   56 +
 target/i386/sev-sysemu-stub.c                      |    6 +-
 target/i386/sev.c                                  | 1581 +++++++++++++++-----
 target/i386/tcg/fpu_helper.c                       |    5 +
 target/i386/tcg/translate.c                        |    2 +-
 util/bufferiszero.c                                |    4 +-
 util/cpuinfo-i386.c                                |    8 +-
 target/i386/tcg/decode-new.c.inc                   |   17 +-
 tcg/i386/tcg-target.c.inc                          |   15 +-
 scripts/update-linux-headers.sh                    |   37 +-
 target/i386/kvm/trace-events                       |    1 +
 target/i386/trace-events                           |    3 +
 46 files changed, 1844 insertions(+), 609 deletions(-)
 create mode 100644 include/standard-headers/linux/kvm_para.h
 rename include/standard-headers/{linux => misc}/pvpanic.h (100%)
 create mode 100644 linux-headers/asm-x86/kvm_para.h
 create mode 100644 linux-headers/linux/kvm_para.h