Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d3a24134e37d57abd3e7445842cda2717f49e96d
      
https://github.com/qemu/qemu/commit/d3a24134e37d57abd3e7445842cda2717f49e96d
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2025-07-17 (Thu, 17 Jul 2025)

  Changed paths:
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  target/i386: do not expose ARCH_CAPABILITIES on AMD CPU

KVM emulates the ARCH_CAPABILITIES on x86 for both Intel and AMD
cpus, although the IA32_ARCH_CAPABILITIES MSR is an Intel-specific
MSR and it makes no sense to emulate it on AMD.

As a consequence, VMs created on AMD with qemu -cpu host and using
KVM will advertise the ARCH_CAPABILITIES feature and provide the
IA32_ARCH_CAPABILITIES MSR. This can cause issues (like Windows BSOD)
as the guest OS might not expect this MSR to exist on such cpus (the
AMD documentation specifies that ARCH_CAPABILITIES feature and MSR
are not defined on the AMD architecture).

A fix was proposed in KVM code, however KVM maintainers don't want to
change this behavior that exists for 6+ years and suggest changes to be
done in QEMU instead.  Therefore, hide the bit from "-cpu host":
migration of -cpu host guests is only possible between identical host
kernel and QEMU versions, therefore this is not a problematic breakage.

If a future AMD machine does include the MSR, that would re-expose the
Windows guest bug; but it would not be KVM/QEMU's problem at that
point, as we'd be following a genuine physical CPU impl.

Reported-by: Alexandre Chartre <alexandre.char...@oracle.com>
Suggested-by: Daniel P. Berrangé <berra...@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao...@intel.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: e52af92e9e6f8fc00f2ae6b63214b3d6213b3cec
      
https://github.com/qemu/qemu/commit/e52af92e9e6f8fc00f2ae6b63214b3d6213b3cec
  Author: Zhao Liu <zhao1....@intel.com>
  Date:   2025-07-17 (Thu, 17 Jul 2025)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386/cpu: Move x86_ext_save_areas[] initialization to .instance_init

In x86_cpu_post_initfn(), the initialization of x86_ext_save_areas[]
marks the unsupported xsave areas based on Host support.

This step must be done before accel_cpu_instance_init(), otherwise,
KVM's assertion on host xsave support would fail:

qemu-system-x86_64: ../target/i386/kvm/kvm-cpu.c:149:
kvm_cpu_xsave_init: Assertion `esa->size == eax' failed.

(on AMD EPYC 7302 16-Core Processor)

Move x86_ext_save_areas[] initialization to .instance_init and place it
before accel_cpu_instance_init().

Fixes: commit 5f158abef44c ("target/i386: move accel_cpu_instance_init to 
.instance_init")
Reported-by: Paolo Abeni <pab...@redhat.com>
Tested-by: Paolo Abeni <pab...@redhat.com>
Signed-off-by: Zhao Liu <zhao1....@intel.com>
Link: https://lore.kernel.org/r/20250717023933.2502109-1-zhao1....@intel.com
Reviewed-by: Xiaoyao Li <xiaoyao...@intel.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: e00cb2189a920bcfb428622c5d112469c4a094d1
      
https://github.com/qemu/qemu/commit/e00cb2189a920bcfb428622c5d112469c4a094d1
  Author: Stefano Garzarella <sgarz...@redhat.com>
  Date:   2025-07-17 (Thu, 17 Jul 2025)

  Changed paths:
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  meson: re-generate scripts/meson-buildoptions.sh to fix IGVM entry

Commit 84fe49d94a ("meson: Add optional dependency on IGVM library")
was inconsistent with the contents of meson_options.txt and the one
generated in scripts/meson-buildoptions.sh

Let's regenerate the file in this way to keep them consistent and prevent
future changes from including the spurious diff:

    touch meson_options.txt
    make update-buildoptions

Fixes: 84fe49d94a ("meson: Add optional dependency on IGVM library")
Cc: roy.hopk...@randomman.co.uk
Reported-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Stefano Garzarella <sgarz...@redhat.com>
Link: https://lore.kernel.org/r/20250717131256.157383-1-sgarz...@redhat.com
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: f2b787976342a9e1d47810f3146ad74b86a5088a
      
https://github.com/qemu/qemu/commit/f2b787976342a9e1d47810f3146ad74b86a5088a
  Author: Paolo Bonzini <pbonz...@redhat.com>
  Date:   2025-07-17 (Thu, 17 Jul 2025)

  Changed paths:
    M target/i386/kvm/tdx.c

  Log Message:
  -----------
  target/i386: tdx: fix locking for interrupt injection

Take tdx_guest->lock when injecting the event notification interrupt into
the guest.

Fixes CID 1612364.

Reported-by: Peter Maydell <peter.mayd...@linaro.org>
Cc: Xiaoyao Li <xiaoyao...@intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao...@intel.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: 5fe6b9a854a91df86fdb794cbeb67d0656756137
      
https://github.com/qemu/qemu/commit/5fe6b9a854a91df86fdb794cbeb67d0656756137
  Author: Xiaoyao Li <xiaoyao...@intel.com>
  Date:   2025-07-17 (Thu, 17 Jul 2025)

  Changed paths:
    M target/i386/host-cpu.h

  Log Message:
  -----------
  i386/cpu: Cleanup host_cpu_max_instance_init()

The implementation of host_cpu_max_instance_init() was merged into
host_cpu_instance_init() by commit 29f1ba338baf ("target/i386: merge
host_cpu_instance_init() and host_cpu_max_instance_init()"), while the
declaration of it remains in host-cpu.h.

Clean it up.

Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Reviewed-by: Zhao Liu <zhao1....@intel.com>
Link: https://lore.kernel.org/r/20250716063117.602050-1-xiaoyao...@intel.com
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: f64832033d1262983bfe759669b4f65080f760dc
      
https://github.com/qemu/qemu/commit/f64832033d1262983bfe759669b4f65080f760dc
  Author: Xiaoyao Li <xiaoyao...@intel.com>
  Date:   2025-07-17 (Thu, 17 Jul 2025)

  Changed paths:
    M target/i386/kvm/tdx.c

  Log Message:
  -----------
  i386/tdx: Remove the redundant qemu_mutex_init(&tdx->lock)

Commit 40da501d8989 ("i386/tdx: handle TDG.VP.VMCALL<GetQuote>") added
redundant qemu_mutex_init(&tdx->lock) in tdx_guest_init by mistake.

Fix it by removing the redundant one.

Fixes: 40da501d8989 ("i386/tdx: handle TDG.VP.VMCALL<GetQuote>")
Reported-by: Peter Maydell <peter.mayd...@linaro.org>
Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Link: https://lore.kernel.org/r/20250717103707.688929-1-xiaoyao...@intel.com
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>


  Commit: e82989544e38062beeeaad88c175afbeed0400f8
      
https://github.com/qemu/qemu/commit/e82989544e38062beeeaad88c175afbeed0400f8
  Author: Stefan Hajnoczi <stefa...@redhat.com>
  Date:   2025-07-18 (Fri, 18 Jul 2025)

  Changed paths:
    M scripts/meson-buildoptions.sh
    M target/i386/cpu.c
    M target/i386/host-cpu.h
    M target/i386/kvm/kvm.c
    M target/i386/kvm/tdx.c

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* target/i386: bugfixes
* regenerate meson-buildoptions.sh

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCgAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmh5FGsUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroN8LQf/bUbOs4rNMO8SM5j0l8z3AzYZzoI+
# fhJYsvg1mKRg9A+bB1zhb6pKgANRir5s9DQw1BhDkRVvIUDSloefl/aUTP8WYbho
# TfS1f3BDv1nvR9EiPHSIBJx5bN+by1rOjxZTa+m1tFT5rpTQu5mV/RjKtl1Pri3r
# V6W0zxBUhj4TG0cgiX+yIJSB4lr2tjMVMVI82ggkKaYI+1cyJGuPiMydmlF0kz1o
# vEZDF0KAonBZgGtYQWtTbB8Fj3bLUg8YlQOyXijsRi9xE/gZ6FKHkOHpgmWEz9is
# zb6q5rqBT8opo63/NCtSTK4vyTRAoLVZ6ZzFxH5GoRKo28SctKTd5/BwWA==
# =Z7qn
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 17 Jul 2025 11:19:07 EDT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonz...@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonz...@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonz...@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* tag 'for-upstream' of https://gitlab.com/bonzini/qemu:
  i386/tdx: Remove the redundant qemu_mutex_init(&tdx->lock)
  i386/cpu: Cleanup host_cpu_max_instance_init()
  target/i386: tdx: fix locking for interrupt injection
  meson: re-generate scripts/meson-buildoptions.sh to fix IGVM entry
  i386/cpu: Move x86_ext_save_areas[] initialization to .instance_init
  target/i386: do not expose ARCH_CAPABILITIES on AMD CPU

Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>


Compare: https://github.com/qemu/qemu/compare/3656e761bcdd...e82989544e38

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to