public inbox for qemu-devel@nongnu.org
 help / color / mirror / Atom feed
* [PULL 00/14] Misc patches for QEMU 11.0 hard freeze
@ 2026-03-12 11:04 Paolo Bonzini
  2026-03-12 11:04 ` [PULL 01/14] hyperv/syndbg: check length returned by cpu_physical_memory_map() Paolo Bonzini
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit 1fd5ff9d76d23ab23a68419cbc76d5ee33e8b455:

  Merge tag 'for-upstream' of https://gitlab.com/kmwolf/qemu into staging (2026-03-10 16:29:24 +0000)

are available in the Git repository at:

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

for you to fetch changes up to c725a896c6b92f733e0eeb236167cbd9b33efda8:

  typedefs: move QIgvm out of typedefs.h (2026-03-12 12:02:55 +0100)

----------------------------------------------------------------
* accel/kvm: fix typo in variable name
* system: fix coverity issues related to confidential guest reset
* target/i386: add compat for migrating error code
* docs fixes
* hyperv/syndbg: check length returned by cpu_physical_memory_map()
* typedefs: move QIgvm out of typedefs.h
* rust: Update Cargo.lock
* i386/cpu: cleanups for ClearwaterForest, AMX and more

----------------------------------------------------------------
Alyssa Ross (1):
      accel/kvm: fix typo in variable name

Ani Sinha (1):
      coverity: fix coverity issues related to confidential guest reset

Fiona Ebner (1):
      target/i386: add compat for migrating error code

Mohamed Mediouni (3):
      docs: remove 64-bit only mentions for accelerators
      qemu-options.hx: document Hyper-V enlightenments accelerator option
      docs: mention that WHPX supports Arm too

Paolo Bonzini (2):
      hyperv/syndbg: check length returned by cpu_physical_memory_map()
      typedefs: move QIgvm out of typedefs.h

Philippe Mathieu-Daudé (1):
      rust: Update Cargo.lock

Zhao Liu (5):
      i386/cpu: Rename AMX mirror cpuid macros with _ALIAS suffix
      i386/cpu: Rename AMX mirror feature words with -alias suffix
      i386/cpu: Remove unnecessary cache_info fields from builtin CPU model
      i386/cpu: Adjust the note for CPU models with its-no
      i386/cpu: Enable CPUID 0x1f & cache model for ClearwaterForest

 docs/about/build-platforms.rst |   4 +-
 docs/system/introduction.rst   |   6 +--
 include/qemu/typedefs.h        |   1 -
 include/system/igvm.h          |   3 +-
 target/i386/cpu.h              |  17 ++++---
 accel/kvm/kvm-all.c            |   4 +-
 hw/hyperv/syndbg.c             |  23 ++++-----
 hw/i386/pc.c                   |   1 +
 system/runstate.c              |  10 ++--
 target/i386/cpu.c              | 113 +++++++++++++++++++++++++++++++++++++----
 target/i386/machine.c          |   2 +-
 target/i386/sev.c              |   4 --
 qemu-options.hx                |   5 ++
 rust/Cargo.lock                |   3 +-
 14 files changed, 144 insertions(+), 52 deletions(-)
-- 
2.53.0



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

* [PULL 01/14] hyperv/syndbg: check length returned by cpu_physical_memory_map()
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 02/14] i386/cpu: Rename AMX mirror cpuid macros with _ALIAS suffix Paolo Bonzini
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P. Berrangé

If cpu_physical_memory_map() returns a length shorter than the one
that was passed into the function, writing the full out_len bytes
causes an access beyond the memory allocated to the guest; or in
the case of the MMIO bounce buffer, an out-of-bounds access in a
heap-allocated object.

Add a check similar to the one already in handle_send_msg(),
and take the occasion to remove repeated computations of
recv_byte_count + UDP_PKT_HEADER_SIZE and clarify that the
code does not write past out_len bytes.

Reported-by: Oleh Konko <https://github.com/1seal>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Fixes: CVE-2026-3842
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/hyperv/syndbg.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/hw/hyperv/syndbg.c b/hw/hyperv/syndbg.c
index 1e177f9dd82..10171b19e8f 100644
--- a/hw/hyperv/syndbg.c
+++ b/hw/hyperv/syndbg.c
@@ -194,7 +194,7 @@ static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint64_t outgpa,
     uint16_t ret;
     g_assert(MSG_BUFSZ >= qemu_target_page_size());
     QEMU_UNINITIALIZED uint8_t data_buf[MSG_BUFSZ];
-    hwaddr out_len;
+    hwaddr out_len, out_requested_len;
     void *out_data;
     ssize_t recv_byte_count;
 
@@ -223,29 +223,28 @@ static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint64_t outgpa,
     if (is_raw) {
         out_len += UDP_PKT_HEADER_SIZE;
     }
+    out_requested_len = out_len;
     out_data = cpu_physical_memory_map(outgpa, &out_len, 1);
-    if (!out_data) {
-        return HV_STATUS_INSUFFICIENT_MEMORY;
+    ret = HV_STATUS_INSUFFICIENT_MEMORY;
+    if (!out_data || out_len < out_requested_len) {
+        goto cleanup_out_data;
     }
 
     if (is_raw &&
-        !create_udp_pkt(syndbg, out_data,
-                        recv_byte_count + UDP_PKT_HEADER_SIZE,
+        !create_udp_pkt(syndbg, out_data, out_len,
                         data_buf, recv_byte_count)) {
-        ret = HV_STATUS_INSUFFICIENT_MEMORY;
         goto cleanup_out_data;
     } else if (!is_raw) {
-        memcpy(out_data, data_buf, recv_byte_count);
+        memcpy(out_data, data_buf, out_len);
     }
 
-    *retrieved_count = recv_byte_count;
-    if (is_raw) {
-        *retrieved_count += UDP_PKT_HEADER_SIZE;
-    }
+    *retrieved_count = out_len;
     ret = HV_STATUS_SUCCESS;
 
 cleanup_out_data:
-    cpu_physical_memory_unmap(out_data, out_len, 1, out_len);
+    if (out_data) {
+        cpu_physical_memory_unmap(out_data, out_len, 1, out_len);
+    }
     return ret;
 }
 
-- 
2.53.0



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

* [PULL 02/14] i386/cpu: Rename AMX mirror cpuid macros with _ALIAS suffix
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
  2026-03-12 11:04 ` [PULL 01/14] hyperv/syndbg: check length returned by cpu_physical_memory_map() Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 03/14] i386/cpu: Rename AMX mirror feature words with -alias suffix Paolo Bonzini
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Zhao Liu

From: Zhao Liu <zhao1.liu@intel.com>

For the similar case - CPUID_EXT2_AMD_ALIASES, the term "alias" has
already been used. Therefore, reintroducing the new term "mirror" is
likely to cause confusion.

Rename the relevant CPUID macros of AMX with _ALIAS suffix, aligning
with KVM's naming convention.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20260310140819.1563084-2-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.h | 16 ++++++++--------
 target/i386/cpu.c |  6 +++---
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 5a62aa61579..7bd38f0c039 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -1098,14 +1098,14 @@ uint64_t x86_cpu_get_supported_feature_word(X86CPU *cpu, FeatureWord w);
 /* Packets which contain IP payload have LIP values */
 #define CPUID_14_0_ECX_LIP              (1U << 31)
 
-/* AMX_INT8 instruction (mirror of CPUID_7_0_EDX_AMX_INT8) */
-#define CPUID_1E_1_EAX_AMX_INT8_MIRROR      (1U << 0)
-/* AMX_BF16 instruction (mirror of CPUID_7_0_EDX_AMX_BF16) */
-#define CPUID_1E_1_EAX_AMX_BF16_MIRROR      (1U << 1)
-/* AMX_COMPLEX instruction (mirror of CPUID_7_1_EDX_AMX_COMPLEX) */
-#define CPUID_1E_1_EAX_AMX_COMPLEX_MIRROR   (1U << 2)
-/* AMX_FP16 instruction (mirror of CPUID_7_1_EAX_AMX_FP16) */
-#define CPUID_1E_1_EAX_AMX_FP16_MIRROR      (1U << 3)
+/* AMX_INT8 instruction (alias of CPUID_7_0_EDX_AMX_INT8) */
+#define CPUID_1E_1_EAX_AMX_INT8_ALIAS      (1U << 0)
+/* AMX_BF16 instruction (alias of CPUID_7_0_EDX_AMX_BF16) */
+#define CPUID_1E_1_EAX_AMX_BF16_ALIAS      (1U << 1)
+/* AMX_COMPLEX instruction (alias of CPUID_7_1_EDX_AMX_COMPLEX) */
+#define CPUID_1E_1_EAX_AMX_COMPLEX_ALIAS   (1U << 2)
+/* AMX_FP16 instruction (alias of CPUID_7_1_EAX_AMX_FP16) */
+#define CPUID_1E_1_EAX_AMX_FP16_ALIAS      (1U << 3)
 /* AMX_FP8 instruction */
 #define CPUID_1E_1_EAX_AMX_FP8              (1U << 4)
 /* AMX_TF32 instruction */
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 0a29ff805fa..e35701b93ba 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5550,9 +5550,9 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XSAVEC |
             CPUID_XSAVE_XGETBV1 | CPUID_XSAVE_XSAVES | CPUID_D_1_EAX_XFD,
         .features[FEAT_1E_1_EAX] =
-            CPUID_1E_1_EAX_AMX_INT8_MIRROR | CPUID_1E_1_EAX_AMX_BF16_MIRROR |
-            CPUID_1E_1_EAX_AMX_COMPLEX_MIRROR |
-            CPUID_1E_1_EAX_AMX_FP16_MIRROR | CPUID_1E_1_EAX_AMX_FP8 |
+            CPUID_1E_1_EAX_AMX_INT8_ALIAS | CPUID_1E_1_EAX_AMX_BF16_ALIAS |
+            CPUID_1E_1_EAX_AMX_COMPLEX_ALIAS |
+            CPUID_1E_1_EAX_AMX_FP16_ALIAS | CPUID_1E_1_EAX_AMX_FP8 |
             CPUID_1E_1_EAX_AMX_TF32 | CPUID_1E_1_EAX_AMX_AVX512 |
             CPUID_1E_1_EAX_AMX_MOVRS,
         .features[FEAT_29_0_EBX] = CPUID_29_0_EBX_APX_NCI_NDD_NF,
-- 
2.53.0



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

* [PULL 03/14] i386/cpu: Rename AMX mirror feature words with -alias suffix
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
  2026-03-12 11:04 ` [PULL 01/14] hyperv/syndbg: check length returned by cpu_physical_memory_map() Paolo Bonzini
  2026-03-12 11:04 ` [PULL 02/14] i386/cpu: Rename AMX mirror cpuid macros with _ALIAS suffix Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 04/14] i386/cpu: Remove unnecessary cache_info fields from builtin CPU model Paolo Bonzini
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Zhao Liu

From: Zhao Liu <zhao1.liu@intel.com>

The commit 956b8f0fc38a ("i386/cpu: Add CPUID.0x1E.0x1 subleaf for AMX
instructions") names amx-int8/amx-bf16/amx-complex-amx-fp16 in CPUID
0x1E.1.EAX with "-mirror" suffix.

To align with the naming style of corresponding macros, rename these
feature words with "-alias" suffix.

Since the commit 956b8f0fc38a is merged in v11.0 development cycle,
it's safe to modify the names of feature words (before v11.0 is
released).

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20260310140819.1563084-3-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index e35701b93ba..08450a9142e 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -1314,7 +1314,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
     [FEAT_1E_1_EAX] = {
         .type = CPUID_FEATURE_WORD,
         .feat_names = {
-            "amx-int8-mirror", "amx-bf16-mirror", "amx-complex-mirror", "amx-fp16-mirror",
+            "amx-int8-alias", "amx-bf16-alias", "amx-complex-alias", "amx-fp16-alias",
             "amx-fp8", NULL, "amx-tf32", "amx-avx512",
             "amx-movrs", NULL, NULL, NULL,
             NULL, NULL, NULL, NULL,
-- 
2.53.0



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

* [PULL 04/14] i386/cpu: Remove unnecessary cache_info fields from builtin CPU model
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (2 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 03/14] i386/cpu: Rename AMX mirror feature words with -alias suffix Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 05/14] i386/cpu: Adjust the note for CPU models with its-no Paolo Bonzini
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Zhao Liu

From: Zhao Liu <zhao1.liu@intel.com>

In x86_cpu_get_versioned_cache_info(), higher version CPU models will
inherit cache_info from lower versions if the cache_info field is not
specified, so there is no need to repeatedly set the same cache_info.

Therefore, remove the repeated cache models from SapphireRapids-v6
(SapphireRapids-v4 has set the cache model), GraniteRapids-v5
(GraniteRapids-v3 has set) and SierraForest-v5 (SierraForest-v3 has
set).

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20260310140819.1563084-4-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 08450a9142e..05121c5b324 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5264,7 +5264,6 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             {
                 .version = 6,
                 .note = "with cet-ss, cet-ibt, its-no",
-                .cache_info = &xeon_spr_cache_info,
                 .props = (PropValue[]) {
                     { "its-no", "on" },
                     { /* end of list */ },
@@ -5446,7 +5445,6 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             {
                 .version = 5,
                 .note = "with cet-ss, cet-ibt, its-no",
-                .cache_info = &xeon_gnr_cache_info,
                 .props = (PropValue[]) {
                     { "its-no", "on" },
                     { /* end of list */ },
@@ -5812,7 +5810,6 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             {
                 .version = 5,
                 .note = "with ITS_NO",
-                .cache_info = &xeon_srf_cache_info,
                 .props = (PropValue[]) {
                     { "its-no", "on" },
                     { /* end of list */ },
-- 
2.53.0



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

* [PULL 05/14] i386/cpu: Adjust the note for CPU models with its-no
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (3 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 04/14] i386/cpu: Remove unnecessary cache_info fields from builtin CPU model Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 06/14] i386/cpu: Enable CPUID 0x1f & cache model for ClearwaterForest Paolo Bonzini
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Zhao Liu

From: Zhao Liu <zhao1.liu@intel.com>

For new versioned CPU models with its-no enabled, since CET was already
enabled in previous versions, remove the related description from the
notes of its-no related CPU models.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20260310140819.1563084-5-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 05121c5b324..cd44a624201 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5263,7 +5263,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             },
             {
                 .version = 6,
-                .note = "with cet-ss, cet-ibt, its-no",
+                .note = "with its-no",
                 .props = (PropValue[]) {
                     { "its-no", "on" },
                     { /* end of list */ },
@@ -5444,7 +5444,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             },
             {
                 .version = 5,
-                .note = "with cet-ss, cet-ibt, its-no",
+                .note = "with its-no",
                 .props = (PropValue[]) {
                     { "its-no", "on" },
                     { /* end of list */ },
@@ -5809,7 +5809,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             },
             {
                 .version = 5,
-                .note = "with ITS_NO",
+                .note = "with its-no",
                 .props = (PropValue[]) {
                     { "its-no", "on" },
                     { /* end of list */ },
@@ -5963,7 +5963,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             },
             {
                 .version = 3,
-                .note = "with cet-ss, cet-ibt, ITS_NO",
+                .note = "with its-no",
                 .props = (PropValue[]) {
                     { "its-no", "on" },
                     { /* end of list */ },
-- 
2.53.0



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

* [PULL 06/14] i386/cpu: Enable CPUID 0x1f & cache model for ClearwaterForest
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (4 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 05/14] i386/cpu: Adjust the note for CPU models with its-no Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 07/14] coverity: fix coverity issues related to confidential guest reset Paolo Bonzini
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Zhao Liu, Zhijun Zeng, Chao Peng

From: Zhao Liu <zhao1.liu@intel.com>

ClearwaterForest has CPUID 0x1f by default, so force enabling this leaf
for it (ClearwaterForect-v3).

And add the cache model to ClearwaterForest (v3) to better emulate its
environment.

The cache model is based on ClearwaterForest-AP (Advanced Performance):

      --- cache 0 ---
      cache type                         = data cache (1)
      cache level                        = 0x1 (1)
      self-initializing cache level      = true
      fully associative cache            = false
      maximum IDs for CPUs sharing cache = 0x0 (0)
      maximum IDs for cores in pkg       = 0x3f (63)
      system coherency line size         = 0x40 (64)
      physical line partitions           = 0x1 (1)
      ways of associativity              = 0x8 (8)
      number of sets                     = 0x40 (64)
      WBINVD/INVD acts on lower caches   = false
      inclusive to lower caches          = false
      complex cache indexing             = false
      number of sets (s)                 = 64
      (size synth)                       = 32768 (32 KB)
      --- cache 1 ---
      cache type                         = instruction cache (2)
      cache level                        = 0x1 (1)
      self-initializing cache level      = true
      fully associative cache            = false
      maximum IDs for CPUs sharing cache = 0x0 (0)
      maximum IDs for cores in pkg       = 0x3f (63)
      system coherency line size         = 0x40 (64)
      physical line partitions           = 0x1 (1)
      ways of associativity              = 0x8 (8)
      number of sets                     = 0x80 (128)
      WBINVD/INVD acts on lower caches   = false
      inclusive to lower caches          = false
      complex cache indexing             = false
      number of sets (s)                 = 128
      (size synth)                       = 65536 (64 KB)
      --- cache 2 ---
      cache type                         = unified cache (3)
      cache level                        = 0x2 (2)
      self-initializing cache level      = true
      fully associative cache            = false
      maximum IDs for CPUs sharing cache = 0x7 (7)
      maximum IDs for cores in pkg       = 0x3f (63)
      system coherency line size         = 0x40 (64)
      physical line partitions           = 0x1 (1)
      ways of associativity              = 0x10 (16)
      number of sets                     = 0x1000 (4096)
      WBINVD/INVD acts on lower caches   = false
      inclusive to lower caches          = false
      complex cache indexing             = false
      number of sets (s)                 = 4096
      (size synth)                       = 4194304 (4 MB)
      --- cache 3 ---
      cache type                         = unified cache (3)
      cache level                        = 0x3 (3)
      self-initializing cache level      = true
      fully associative cache            = false
      maximum IDs for CPUs sharing cache = 0x3ff (1023)
      maximum IDs for cores in pkg       = 0x3f (63)
      system coherency line size         = 0x40 (64)
      physical line partitions           = 0x1 (1)
      ways of associativity              = 0x10 (16)
      number of sets                     = 0x84000 (540672)
      WBINVD/INVD acts on lower caches   = false
      inclusive to lower caches          = false
      complex cache indexing             = true
      number of sets (s)                 = 540672
      (size synth)                       = 553648128 (528 MB)
      --- cache 4 ---
      cache type                         = no more caches (0)

Suggested-by: Zhijun Zeng <zhijun.zeng@intel.com>
Suggested-by: Chao Peng <chao.p.peng@intel.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20260310140819.1563084-6-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.c | 95 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 94 insertions(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index cd44a624201..1debc0c61fc 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -3318,6 +3318,97 @@ static const CPUCaches xeon_srf_cache_info = {
     },
 };
 
+static const CPUCaches xeon_cwf_cache_info = {
+    .l1d_cache = &(CPUCacheInfo) {
+        /* CPUID 0x4.0x0.EAX */
+        .type = DATA_CACHE,
+        .level = 1,
+        .self_init = true,
+
+        /* CPUID 0x4.0x0.EBX */
+        .line_size = 64,
+        .partitions = 1,
+        .associativity = 8,
+
+        /* CPUID 0x4.0x0.ECX */
+        .sets = 64,
+
+        /* CPUID 0x4.0x0.EDX */
+        .no_invd_sharing = false,
+        .inclusive = false,
+        .complex_indexing = false,
+
+        .size = 32 * KiB,
+        .share_level = CPU_TOPOLOGY_LEVEL_CORE,
+    },
+    .l1i_cache = &(CPUCacheInfo) {
+        /* CPUID 0x4.0x1.EAX */
+        .type = INSTRUCTION_CACHE,
+        .level = 1,
+        .self_init = true,
+
+        /* CPUID 0x4.0x1.EBX */
+        .line_size = 64,
+        .partitions = 1,
+        .associativity = 8,
+
+        /* CPUID 0x4.0x1.ECX */
+        .sets = 128,
+
+        /* CPUID 0x4.0x1.EDX */
+        .no_invd_sharing = false,
+        .inclusive = false,
+        .complex_indexing = false,
+
+        .size = 64 * KiB,
+        .share_level = CPU_TOPOLOGY_LEVEL_CORE,
+    },
+    .l2_cache = &(CPUCacheInfo) {
+        /* CPUID 0x4.0x2.EAX */
+        .type = UNIFIED_CACHE,
+        .level = 2,
+        .self_init = true,
+
+        /* CPUID 0x4.0x2.EBX */
+        .line_size = 64,
+        .partitions = 1,
+        .associativity = 16,
+
+        /* CPUID 0x4.0x2.ECX */
+        .sets = 4096,
+
+        /* CPUID 0x4.0x2.EDX */
+        .no_invd_sharing = false,
+        .inclusive = false,
+        .complex_indexing = false,
+
+        .size = 4 * MiB,
+        .share_level = CPU_TOPOLOGY_LEVEL_MODULE,
+    },
+    .l3_cache = &(CPUCacheInfo) {
+        /* CPUID 0x4.0x3.EAX */
+        .type = UNIFIED_CACHE,
+        .level = 3,
+        .self_init = true,
+
+        /* CPUID 0x4.0x3.EBX */
+        .line_size = 64,
+        .partitions = 1,
+        .associativity = 16,
+
+        /* CPUID 0x4.0x3.ECX */
+        .sets = 540672,
+
+        /* CPUID 0x4.0x3.EDX */
+        .no_invd_sharing = false,
+        .inclusive = false,
+        .complex_indexing = true,
+
+        .size = 528 * MiB,
+        .share_level = CPU_TOPOLOGY_LEVEL_SOCKET,
+    },
+};
+
 static const CPUCaches yongfeng_cache_info = {
     .l1d_cache = &(CPUCacheInfo) {
         /* CPUID 0x4.0x0.EAX */
@@ -5963,9 +6054,11 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             },
             {
                 .version = 3,
-                .note = "with its-no",
+                .note = "with its-no, cwf-ap cache model and 0x1f leaf",
+                .cache_info = &xeon_cwf_cache_info,
                 .props = (PropValue[]) {
                     { "its-no", "on" },
+                    { "x-force-cpuid-0x1f", "on" },
                     { /* end of list */ },
                 }
             },
-- 
2.53.0



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

* [PULL 07/14] coverity: fix coverity issues related to confidential guest reset
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (5 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 06/14] i386/cpu: Enable CPUID 0x1f & cache model for ClearwaterForest Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 08/14] accel/kvm: fix typo in variable name Paolo Bonzini
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Ani Sinha, Peter Maydell, Zhao Liu

From: Ani Sinha <anisinha@redhat.com>

Fix issues reported by Peter.

Fixes: ec9bafd2ea9d12c ("i386/sev: add support for confidential guest reset")
Fixes: e76c30bb13ecb9d ("hw/machine: introduce machine specific option 'x-change-vmfd-on-reset'")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Link: https://lore.kernel.org/r/20260311074048.61367-1-anisinha@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 system/runstate.c | 10 +++++-----
 target/i386/sev.c |  4 ----
 2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/system/runstate.c b/system/runstate.c
index eca722b43c6..77cb14ae028 100644
--- a/system/runstate.c
+++ b/system/runstate.c
@@ -508,13 +508,13 @@ static int qemu_debug_requested(void)
  */
 void qemu_system_reset(ShutdownCause reason)
 {
-    MachineClass *mc;
-    ResetType type;
+    MachineClass *mc = current_machine ? MACHINE_GET_CLASS(current_machine) : NULL;
     AccelClass *ac = ACCEL_GET_CLASS(current_accel());
+    bool force_vmfd_change =
+        current_machine ? current_machine->new_accel_vmfd_on_reset : false;
     bool guest_state_rebuilt = false;
     int ret;
-
-    mc = current_machine ? MACHINE_GET_CLASS(current_machine) : NULL;
+    ResetType type;
 
     cpu_synchronize_all_states();
 
@@ -528,7 +528,7 @@ void qemu_system_reset(ShutdownCause reason)
 
     if ((reason == SHUTDOWN_CAUSE_GUEST_RESET ||
          reason == SHUTDOWN_CAUSE_HOST_QMP_SYSTEM_RESET) &&
-        (current_machine->new_accel_vmfd_on_reset || !cpus_are_resettable())) {
+        (force_vmfd_change || !cpus_are_resettable())) {
         if (ac->rebuild_guest) {
             ret = ac->rebuild_guest(current_machine);
             if (ret < 0) {
diff --git a/target/i386/sev.c b/target/i386/sev.c
index cddffe0da8d..9dde972c118 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -2011,10 +2011,6 @@ static void sev_handle_reset(Object *obj, ResetType type)
     SevCommonState *sev_common = SEV_COMMON(MACHINE(qdev_get_machine())->cgs);
     SevCommonStateClass *klass = SEV_COMMON_GET_CLASS(sev_common);
 
-    if (!sev_common) {
-        return;
-    }
-
     if (!runstate_is_running()) {
         return;
     }
-- 
2.53.0



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

* [PULL 08/14] accel/kvm: fix typo in variable name
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (6 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 07/14] coverity: fix coverity issues related to confidential guest reset Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 09/14] docs: remove 64-bit only mentions for accelerators Paolo Bonzini
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alyssa Ross, Philippe Mathieu-Daudé

From: Alyssa Ross <hi@alyssa.is>

Fixes: 94a8d39afd ("kvm: Consolidate must-have capability checks")
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/20260311095315.25013-1-hi@alyssa.is
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 accel/kvm/kvm-all.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 984db977795..774499d34f8 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -111,7 +111,7 @@ static uint64_t kvm_supported_memory_attributes;
 static bool kvm_guest_memfd_supported;
 static hwaddr kvm_max_slot_size = ~0;
 
-static const KVMCapabilityInfo kvm_required_capabilites[] = {
+static const KVMCapabilityInfo kvm_required_capabilities[] = {
     KVM_CAP_INFO(USER_MEMORY),
     KVM_CAP_INFO(DESTROY_MEMORY_REGION_WORKS),
     KVM_CAP_INFO(JOIN_MEMORY_REGIONS_WORKS),
@@ -2992,7 +2992,7 @@ static int kvm_init(AccelState *as, MachineState *ms)
         nc++;
     }
 
-    missing_cap = kvm_check_extension_list(s, kvm_required_capabilites);
+    missing_cap = kvm_check_extension_list(s, kvm_required_capabilities);
     if (!missing_cap) {
         missing_cap =
             kvm_check_extension_list(s, kvm_arch_required_capabilities);
-- 
2.53.0



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

* [PULL 09/14] docs: remove 64-bit only mentions for accelerators
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (7 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 08/14] accel/kvm: fix typo in variable name Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 10/14] qemu-options.hx: document Hyper-V enlightenments accelerator option Paolo Bonzini
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mohamed Mediouni

From: Mohamed Mediouni <mohamed@unpredictable.fr>

QEMU itself no longer supports 32-bit systems.

Signed-off-by: Mohamed Mediouni <mohamed@unpredictable.fr>
Link: https://lore.kernel.org/r/20260311102626.46546-2-mohamed@unpredictable.fr
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 docs/about/build-platforms.rst | 4 ++--
 docs/system/introduction.rst   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index e95784cdb55..ae138ff0e02 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -43,7 +43,7 @@ Those hosts are officially supported, with various accelerators:
    * - CPU Architecture
      - Accelerators
    * - Arm
-     - hvf (64 bit only), kvm (64 bit only), tcg, xen
+     - hvf, kvm, tcg, xen
    * - PPC
      - kvm, tcg
    * - RISC-V
@@ -53,7 +53,7 @@ Those hosts are officially supported, with various accelerators:
    * - SPARC
      - tcg
    * - x86
-     - hvf (64 bit only), mshv (64 bit only), kvm, nvmm, tcg, whpx (64 bit only), xen
+     - hvf, mshv, kvm, nvmm, tcg, whpx, xen
 
 Other host architectures are not supported. It is possible to build QEMU system
 emulation on an unsupported host architecture using the configure
diff --git a/docs/system/introduction.rst b/docs/system/introduction.rst
index 9c57523b6c2..2dfa371e0f9 100644
--- a/docs/system/introduction.rst
+++ b/docs/system/introduction.rst
@@ -19,7 +19,7 @@ Tiny Code Generator (TCG) capable of emulating many CPUs.
     - Host Architectures
   * - KVM
     - Linux
-    - Arm (64 bit only), MIPS, PPC, RISC-V, s390x, x86
+    - Arm, MIPS, PPC, RISC-V, s390x, x86
   * - Xen
     - Linux (as dom0)
     - Arm, x86
@@ -28,7 +28,7 @@ Tiny Code Generator (TCG) capable of emulating many CPUs.
     - x86
   * - Hypervisor Framework (hvf)
     - MacOS
-    - x86 (64 bit only), Arm (64 bit only)
+    - x86, Arm
   * - Windows Hypervisor Platform (whpx)
     - Windows
     - x86
-- 
2.53.0



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

* [PULL 10/14] qemu-options.hx: document Hyper-V enlightenments accelerator option
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (8 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 09/14] docs: remove 64-bit only mentions for accelerators Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 11/14] docs: mention that WHPX supports Arm too Paolo Bonzini
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mohamed Mediouni

From: Mohamed Mediouni <mohamed@unpredictable.fr>

This option is WHPX-specific and controls whether Hyper-V enlightenments are enabled.

Signed-off-by: Mohamed Mediouni <mohamed@unpredictable.fr>
Link: https://lore.kernel.org/r/20260311102626.46546-3-mohamed@unpredictable.fr
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 qemu-options.hx | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/qemu-options.hx b/qemu-options.hx
index 890c4f1d230..69e5a874c1a 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -325,6 +325,11 @@ SRST
         option can be used to pass the KVM device to use via a file descriptor
         by setting the value to ``/dev/fdset/NN``.
 
+    ``hyperv=on|off|auto``
+        For the WHPX backend, determines whether to enable Hyper-V enlightenments.
+        On x86_64, Hyper-V enlightenments are on by default. On AArch64, they're off
+        by default.
+
 ERST
 
 DEF("smp", HAS_ARG, QEMU_OPTION_smp,
-- 
2.53.0



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

* [PULL 11/14] docs: mention that WHPX supports Arm too
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (9 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 10/14] qemu-options.hx: document Hyper-V enlightenments accelerator option Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 12/14] target/i386: add compat for migrating error code Paolo Bonzini
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Mohamed Mediouni

From: Mohamed Mediouni <mohamed@unpredictable.fr>

Signed-off-by: Mohamed Mediouni <mohamed@unpredictable.fr>
Link: https://lore.kernel.org/r/20260311102626.46546-4-mohamed@unpredictable.fr
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 docs/about/build-platforms.rst | 2 +-
 docs/system/introduction.rst   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index ae138ff0e02..6e3088d524a 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -43,7 +43,7 @@ Those hosts are officially supported, with various accelerators:
    * - CPU Architecture
      - Accelerators
    * - Arm
-     - hvf, kvm, tcg, xen
+     - hvf, kvm, tcg, whpx, xen
    * - PPC
      - kvm, tcg
    * - RISC-V
diff --git a/docs/system/introduction.rst b/docs/system/introduction.rst
index 2dfa371e0f9..be387a66458 100644
--- a/docs/system/introduction.rst
+++ b/docs/system/introduction.rst
@@ -31,7 +31,7 @@ Tiny Code Generator (TCG) capable of emulating many CPUs.
     - x86, Arm
   * - Windows Hypervisor Platform (whpx)
     - Windows
-    - x86
+    - Arm, x86
   * - NetBSD Virtual Machine Monitor (nvmm)
     - NetBSD
     - x86
-- 
2.53.0



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

* [PULL 12/14] target/i386: add compat for migrating error code
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (10 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 11/14] docs: mention that WHPX supports Arm too Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 13/14] rust: Update Cargo.lock Paolo Bonzini
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Fiona Ebner, qemu-stable, Zhao Liu

From: Fiona Ebner <f.ebner@proxmox.com>

If cpu->env.has_error_code is true, backwards migration of a VM from
a QEMU binary with commit 27535e9cca to a QEMU binary without commit
27535e9cca will fail:

> kvm: error while loading state for instance 0x0 of device 'cpu'

In practice, wrongly setting the error code to 0 on the target is
often unproblematic, so additionally checking error_code != 0 in
cpu_errcode_needed() is not enough to mitigate the issue. Instead, add
proper machine version compat handling.

Cc: qemu-stable@nongnu.org
Fixes: 27535e9cca ("target/i386: Add support for save/load of exception error code")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20260310154348.495332-1-f.ebner@proxmox.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.h     | 1 +
 hw/i386/pc.c          | 1 +
 target/i386/cpu.c     | 1 +
 target/i386/machine.c | 2 +-
 4 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 7bd38f0c039..0b539155c40 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -2361,6 +2361,7 @@ struct ArchCPU {
     bool expose_tcg;
     bool migratable;
     bool migrate_smi_count;
+    bool migrate_error_code;
     uint32_t apic_id;
 
     /* Enables publishing of TSC increment and Local APIC bus frequencies to
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index addf602da08..4b53b5be4a9 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -78,6 +78,7 @@ const size_t pc_compat_10_2_len = G_N_ELEMENTS(pc_compat_10_2);
 
 GlobalProperty pc_compat_10_1[] = {
     { "mch", "extended-tseg-mbytes", "16" },
+    { TYPE_X86_CPU, "x-migrate-error-code", "false" },
 };
 const size_t pc_compat_10_1_len = G_N_ELEMENTS(pc_compat_10_1);
 
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 1debc0c61fc..5b9ae79f165 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -10651,6 +10651,7 @@ static const Property x86_cpu_properties[] = {
     DEFINE_PROP_BOOL("tcg-cpuid", X86CPU, expose_tcg, true),
     DEFINE_PROP_BOOL("x-migrate-smi-count", X86CPU, migrate_smi_count,
                      true),
+    DEFINE_PROP_BOOL("x-migrate-error-code", X86CPU, migrate_error_code, true),
     /*
      * lecacy_cache defaults to true unless the CPU model provides its
      * own cache information (see x86_cpu_load_def()).
diff --git a/target/i386/machine.c b/target/i386/machine.c
index c9139612813..48a2a4b3190 100644
--- a/target/i386/machine.c
+++ b/target/i386/machine.c
@@ -466,7 +466,7 @@ static bool cpu_errcode_needed(void *opaque)
 {
     X86CPU *cpu = opaque;
 
-    return cpu->env.has_error_code != 0;
+    return cpu->env.has_error_code != 0 && cpu->migrate_error_code;
 }
 
 static const VMStateDescription vmstate_error_code = {
-- 
2.53.0



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

* [PULL 13/14] rust: Update Cargo.lock
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (11 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 12/14] target/i386: add compat for migrating error code Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 11:04 ` [PULL 14/14] typedefs: move QIgvm out of typedefs.h Paolo Bonzini
  2026-03-12 18:02 ` [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Peter Maydell
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

Update Cargo.lock on top of commit  7ecd3f71079 ("Merge tag
'for-upstream' of https://gitlab.com/bonzini/qemu into staging").

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/20260309172440.66409-1-philmd@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 rust/Cargo.lock | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/rust/Cargo.lock b/rust/Cargo.lock
index 801ac5f4f51..cbb3ca15f77 100644
--- a/rust/Cargo.lock
+++ b/rust/Cargo.lock
@@ -172,7 +172,6 @@ dependencies = [
  "migration",
  "qemu_macros",
  "qom",
- "system",
  "util",
 ]
 
@@ -351,7 +350,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd"
 dependencies = [
  "serde_core",
- "serde_derive",
 ]
 
 [[package]]
@@ -407,6 +405,7 @@ dependencies = [
  "bql",
  "common",
  "glib-sys",
+ "hwcore",
  "migration",
  "qom",
  "system-sys",
-- 
2.53.0



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

* [PULL 14/14] typedefs: move QIgvm out of typedefs.h
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (12 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 13/14] rust: Update Cargo.lock Paolo Bonzini
@ 2026-03-12 11:04 ` Paolo Bonzini
  2026-03-12 18:02 ` [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Peter Maydell
  14 siblings, 0 replies; 16+ messages in thread
From: Paolo Bonzini @ 2026-03-12 11:04 UTC (permalink / raw)
  To: qemu-devel

Typedefs.h should only be used for really core types; QIgvm is
just an opaque struct that is defined in system/igvm-internal.h,
and the typedef itself can be placed simply in system/igvm.h.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/qemu/typedefs.h | 1 -
 include/system/igvm.h   | 3 ++-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index cbe6f7f4c7c..416a8c9acea 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -102,7 +102,6 @@ typedef struct QEMUSGList QEMUSGList;
 typedef struct QemuSpin QemuSpin;
 typedef struct QEMUTimer QEMUTimer;
 typedef struct QEMUTimerListGroup QEMUTimerListGroup;
-typedef struct QIgvm QIgvm;
 typedef struct QList QList;
 typedef struct QNull QNull;
 typedef struct QNum QNum;
diff --git a/include/system/igvm.h b/include/system/igvm.h
index f9231f03ec8..64d3542311a 100644
--- a/include/system/igvm.h
+++ b/include/system/igvm.h
@@ -13,10 +13,11 @@
 #define BACKENDS_IGVM_H
 
 #include "hw/core/boards.h"
-#include "qemu/typedefs.h"
 #include "system/confidential-guest-support.h"
 #include "qapi/error.h"
 
+typedef struct QIgvm QIgvm;
+
 int qigvm_process_file(IgvmCfg *igvm, MachineState *machine_state,
                        bool onlyVpContext, Error **errp);
 
-- 
2.53.0



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

* Re: [PULL 00/14] Misc patches for QEMU 11.0 hard freeze
  2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
                   ` (13 preceding siblings ...)
  2026-03-12 11:04 ` [PULL 14/14] typedefs: move QIgvm out of typedefs.h Paolo Bonzini
@ 2026-03-12 18:02 ` Peter Maydell
  14 siblings, 0 replies; 16+ messages in thread
From: Peter Maydell @ 2026-03-12 18:02 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel

On Thu, 12 Mar 2026 at 11:05, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 1fd5ff9d76d23ab23a68419cbc76d5ee33e8b455:
>
>   Merge tag 'for-upstream' of https://gitlab.com/kmwolf/qemu into staging (2026-03-10 16:29:24 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to c725a896c6b92f733e0eeb236167cbd9b33efda8:
>
>   typedefs: move QIgvm out of typedefs.h (2026-03-12 12:02:55 +0100)
>
> ----------------------------------------------------------------
> * accel/kvm: fix typo in variable name
> * system: fix coverity issues related to confidential guest reset
> * target/i386: add compat for migrating error code
> * docs fixes
> * hyperv/syndbg: check length returned by cpu_physical_memory_map()
> * typedefs: move QIgvm out of typedefs.h
> * rust: Update Cargo.lock
> * i386/cpu: cleanups for ClearwaterForest, AMX and more
>




Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/11.0
for any user-visible changes.

-- PMM


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

end of thread, other threads:[~2026-03-12 18:03 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-12 11:04 [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Paolo Bonzini
2026-03-12 11:04 ` [PULL 01/14] hyperv/syndbg: check length returned by cpu_physical_memory_map() Paolo Bonzini
2026-03-12 11:04 ` [PULL 02/14] i386/cpu: Rename AMX mirror cpuid macros with _ALIAS suffix Paolo Bonzini
2026-03-12 11:04 ` [PULL 03/14] i386/cpu: Rename AMX mirror feature words with -alias suffix Paolo Bonzini
2026-03-12 11:04 ` [PULL 04/14] i386/cpu: Remove unnecessary cache_info fields from builtin CPU model Paolo Bonzini
2026-03-12 11:04 ` [PULL 05/14] i386/cpu: Adjust the note for CPU models with its-no Paolo Bonzini
2026-03-12 11:04 ` [PULL 06/14] i386/cpu: Enable CPUID 0x1f & cache model for ClearwaterForest Paolo Bonzini
2026-03-12 11:04 ` [PULL 07/14] coverity: fix coverity issues related to confidential guest reset Paolo Bonzini
2026-03-12 11:04 ` [PULL 08/14] accel/kvm: fix typo in variable name Paolo Bonzini
2026-03-12 11:04 ` [PULL 09/14] docs: remove 64-bit only mentions for accelerators Paolo Bonzini
2026-03-12 11:04 ` [PULL 10/14] qemu-options.hx: document Hyper-V enlightenments accelerator option Paolo Bonzini
2026-03-12 11:04 ` [PULL 11/14] docs: mention that WHPX supports Arm too Paolo Bonzini
2026-03-12 11:04 ` [PULL 12/14] target/i386: add compat for migrating error code Paolo Bonzini
2026-03-12 11:04 ` [PULL 13/14] rust: Update Cargo.lock Paolo Bonzini
2026-03-12 11:04 ` [PULL 14/14] typedefs: move QIgvm out of typedefs.h Paolo Bonzini
2026-03-12 18:02 ` [PULL 00/14] Misc patches for QEMU 11.0 hard freeze Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox