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 -- 2.45.1