qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/77] Rust, target/i386 changes for QEMU 10.1 soft freeze
@ 2025-07-14 11:02 Paolo Bonzini
  2025-07-14 11:02 ` [PULL 01/77] rust/qemu-api: Fix binding path in source directory Paolo Bonzini
                   ` (77 more replies)
  0 siblings, 78 replies; 85+ messages in thread
From: Paolo Bonzini @ 2025-07-14 11:02 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit df6fe2abf2e990f767ce755d426bc439c7bba336:

  Merge tag 'pull-target-arm-20250704' of https://gitlab.com/pm215/qemu into staging (2025-07-07 09:22:41 -0400)

are available in the Git repository at:

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

for you to fetch changes up to 5d21ee453ad8e3f95f75e542cb3b35c5bb7cf23a:

  i386/cpu: Honor maximum value for CPUID.8000001DH.EAX[25:14] (2025-07-14 10:29:17 +0200)

----------------------------------------------------------------
* rust: miscellaneous fixes
* rust: qemu-api-macros: cleanup and add unit tests for TryInto
* rust: log: implement io::Write, avoid memory allocations
  when logging constant strings
* target/i386: fix usage of properties whenever accelerators
  change the default (e.g. vendor)
* target/i386: add support for TDVMCALL_SETUP_EVENT_NOTIFY_INTERRUPT
* target/i386: add support for booting an SEV VM from an IGVM file
* target/i386: unify cache model descriptions between CPUID 2,
  CPUID 4 and AMD specific CPUID 0x80000006
* target/i386: introduce cache models for recent Intel CPU models
* target/i386: mark some 0x80000000-0x80000008 bits as reserved on Intel
* target/i386: cleanups

----------------------------------------------------------------
Chuang Xu (1):
      i386/cpu: Fix number of addressable IDs field for CPUID.01H.EBX[23:16]

Ewan Hai (1):
      i386/cpu: Introduce cache model for YongFeng

Manish Mishra (1):
      i386/cpu: Add a "x-force-cpuid-0x1f" property

Manos Pitsidianakis (4):
      rust/qemu-api-macros: use syn::Error directly
      rust/bindings: allow unnecessary_transmutes (1.88)
      rust/qemu-api-macros: normalize TryInto output
      rust/qemu-api-macros: add unit tests

Paolo Bonzini (8):
      rust/qemu-api: log: implement io::Write
      target/i386: move max_features to class
      target/i386: nvmm, whpx: add accel/CPU class that sets host vendor
      target/i386: allow reordering max_x86_cpu_initfn vs accel CPU init
      target/i386: move accel_cpu_instance_init to .instance_init
      target/i386: merge host_cpu_instance_init() and host_cpu_max_instance_init()
      tests/functional: test_x86_cpu_model_versions: remove dead tests
      tests/vm: bump FreeBSD image to 14.3

Qian Wen (2):
      i386/cpu: Fix cpu number overflow in CPUID.01H.EBX[23:16]
      i386/cpu: Fix overflow of cache topology fields in CPUID.04H

Roy Hopkins (16):
      meson: Add optional dependency on IGVM library
      backends/confidential-guest-support: Add functions to support IGVM
      backends/igvm: Add IGVM loader and configuration
      hw/i386: Add igvm-cfg object and processing for IGVM files
      i386/pc_sysfw: Ensure sysfw flash configuration does not conflict with IGVM
      sev: Update launch_update_data functions to use Error handling
      target/i386: Allow setting of R_LDTR and R_TR with cpu_x86_load_seg_cache()
      i386/sev: Refactor setting of reset vector and initial CPU state
      i386/sev: Implement ConfidentialGuestSupport functions for SEV
      docs/system: Add documentation on support for IGVM
      docs/interop/firmware.json: Add igvm to FirmwareDevice
      backends/confidential-guest-support: Add set_guest_policy() function
      backends/igvm: Process initialization sections in IGVM file
      backends/igvm: Handle policy for SEV guests
      i386/sev: Add implementation of CGS set_guest_policy()
      sev: Provide sev_features flags from IGVM VMSA to KVM_SEV_INIT2

Xiaoyao Li (11):
      i386/tdx: Remove enumeration of GetQuote in tdx_handle_get_tdvmcall_info()
      update Linux headers to KVM tree master
      i386/tdx: Set value of <GetTdVmCallInfo> based on capabilities of both KVM and QEMU
      i386/tdx: handle TDVMCALL_SETUP_EVENT_NOTIFY_INTERRUPT
      i386/cpu: Move the implementation of is_host_cpu_intel() host-cpu.c
      i386/cpu: Use CPUID_MODEL_ID_SZ instead of hardcoded 48
      i386: Cleanup the usage of CPUID_VENDOR_INTEL_1
      i386/kvm-cpu: Fix the indentation inside kvm_cpu_realizefn()
      i386/cpu: Unify family, model and stepping calculation for x86 CPU
      i386/tdx: Remove task->watch only when it's valid
      i386/tdx: Don't mask off CPUID_EXT_PDCM

Zhao Liu (32):
      rust/qemu-api: Fix binding path in source directory
      i386/cpu: Refine comment of CPUID2CacheDescriptorInfo
      i386/cpu: Add descriptor 0x49 for CPUID 0x2 encoding
      i386/cpu: Add default cache model for Intel CPUs with level < 4
      i386/cpu: Present same cache model in CPUID 0x2 & 0x4
      i386/cpu: Consolidate CPUID 0x4 leaf
      i386/cpu: Drop CPUID 0x2 specific cache info in X86CPUState
      i386/cpu: Add x-vendor-cpuid-only-v2 option for compatibility
      i386/cpu: Mark CPUID[0x80000005] as reserved for Intel
      i386/cpu: Rename AMD_ENC_ASSOC to X86_ENC_ASSOC
      i386/cpu: Fix CPUID[0x80000006] for Intel CPU
      i386/cpu: Add legacy_intel_cache_info cache model
      i386/cpu: Add legacy_amd_cache_info cache model
      i386/cpu: Select legacy cache model based on vendor in CPUID 0x2
      i386/cpu: Select legacy cache model based on vendor in CPUID 0x4
      i386/cpu: Select legacy cache model based on vendor in CPUID 0x80000005
      i386/cpu: Select legacy cache model based on vendor in CPUID 0x80000006
      i386/cpu: Select legacy cache model based on vendor in CPUID 0x8000001D
      i386/cpu: Use a unified cache_info in X86CPUState
      i386/cpu: Introduce cache model for SierraForest
      i386/cpu: Introduce cache model for GraniteRapids
      i386/cpu: Introduce cache model for SapphireRapids
      i386/cpu: Enable 0x1f leaf for SierraForest by default
      i386/cpu: Enable 0x1f leaf for SierraForest by default
      i386/cpu: Enable 0x1f leaf for GraniteRapids by default
      i386/cpu: Enable 0x1f leaf for SapphireRapids by default
      i386/cpu: Enable 0x1f leaf for YongFeng by default
      i386/cpu: Mark EBX/ECX/EDX in CPUID 0x80000000 leaf as reserved for Intel
      i386/cpu: Mark CPUID 0x80000007[EBX] as reserved for Intel
      i386/cpu: Mark CPUID 0x80000008 ECX bits[0:7] & [12:15] as reserved for Intel/Zhaoxin
      i386/cpu: Reorder CPUID leaves in cpu_x86_cpuid()
      i386/cpu: Honor maximum value for CPUID.8000001DH.EAX[25:14]

Zhenzhong Duan (1):
      i386/tdx: Fix the report of gpa in QAPI

 docs/devel/rust.rst                             |   11 +-
 docs/interop/firmware.json                      |   30 +-
 docs/system/i386/amd-memory-encryption.rst      |    2 +
 docs/system/igvm.rst                            |  173 ++++
 docs/system/index.rst                           |    1 +
 meson.build                                     |    8 +
 qapi/qom.json                                   |   17 +
 backends/igvm.h                                 |   22 +
 include/hw/i386/x86.h                           |    3 +
 include/qemu/log.h                              |    2 +
 include/system/confidential-guest-support.h     |   88 ++
 include/system/igvm-cfg.h                       |   49 +
 linux-headers/asm-x86/kvm.h                     |    8 +-
 linux-headers/linux/kvm.h                       |    4 +
 target/i386/cpu.h                               |   69 +-
 target/i386/host-cpu.h                          |    1 +
 target/i386/kvm/tdx.h                           |    7 +-
 target/i386/kvm/vmsr_energy.h                   |    1 -
 target/i386/sev.h                               |  124 +++
 backends/confidential-guest-support.c           |   43 +
 backends/igvm-cfg.c                             |   51 +
 backends/igvm.c                                 |  988 +++++++++++++++++++
 hw/i386/pc.c                                    |   17 +-
 hw/i386/pc_piix.c                               |   10 +
 hw/i386/pc_q35.c                                |   10 +
 hw/i386/pc_sysfw.c                              |   31 +-
 target/i386/cpu.c                               | 1145 +++++++++++++++++------
 target/i386/host-cpu.c                          |   44 +-
 target/i386/hvf/hvf-cpu.c                       |    5 +-
 target/i386/kvm/kvm-cpu.c                       |    9 +-
 target/i386/kvm/kvm.c                           |    5 +-
 target/i386/kvm/tdx-quote-generator.c           |    4 +-
 target/i386/kvm/tdx-stub.c                      |    4 +
 target/i386/kvm/tdx.c                           |   69 +-
 target/i386/kvm/vmsr_energy.c                   |    9 -
 target/i386/nvmm/nvmm-all.c                     |   25 +
 target/i386/sev.c                               |  854 +++++++++++++++--
 target/i386/whpx/whpx-all.c                     |   25 +
 util/log.c                                      |   12 +
 target/i386/tcg/decode-new.c.inc                |    4 +-
 backends/meson.build                            |    5 +
 meson_options.txt                               |    2 +
 qemu-options.hx                                 |   28 +
 rust/qemu-api-macros/meson.build                |    3 +
 rust/qemu-api-macros/src/bits.rs                |   58 +-
 rust/qemu-api-macros/src/lib.rs                 |   93 +-
 rust/qemu-api-macros/src/tests.rs               |  137 +++
 rust/qemu-api-macros/src/utils.rs               |   26 -
 rust/qemu-api/build.rs                          |   12 +-
 rust/qemu-api/src/bindings.rs                   |    1 +
 rust/qemu-api/src/log.rs                        |   92 +-
 scripts/meson-buildoptions.sh                   |    3 +
 target/i386/meson.build                         |    2 +
 tests/functional/test_x86_cpu_model_versions.py |  110 +--
 tests/vm/freebsd                                |    4 +-
 55 files changed, 3927 insertions(+), 633 deletions(-)
 create mode 100644 docs/system/igvm.rst
 create mode 100644 backends/igvm.h
 create mode 100644 include/system/igvm-cfg.h
 create mode 100644 backends/igvm-cfg.c
 create mode 100644 backends/igvm.c
 create mode 100644 rust/qemu-api-macros/src/tests.rs
 delete mode 100644 rust/qemu-api-macros/src/utils.rs
-- 
2.50.0



^ permalink raw reply	[flat|nested] 85+ messages in thread

end of thread, other threads:[~2025-07-17 18:41 UTC | newest]

Thread overview: 85+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-14 11:02 [PULL 00/77] Rust, target/i386 changes for QEMU 10.1 soft freeze Paolo Bonzini
2025-07-14 11:02 ` [PULL 01/77] rust/qemu-api: Fix binding path in source directory Paolo Bonzini
2025-07-14 11:02 ` [PULL 02/77] rust/qemu-api-macros: use syn::Error directly Paolo Bonzini
2025-07-14 11:02 ` [PULL 03/77] rust/bindings: allow unnecessary_transmutes (1.88) Paolo Bonzini
2025-07-14 11:02 ` [PULL 04/77] rust/qemu-api-macros: normalize TryInto output Paolo Bonzini
2025-07-14 11:02 ` [PULL 05/77] rust/qemu-api-macros: add unit tests Paolo Bonzini
2025-07-14 11:02 ` [PULL 06/77] rust/qemu-api: log: implement io::Write Paolo Bonzini
2025-07-14 11:02 ` [PULL 07/77] target/i386: move max_features to class Paolo Bonzini
2025-07-14 11:02 ` [PULL 08/77] target/i386: nvmm, whpx: add accel/CPU class that sets host vendor Paolo Bonzini
2025-07-14 11:02 ` [PULL 09/77] target/i386: allow reordering max_x86_cpu_initfn vs accel CPU init Paolo Bonzini
2025-07-14 11:02 ` [PULL 10/77] target/i386: move accel_cpu_instance_init to .instance_init Paolo Bonzini
2025-07-14 11:03 ` [PULL 11/77] target/i386: merge host_cpu_instance_init() and host_cpu_max_instance_init() Paolo Bonzini
2025-07-14 11:03 ` [PULL 12/77] i386/tdx: Remove enumeration of GetQuote in tdx_handle_get_tdvmcall_info() Paolo Bonzini
2025-07-14 11:03 ` [PULL 13/77] update Linux headers to KVM tree master Paolo Bonzini
2025-07-14 11:03 ` [PULL 14/77] i386/tdx: Set value of <GetTdVmCallInfo> based on capabilities of both KVM and QEMU Paolo Bonzini
2025-07-14 11:03 ` [PULL 15/77] i386/tdx: handle TDVMCALL_SETUP_EVENT_NOTIFY_INTERRUPT Paolo Bonzini
2025-07-17  9:46   ` Peter Maydell
2025-07-17 10:19     ` Xiaoyao Li
2025-07-14 11:03 ` [PULL 16/77] i386/tdx: Fix the report of gpa in QAPI Paolo Bonzini
2025-07-14 11:03 ` [PULL 17/77] meson: Add optional dependency on IGVM library Paolo Bonzini
2025-07-16 11:31   ` Daniel P. Berrangé
2025-07-17 13:30     ` Stefano Garzarella
2025-07-17 13:33       ` Daniel P. Berrangé
2025-07-17 15:47         ` Peter Maydell
2025-07-14 11:03 ` [PULL 18/77] backends/confidential-guest-support: Add functions to support IGVM Paolo Bonzini
2025-07-14 11:03 ` [PULL 19/77] backends/igvm: Add IGVM loader and configuration Paolo Bonzini
2025-07-14 11:03 ` [PULL 20/77] hw/i386: Add igvm-cfg object and processing for IGVM files Paolo Bonzini
2025-07-14 11:03 ` [PULL 21/77] i386/pc_sysfw: Ensure sysfw flash configuration does not conflict with IGVM Paolo Bonzini
2025-07-14 11:03 ` [PULL 22/77] sev: Update launch_update_data functions to use Error handling Paolo Bonzini
2025-07-14 11:03 ` [PULL 23/77] target/i386: Allow setting of R_LDTR and R_TR with cpu_x86_load_seg_cache() Paolo Bonzini
2025-07-14 11:03 ` [PULL 24/77] i386/sev: Refactor setting of reset vector and initial CPU state Paolo Bonzini
2025-07-14 11:03 ` [PULL 25/77] i386/sev: Implement ConfidentialGuestSupport functions for SEV Paolo Bonzini
2025-07-14 11:03 ` [PULL 26/77] docs/system: Add documentation on support for IGVM Paolo Bonzini
2025-07-14 11:03 ` [PULL 27/77] docs/interop/firmware.json: Add igvm to FirmwareDevice Paolo Bonzini
2025-07-14 11:03 ` [PULL 28/77] backends/confidential-guest-support: Add set_guest_policy() function Paolo Bonzini
2025-07-14 11:03 ` [PULL 29/77] backends/igvm: Process initialization sections in IGVM file Paolo Bonzini
2025-07-14 11:03 ` [PULL 30/77] backends/igvm: Handle policy for SEV guests Paolo Bonzini
2025-07-14 11:03 ` [PULL 31/77] i386/sev: Add implementation of CGS set_guest_policy() Paolo Bonzini
2025-07-14 11:03 ` [PULL 32/77] sev: Provide sev_features flags from IGVM VMSA to KVM_SEV_INIT2 Paolo Bonzini
2025-07-14 11:03 ` [PULL 33/77] i386/cpu: Move the implementation of is_host_cpu_intel() host-cpu.c Paolo Bonzini
2025-07-14 11:03 ` [PULL 34/77] i386/cpu: Use CPUID_MODEL_ID_SZ instead of hardcoded 48 Paolo Bonzini
2025-07-14 11:03 ` [PULL 35/77] i386: Cleanup the usage of CPUID_VENDOR_INTEL_1 Paolo Bonzini
2025-07-14 11:03 ` [PULL 36/77] i386/kvm-cpu: Fix the indentation inside kvm_cpu_realizefn() Paolo Bonzini
2025-07-14 11:03 ` [PULL 37/77] i386/cpu: Unify family, model and stepping calculation for x86 CPU Paolo Bonzini
2025-07-14 11:03 ` [PULL 38/77] i386/tdx: Remove task->watch only when it's valid Paolo Bonzini
2025-07-14 11:03 ` [PULL 39/77] i386/tdx: Don't mask off CPUID_EXT_PDCM Paolo Bonzini
2025-07-14 11:03 ` [PULL 40/77] i386/cpu: Refine comment of CPUID2CacheDescriptorInfo Paolo Bonzini
2025-07-14 11:03 ` [PULL 41/77] i386/cpu: Add descriptor 0x49 for CPUID 0x2 encoding Paolo Bonzini
2025-07-14 11:03 ` [PULL 42/77] i386/cpu: Add default cache model for Intel CPUs with level < 4 Paolo Bonzini
2025-07-14 11:03 ` [PULL 43/77] i386/cpu: Present same cache model in CPUID 0x2 & 0x4 Paolo Bonzini
2025-07-14 11:03 ` [PULL 44/77] i386/cpu: Consolidate CPUID 0x4 leaf Paolo Bonzini
2025-07-14 11:03 ` [PULL 45/77] i386/cpu: Drop CPUID 0x2 specific cache info in X86CPUState Paolo Bonzini
2025-07-14 11:03 ` [PULL 46/77] i386/cpu: Add x-vendor-cpuid-only-v2 option for compatibility Paolo Bonzini
2025-07-14 11:03 ` [PULL 47/77] i386/cpu: Mark CPUID[0x80000005] as reserved for Intel Paolo Bonzini
2025-07-14 11:03 ` [PULL 48/77] i386/cpu: Rename AMD_ENC_ASSOC to X86_ENC_ASSOC Paolo Bonzini
2025-07-14 11:03 ` [PULL 49/77] i386/cpu: Fix CPUID[0x80000006] for Intel CPU Paolo Bonzini
2025-07-14 11:03 ` [PULL 50/77] i386/cpu: Add legacy_intel_cache_info cache model Paolo Bonzini
2025-07-14 11:03 ` [PULL 51/77] i386/cpu: Add legacy_amd_cache_info " Paolo Bonzini
2025-07-14 11:03 ` [PULL 52/77] i386/cpu: Select legacy cache model based on vendor in CPUID 0x2 Paolo Bonzini
2025-07-14 11:03 ` [PULL 53/77] i386/cpu: Select legacy cache model based on vendor in CPUID 0x4 Paolo Bonzini
2025-07-14 11:03 ` [PULL 54/77] i386/cpu: Select legacy cache model based on vendor in CPUID 0x80000005 Paolo Bonzini
2025-07-14 11:03 ` [PULL 55/77] i386/cpu: Select legacy cache model based on vendor in CPUID 0x80000006 Paolo Bonzini
2025-07-14 11:03 ` [PULL 56/77] i386/cpu: Select legacy cache model based on vendor in CPUID 0x8000001D Paolo Bonzini
2025-07-14 11:03 ` [PULL 57/77] i386/cpu: Use a unified cache_info in X86CPUState Paolo Bonzini
2025-07-14 11:03 ` [PULL 58/77] i386/cpu: Introduce cache model for SierraForest Paolo Bonzini
2025-07-14 11:03 ` [PULL 59/77] i386/cpu: Introduce cache model for GraniteRapids Paolo Bonzini
2025-07-14 11:03 ` [PULL 60/77] i386/cpu: Introduce cache model for SapphireRapids Paolo Bonzini
2025-07-14 11:03 ` [PULL 61/77] i386/cpu: Introduce cache model for YongFeng Paolo Bonzini
2025-07-14 11:03 ` [PULL 62/77] i386/cpu: Add a "x-force-cpuid-0x1f" property Paolo Bonzini
2025-07-14 11:03 ` [PULL 63/77] i386/cpu: Enable 0x1f leaf for SierraForest by default Paolo Bonzini
2025-07-14 11:03 ` [PULL 64/77] " Paolo Bonzini
2025-07-14 11:03 ` [PULL 65/77] i386/cpu: Enable 0x1f leaf for GraniteRapids " Paolo Bonzini
2025-07-14 11:03 ` [PULL 66/77] i386/cpu: Enable 0x1f leaf for SapphireRapids " Paolo Bonzini
2025-07-14 11:03 ` [PULL 67/77] i386/cpu: Enable 0x1f leaf for YongFeng " Paolo Bonzini
2025-07-14 11:03 ` [PULL 68/77] i386/cpu: Mark EBX/ECX/EDX in CPUID 0x80000000 leaf as reserved for Intel Paolo Bonzini
2025-07-14 11:03 ` [PULL 69/77] i386/cpu: Mark CPUID 0x80000007[EBX] " Paolo Bonzini
2025-07-14 11:03 ` [PULL 70/77] i386/cpu: Mark CPUID 0x80000008 ECX bits[0:7] & [12:15] as reserved for Intel/Zhaoxin Paolo Bonzini
2025-07-14 11:04 ` [PULL 71/77] tests/functional: test_x86_cpu_model_versions: remove dead tests Paolo Bonzini
2025-07-14 11:04 ` [PULL 72/77] tests/vm: bump FreeBSD image to 14.3 Paolo Bonzini
2025-07-14 11:04 ` [PULL 73/77] i386/cpu: Reorder CPUID leaves in cpu_x86_cpuid() Paolo Bonzini
2025-07-14 11:04 ` [PULL 74/77] i386/cpu: Fix number of addressable IDs field for CPUID.01H.EBX[23:16] Paolo Bonzini
2025-07-14 11:04 ` [PULL 75/77] i386/cpu: Fix cpu number overflow in CPUID.01H.EBX[23:16] Paolo Bonzini
2025-07-14 11:04 ` [PULL 76/77] i386/cpu: Fix overflow of cache topology fields in CPUID.04H Paolo Bonzini
2025-07-14 11:04 ` [PULL 77/77] i386/cpu: Honor maximum value for CPUID.8000001DH.EAX[25:14] Paolo Bonzini
2025-07-15 19:50 ` [PULL 00/77] Rust, target/i386 changes for QEMU 10.1 soft freeze Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).