Commit Graph

130686 Commits

Author SHA1 Message Date
Richard Henderson
2d7709ad7b target/arm: Rename isar_feature_aa64_sve_aes
Rename from isar_feature_aa64_sve2_aes to match
the feature name: FEAT_SVE_AES.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20260618040718.572950-7-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2026-06-29 11:03:46 +01:00
Richard Henderson
e22eb3e0c7 target/arm: Implement FIRSTP, LASTP
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20260618040718.572950-6-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2026-06-29 11:03:46 +01:00
Richard Henderson
dab6115d2c target/arm: Implement COMPACT for byte/halfword
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20260618040718.572950-5-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2026-06-29 11:03:46 +01:00
Richard Henderson
6101a79995 target/arm: Generalize sve_compact_[sd]
Implement with a DO_COMPACT macro and general purpose
predicate handling.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20260618040718.572950-4-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2026-06-29 11:03:46 +01:00
Richard Henderson
5a3e71a7c2 target/arm: Implement EXPAND
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20260618040718.572950-3-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2026-06-29 11:03:46 +01:00
Richard Henderson
2c346e6136 target/arm: Enable SCTLR_EL1.EnFPM for user-only
We advertised linux-user support for FPMR without actually
enabling access to the register as the kernel must do.

Fixes: 2430d49a17 ("target/arm: Enable FEAT_FPMR for -cpu max")
Reported-by: Dillon Sharlet <dsharlet@google.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20260618040718.572950-2-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2026-06-29 11:03:46 +01:00
jack wang
af80302588 hw/timer/imx_epit: Replace DPRINTF with trace events
Clean up the codebase by removing the outdated DEBUG_IMX_EPIT
and DPRINTF macros, replacing them with modern QEMU trace events.

This also removes an empty and meaningless DPRINTF("\n") in the
imx_epit_realize function.

Signed-off-by: jack wang <163wangjack@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Message-id: 20260617161406.14705-1-163wangjack@gmail.com
[PMM: remove stray blank lines from bottom of trace-events file]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2026-06-29 11:03:46 +01:00
Stefan Hajnoczi
20553466cc Merge tag 'pbouvier/pr/docs-20260626' of https://gitlab.com/p-b-o/qemu into staging
Changes:
- [PATCH v3] docs/system: add general note about architecture and (Linisha <linisha232@gmail.com>)
  Link: https://lore.kernel.org/qemu-devel/20260626181118.1136-1-linisha232@gmail.com

# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCgAdFiEEN8FWlNi6l2Sxlz/btEQ30ZwoYt8FAmo+zu4ACgkQtEQ30Zwo
# Yt/NQwv+M30mFcGyX1sDBk3G/YTsrDaVsXmHIut4Iuz01jGkCkyR0Vqz/g3gmLTX
# Rouhgov7yzhmiU9XDzK+4SKPkiNCPCAH0Z3EBhYxy/kI9yXCBO9Qp89SbBVpG4BS
# efj6n+gUsojSHfvswp3OBomCxT9MziytCQ2ouNflBEiigPrBHhSTuDU8cgsmcx2E
# disJhObtYuC6UnHQc1wEZDboVsRWPO81RKATmv4mnQIJ1k6SZHPp8pxf09ku+gi2
# IrZZq5tOY1/N974NCFSyLzIUuY98r5hVCvxnMqyXavGVvTfdTIGowwmG5E4w/68J
# zk4ZoJpHUW2fXIfQFHTln7SKtdFsKsUmgTV/PxPG9w6EjSxDMoBHeYhbRKqIbbDW
# +AQymgH7Y2jAuZXpRiynbm/b5gzkYJT8tX8ffmN+0F7LWbiE4XWQD7y35AkgMCct
# TV8oY1HbPjEK5o6hr+TuYq0p5yF0feqAW8gUHUvDhNsIlifkbAyaFYuYCE+7l7RP
# z7Y6K43u
# =xXlR
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 26 Jun 2026 15:11:42 EDT
# gpg:                using RSA key 37C15694D8BA9764B1973FDBB44437D19C2862DF
# gpg: Good signature from "Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 37C1 5694 D8BA 9764 B197  3FDB B444 37D1 9C28 62DF

* tag 'pbouvier/pr/docs-20260626' of https://gitlab.com/p-b-o/qemu:
  docs/system: add general note about architecture and machine differences

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2026-06-27 23:28:35 -04:00
Stefan Hajnoczi
0951d6dab1 Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* target/i386/mshv: CPU model support
* target/i386/mshv: first part of migration support
* target/i386/mshv: faster register access for MMIO exits
* target/i386/tdx: add support for AMX alias bits in CPUID and AVX10
* Deprecate memory-encryption in favor of confidential-guest-support

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCgAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmo9sDwUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroOHBwf8Dx4gkbzOFxmCNX3EaW+ROYwlyAC7
# ADo9LFloDHXforRYTm4mBXNUVNF1/KFA6Tf92rzBlUZgp9KuMy/KhWZ1GbNsE+9b
# k5/1RF9/IxRHy6GL69apdHEKY2OYzXl76or2HF3wMd6Mu77qD8Onthko81VaLWox
# 5ZOBz6NaSnykzs9RimkVLtD9HswtFile2NWTPSliUV874lEJioNi9RcdhnQvJCnX
# WqGWViC0THucIGCm+NVhSEmvRnAFbPgUBPvQuy7skLu+R7Ryy7GAWmE/gFlSrYy2
# 4c4zt4SB0tFYJlT9db5ZdaUSgCs52CFawQ9uTSEjNSmEEuQFzXGo6BeY4w==
# =4V0w
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 25 Jun 2026 18:48:28 EDT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@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: (45 commits)
  i386/tdx: Add CPUID_24_0_EBX_AVX10_VL_MASK as supported
  i386/tdx: Make AMX alias bits supported
  i386/tdx: Use .has_gpa field to check if the gpa is valid
  machine: Deprecate memory-encryption
  qemu-options: Add description of tdx-guest object
  qemu-options: Add confidential-guest-support to machine options
  qemu-options: Change memory-encryption to confidential-guest-support in the example
  i386/sev: Remove the example that references memory-encryption
  target/i386/mshv: use the register page to set registers
  target/i386/mshv: use the register page to get registers
  target/i386/mshv: hv_vp_register_page setup for the vcpu
  include/hw/hyperv: add hv_vp_register_page struct definition
  accel: remove unnecessary #ifdefs
  target/i386/mshv: migrate CET/SS MSRs
  target/i386/mshv: migrate MTRR MSRs
  target/i386/mshv: migrate MSRs
  target/i386/mshv: reconstruct hflags after load
  target/i386/mshv: migrate XSAVE state
  target/i386/mshv: migrate pending ints/excs
  target/i386/mshv: move msr code to arch
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2026-06-27 23:06:04 -04:00
Linisha
ee03a20aab docs/system: add general note about architecture and machine differences
Add a note near the start of the introduction explaining that QEMU
options, properties, and command lines may differ between target
architectures and machine types. This helps prevent confusion when
examples shown for one architecture do not work for another, such as
the pflash0/pflash1 options visible in -machine help on some machines
but not others.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Buglink: https://gitlab.com/qemu-project/qemu/-/issues/3254
Signed-off-by: Linisha <linisha232@gmail.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260626181118.1136-1-linisha232@gmail.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-06-26 12:10:41 -07:00
Stefan Hajnoczi
8f1d3b586f Merge tag 'pbouvier/pr/ci-20260625' of https://gitlab.com/p-b-o/qemu into staging
Changes:
- [PATCH v2 0/6] gitlab: expose more info about CI runner environment (=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>)
  Link: https://lore.kernel.org/qemu-devel/20260624124657.2725376-1-berrange@redhat.com

 # -----BEGIN PGP SIGNATURE-----
 #
 # iQGzBAABCgAdFiEEN8FWlNi6l2Sxlz/btEQ30ZwoYt8FAmo9qdAACgkQtEQ30Zwo
 # Yt8wMwwAhjB7xy4Eu3gt+leYEq9Yfq44fFGAnBQlN1kvEJhYkxJIA0KSoTZHGSQ/
 # Kn97Quhc4kUI4+VvW++pDLevRZ1L80bcKPIM1PtOv5+VKvzCpEjzso6xYodpXTB5
 # XgoXgnfTrLagccVeQLObex7PYPVtiQRV0xGXpQSgDqzbxgczgeEqR6YuED7eZVaJ
 # ya2JdrIGnpKRhaal+RoCfSnqkRVYvIqs1/CVW2a3VZAq9+kLsx22NceDmX4v22mU
 # O/rV4NlfjQ/2FuJvr/Zdnq8RFMHZwFW/NitKWH8esdgXwShnScNq/w4cHS/8CiYC
 # 0jq1PxMNuI6q9yjQrXxDMdzJaPjyFnjCFCEYCyZsl9Iokb1GnWVT8xDB07HHRXwL
 # nH6YYepSEhlEhY2RFkR4lT9q4p2XoTXlASgxpn6MLu+4V+vuh2A47KNNuClmiLnL
 # JQfeF4970RHuJOzxxlzcIpjxHJSxi4SjbGKIuQZ6Hu1eIVx4Tly2Xep4mxa5qCZN
 # KIwoRaKZ
 # =jvzH
 # -----END PGP SIGNATURE-----
 # gpg: Signature made Thu 25 Jun 2026 18:21:04 EDT
 # gpg:                using RSA key 37C15694D8BA9764B1973FDBB44437D19C2862DF
 # gpg: Good signature from "Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>" [unknown]
 # gpg: WARNING: This key is not certified with a trusted signature!
 # gpg:          There is no indication that the signature belongs to the owner.
 # Primary key fingerprint: 37C1 5694 D8BA 9764 B197  3FDB B444 37D1 9C28 62DF

* tag 'pbouvier/pr/ci-20260625' of https://gitlab.com/p-b-o/qemu:
  gitlab: greatly expand captured info about CI runner environment
  gitlab: pull before_script logic into .base_meson_job_template
  gitlab: pull ccache setup into .base_meson_ccache_job_template
  gitlab: use .base_meson_job_template from crossbuild jobs
  gitlab: move .meson_job_template into base.yaml
  gitlab: remove unused .cross_test_artifacts template

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

Conflicts:
- .gitlab-ci.d/buildtest-template.yml
  Context conflict with commit 559d834371 ("gitlab: ensure "check-XXX'
  jobs capture functional test logs") moving the artifacts section.
2026-06-26 07:58:03 -04:00
Stefan Hajnoczi
bbf879119e Merge tag 'pull-11.1-testing-updates-230626-1' of https://gitlab.com/stsquad/qemu into staging
testing and gitlab updates:

  - present a dev friendly cmd line in functional test logs
  - tell pylint to skip c-modules
  - widen the capture of functional tests logs in gitlab
  - remove workaround for MacOS build targets
  - update the gitlab bug template for security process

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmo6W8MACgkQ+9DbCVqe
# KkRwDwf+NiRSwHfbjVSPOWws8wVSZHcgzeArHPsXtYrebi+rX9+l+bdIeRNFTfDX
# +6FvA5lWMbIB+pNFAkPdtjvpzzmV+tjaer6lR//0riF4Ch3TufYHhDVIjuvJaI/d
# mvsVUAFCS6AMb9sdky2mGA8SHeO5dV7XqMquTOH/tfs/M3PuLFMj8qcVFzXlmC79
# pzbpahCSJsclFj8traFYiAR2ofGXUH2PkW5aEctD1LnyAbGEHdEO8vR3KKB7ysHA
# OySKG0IXTBmyH03rZ9WHskVlH/xVZjo+FPro0moduTVOLeCksNBnuxdmKJKvPVVy
# vSrF/TOjZbmgg9vVlGULFNKTu3VlAQ==
# =2LgM
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 23 Jun 2026 06:11:15 EDT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* tag 'pull-11.1-testing-updates-230626-1' of https://gitlab.com/stsquad/qemu:
  gitlab: update bug template for sec issues & tool assistance
  gitlab: remove build target hacks
  gitlab: ensure "check-XXX' jobs capture functional test logs
  tests/functional: tell pylint not to check c-modules
  python/qemu: dump a developer friendly version of cmdline to logs
  python/qemu: split console from harness args
  python/qemu: split arg between base and harness lists

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2026-06-25 19:25:44 -04:00
Xiaoyao Li
db13fe80ef i386/tdx: Add CPUID_24_0_EBX_AVX10_VL_MASK as supported
AVX10 depends on CPUID_24_0_EBX_AVX10_VL_MASK as defined in
feature_dependencies[]. Currently CPUID_24_0_EBX_AVX10_VL_MASK is always
not supported for TDX, so AVX10 cannot be exposed to TD guest.

The TDX virtualization type of these bits is "XFAM & CPUID_Enabled &
Native": their value is determined by XFAM[5:7], the AVX10 CPUID bit,
and the native hardware value.

For simplicity, add CPUID_24_0_EBX_AVX10_VL_MASK to tdx_xfam_deps[]
under the AVX512/XFAM dependency, without separately checking the AVX10
bit. It's safe because any invalid combination supplied by the user will
be caught by tdx_check_features().

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Tested-by: Chenyi Qiang <chenyi.qiang@intel.com>
Link: https://lore.kernel.org/r/20260512082108.621596-4-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:23 +02:00
Xiaoyao Li
66c3322ab2 i386/tdx: Make AMX alias bits supported
When booting a TD guest on a platform that supports AMX alias bits, QEMU
emits the warning such as:

  qemu-system-x86_64: warning: TDX forcibly sets the feature: CPUID[eax=1Eh,ecx=01h].EAX.amx-int8-alias [bit 0]
  ...

Bit[3:0] of CPUID(0x1e,1).EAX alias the AMX CPUID bits from leaf 7.
Their TDX virtualization type is "CPUID_Enabled & Native": the value is
determined by the leaf-7 AMX bit they are aliased to and the native
hardware value.

These bits must be added to the TDX supported bits list so that they can
be enabled without triggering the forced-set warning. For simplicity,
mark them as supported whenever the corresponding AMX XFAM bit is
supported, rather than checking each aliased leaf-7 bit individually.
This reduces code complexity. Any platform that supports the AMX XFAM bit
but not these alias bits will still be handled correctly, since the TDX
module provides the real value via tdx_check_features().

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Tested-by: Chenyi Qiang <chenyi.qiang@intel.com>
Link: https://lore.kernel.org/r/20260512082108.621596-3-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:23 +02:00
Xiaoyao Li
a5b14a8e38 i386/tdx: Use .has_gpa field to check if the gpa is valid
When translating the QAPI type GuestPanicInformationTdx into its C
struct, the generated code provides a .has_gpa boolean field to indicate
whether the optional gpa field is present.

Replace the magic sentinel value -1ULL, previously used to signal "no
valid GPA", with the idiomatic .has_gpa field.  This removes the
implicit sentinel coupling and makes the validity check self-documenting.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Link: https://lore.kernel.org/r/20260512082108.621596-2-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:23 +02:00
Xiaoyao Li
5cd5188ef8 machine: Deprecate memory-encryption
We've had 'confidential-guest-support' for long enough that no one should
be using 'memory-encryption' anymore.

Deprecate 'memory-encryption' by adding notes in docs/about/deprecated.rst
and print a warning when 'memory-encryptio' is used.

Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/qemu-devel/aMPYkUsytGxLPIM7@redhat.com/
Link: https://lore.kernel.org/r/20260512084458.622465-6-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:23 +02:00
Xiaoyao Li
791b5178ed qemu-options: Add description of tdx-guest object
Add description of tdx-guest object so that QEMU doc page can have the
description.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20260512084458.622465-5-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Xiaoyao Li
b91ae3b688 qemu-options: Add confidential-guest-support to machine options
"confidential-guest-support" is the recommended property to configure
machine with confidential computing technology instead of
"memory-encryption".

Add "confidential-guest-support" to machine options and call out
explicitly "memory-encryption" is the alias of it and not recommended.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20260512084458.622465-4-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Xiaoyao Li
37b13afc5f qemu-options: Change memory-encryption to confidential-guest-support in the example
"confidential-guest-support" is the recommended property instead of
"memory-encryption". Switch to "confidential-guest-support" in the
example of sev-guest.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20260512084458.622465-3-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Xiaoyao Li
07f567657b i386/sev: Remove the example that references memory-encryption
"confidential-guest-support" is the recommended property to configure
sev for the machine, and amd-memory-encryption.rst has already switched
to use "confidential-guest-support" in the example.

Instead of changing "memory-encryption" to "confidential-guest-support"
in the comment of struct SevGuestState, just drop the example for
simplicity.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20260512084458.622465-2-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Doru Blânzeanu
80c7f8e9cd target/i386/mshv: use the register page to set registers
Update mshv_store_regs to use the register page when it is mmapped and
valid to set registers.
Otherwise use the ioctls to set the registers.

Signed-off-by: Doru Blânzeanu <dblanzeanu@linux.microsoft.com>
Reviewed-By: Magnus Kulke <magnuskulke@linux.microsoft.com>
Reviewed-by: Mohamed Mediouni <mohamed@unpredictable.fr>
Link: https://lore.kernel.org/r/20260428135053.251200-7-dblanzeanu@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Doru Blânzeanu
40072a7391 target/i386/mshv: use the register page to get registers
Change the mshv_load_regs to use the register page when it is mmapped
and is valid.
Otherwise use the existing logic that uses ioctls to fetch registers.

When retrieving the special registers, there are some registers that are
not present in the register page: TR, LDTR, GDTR, IDTR, CR2, APIC_BASE.
For this ones we still need to use ioctls to correctly fetch.

Signed-off-by: Doru Blânzeanu <dblanzeanu@linux.microsoft.com>
Reviewed-by: Mohamed Mediouni <mohamed@unpredictable.fr>
Link: https://lore.kernel.org/r/20260428135053.251200-6-dblanzeanu@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Doru Blânzeanu
a173f8f170 target/i386/mshv: hv_vp_register_page setup for the vcpu
When the vcpu is created, call mmap to configure access to the register page.

Update CPUArchState to store a pointer to the mmapped hv_vp_register_page.

Signed-off-by: Doru Blânzeanu <dblanzeanu@linux.microsoft.com>
Reviewed-by: Mohamed Mediouni <mohamed@unpredictable.fr>
Link: https://lore.kernel.org/r/20260428135053.251200-5-dblanzeanu@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Doru Blânzeanu
8afb40b7fe include/hw/hyperv: add hv_vp_register_page struct definition
Define the `hv_vp_register_page` structure that the linux kernel uses
to allow access to vcpu registers.

This structure is going to be used in later patches to access vcpu
registers.

Signed-off-by: Doru Blânzeanu <dblanzeanu@linux.microsoft.com>
Reviewed-by: Mohamed Mediouni <mohamed@unpredictable.fr>
Link: https://lore.kernel.org/r/20260428135053.251200-4-dblanzeanu@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Paolo Bonzini
ee31871885 accel: remove unnecessary #ifdefs
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Magnus Kulke
f879d781b4 target/i386/mshv: migrate CET/SS MSRs
This change migrates the MSRs required for CET shadow stack and indirect
branch tracking. They are gated behind cet_ss_support || cet_ibt_support
mshv processor feature flags.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-24-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Magnus Kulke
c38eb12c85 target/i386/mshv: migrate MTRR MSRs
This change roundtrips memory access/caching MSRs. The mapping scheme
is a bit more elaborate on these, so we have added a special handling
instead of individual entries in the MSR mapping table.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-22-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Magnus Kulke
d540dcc5e2 target/i386/mshv: migrate MSRs
In this change the we rewrite the existing MSR logic to make MSRs
migratable:

- we map them on existing QEMU fields in the CPU. A table and a macro
  MSHV_ENV_FIELD is used to associate a HV register name to the their msr
  index and their offset in the cpu state struct. The list is not
  exhaustive and will be extended in follow-up commits.
- mshv_set/get_msrs() fns are called in the arch_load/store_vcpu_state()
  fns. they use use generic registers ioctl's and map the input/output
  via load/store_to/from_env() from/to the hv register content to the
  cpu state representation.
- init_msrs() has been moved from mshv-vcpu to the msr source file
- we need to perform some filtering of MSR because before writing and
  reading, because the hvcalls will fail if the partition doesn't
  support a given MSRs.
- Some MSRs are partition-wide and so we will only write the to on the
  BSP.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-21-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Magnus Kulke
e2840efd97 target/i386/mshv: reconstruct hflags after load
hflags is a cached bitmap derived from standard and special regs. We
want to reconstruct this state after regs and sregs have been read from
the hypervisor, similar to how it's one in other accelerators.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-33-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Magnus Kulke
676b3ba2d0 target/i386/mshv: migrate XSAVE state
We implement fn's that roundtrip XSAVE state in migration. We are using
the xsave_helper routines to move individual components from CPUX86State
to an xsave_buf and then we have to compact the buffer to XSAVEC format,
which is what the hypervisor expects.

And the same applies in the other direction for restoring state from the
hypervisor.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-32-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-26 00:48:22 +02:00
Daniel P. Berrangé
94809d5d9b gitlab: greatly expand captured info about CI runner environment
To aid in debugging wierd CI failures we need greater information
about the CI runner environment. It is usually container based
and can have some unexpected characteristics that significantly
differ from a developer's local environment.

This captures the mount list, CPU model, memory information,
device node lists, kernel info, user identity and all environment
variables.

Since this information can get quite large it is not emitted
directly in the logs, rather it is exposed in job artifacts
under the "ci-runner-env" directory.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260624124657.2725376-7-berrange@redhat.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-06-25 14:31:41 -07:00
Daniel P. Berrangé
3fbac8fc83 gitlab: pull before_script logic into .base_meson_job_template
This ensures that all jobs have the $JOBS env set and capture the
packages.txt content (where available) in their logs, and all use
the job section headers.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260624124657.2725376-6-berrange@redhat.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-06-25 14:31:41 -07:00
Daniel P. Berrangé
49cd30eea1 gitlab: pull ccache setup into .base_meson_ccache_job_template
This provides a consistent ccache setup across all build jobs.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260624124657.2725376-5-berrange@redhat.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-06-25 14:31:41 -07:00
Daniel P. Berrangé
ef4e75e5ab gitlab: use .base_meson_job_template from crossbuild jobs
This ensures that crossbuild jobs capture the build/meson-logs
content as artifacts to aid in debugging.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260624124657.2725376-4-berrange@redhat.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-06-25 14:31:41 -07:00
Daniel P. Berrangé
4fa56eaa75 gitlab: move .meson_job_template into base.yaml
Rename .meson_job_template to .base_meson_job_template and move
it into base.yml, in prep for wider reuse.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260624124657.2725376-3-berrange@redhat.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-06-25 14:31:41 -07:00
Daniel P. Berrangé
1275cca2fc gitlab: remove unused .cross_test_artifacts template
This is unused since

  commit 0d1137550b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   Thu Dec 18 09:58:33 2025 +1100

    gitlab: Remove 32-bit host testing

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260624124657.2725376-2-berrange@redhat.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-06-25 14:31:41 -07:00
Stefan Hajnoczi
60533c6193 Merge tag 'ui-pr-v1' of https://gitlab.com/marcandre.lureau/qemu into staging
UI patches

- ui: better console hotplug support
- vga: implement blinking

To: qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmo7wlsACgkQ2ujhCXWW
# nOUAaA/+OWDMM1SdVCk9M9K/sWiSP2fsXAB+Zpdj9mUKz4B86ulVAc5Wv0ROMKyC
# hO9XT8ksCC5Xuehhfb1gxhazA46z9QWDiZ1Drnm945WUJF9U6zcqMS9w343HNL/p
# HE+wCxz+D2Izx0wrlPHVPnNp+54Ge/YK4vNjfGKSXdwFGgQPfqMX3D+chL57/quG
# xttjbDNixplqxKGqzmQRIZKgifyrMUs1knLv+bi7BHGnKIws1ww5EwOAF9zfY626
# ouo5knVNqRKMekCudIudWIYKNtVSV2WPQz/k2AdNq5L0NeI2Mj6tFswVSfLlZ1LZ
# Np0Ijeip2EOYLuPTZJKZmAWlsUK1E/VXqpehzmZdi07i37kHJBafppPOD2//P3Bs
# UB8pXVcjlXrHxEwkwEKRLHsAbivmD/bszLeNj+/E1V9M7P9pIc0jiEYPG+9WniYv
# CJZ9w9Q9S7C1IKjRIRtR/veLI4MxBu/gz5DG8qzD2GfRVpGUV8J5loSc2CidBvCR
# Vk7fetkBLh9vWgWqqbBBguHieiqoWqJZ3OL+F+tMRfiA7WIJgl2K6hRlmA5baQpW
# pD794a2bn6h6jK26natfdA6Ns4NfWc4R/3lZRNqX3cPjyAy98nxdmCQwDJBV61e9
# e9YKU2tJ6zruUs3Oa9/XW/W4kyEm+aBXdysg5KziXUKLx3pHTOY=
# =N7bZ
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 24 Jun 2026 07:41:15 EDT
# gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
# gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full]
# gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full]
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5

* tag 'ui-pr-v1' of https://gitlab.com/marcandre.lureau/qemu: (35 commits)
  vga: implement text mode character blink
  tests/qtest: add D-Bus display hotplug test
  ui/dbus: handle console hotplug/unplug events
  ui/console: unregister console from QOM tree on close
  ui/console: register console in QOM tree dynamically
  ui/gtk: handle console hotplug/unplug events
  ui/gtk: centralize console menu and shortcut management
  ui/gtk: fix tab re-insertion order on window close
  ui/gtk: move global display settings out of per-console init
  ui/gtk: convert VirtualConsole storage from fixed array to GPtrArray
  ui/console-vc: fire ADDED/REMOVED notifications
  ui/console: fire console ADDED/REMOVED notifications
  ui/console: add console event notifier infrastructure
  ui/gtk: implement display cleanup
  ui/dbus: implement display cleanup
  ui/cocoa: implement display cleanup
  ui/egl: implement display and EGL cleanup
  ui/spice-app: implement display cleanup
  ui/sdl2: implement display cleanup
  ui/curses: implement display cleanup
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2026-06-25 16:58:35 -04:00
Stefan Hajnoczi
4f06ed2714 tests/docker: bump emsdk-wasm64-cross zlib version to 1.3.2
Container image builds have started failing because zlib.net no longer
hosts the 1.3.1 tarball. Move to the 1.3.2 release from February 17,
2026.

  $ make docker-image-emsdk-wasm64-cross
  changing dir to build for make "docker-image-emsdk-wasm64-cross"...
  make[1]: Entering directory 'qemu/build'
    BUILD   emsdk-wasm64-cross
  ...
  xz: (stdin): File format not recognized
  tar: Child returned status 1
  tar: Error is not recoverable: exiting now
  Error: building at STEP "RUN curl -Ls https://zlib.net/zlib-$ZLIB_VERSION.tar.xz |     tar xJC /zlib --strip-components=1": while running runtime: exit status 2
  make[1]: *** [qemu/tests/docker/Makefile.include:43: docker-image-emsdk-wasm64-cross] Error 2
  make[1]: Leaving directory 'qemu/build'
  make: *** [GNUmakefile:6: build] Error 2

Cc: Kohei Tokunaga <ktokunaga.mail@gmail.com>
Cc: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Message-id: 20260625193320.260312-1-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2026-06-25 16:27:47 -04:00
Stefan Hajnoczi
1b4d5bb3e2 Merge tag 'pbouvier/pr/gitlab_ci-20260623' of https://gitlab.com/p-b-o/qemu into staging
Changes:
- [PATCH] gitlab: disable macOS jobs in forks (=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>)
  Link: https://lore.kernel.org/qemu-devel/20260610091700.2772973-1-berrange@redhat.com

# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCgAdFiEEN8FWlNi6l2Sxlz/btEQ30ZwoYt8FAmo6vkMACgkQtEQ30Zwo
# Yt9/PgwAtOYo/+RM74Yp5+ewifpv6A9+F2kp5WlLKDdOqK34BQwNrw5O3eJFfjvh
# lwerFStOCdvxq25umsyjxi2SIX+9VRJtRtosSxk3SwzGecnVWjhvkpq/oLQUnQ2u
# eeAGqF6OHylFAcM4QoEjAva4IlerdEeY6X6T30Xj6suA7ym9EX9SoBIogOPrC9hL
# NdjG0sZ2Q3JRYq/ZUXQ9l49+BTNq4ue7w4AUT1OjnHcUX+0Sptj91b+lLf3XgUu/
# 0Fxw2cm/FN4eV0ik2hmWREMM2me2gj1pDwyL3cBEvm/DfF/43y/xESUdMiKtdPeT
# R2m42dAocJK7pzv5CYwno1f0hn4Gj3Qoy9CjVwGp0SOCFmA91608dZ2u889CRin1
# Xi7EQysA9x5EOCOg1l89QXFoz58On6K2KS10EbkNWr0ZHsgdSvYkFD/u0bEdzCkz
# +3rdLdlRMBaQyrC/F2IKB2u4RTYaaV9+RYYKrJXR2tQMu4g1i2zc5Jsi+5c79RcG
# on8rDKv7
# =nRsY
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 23 Jun 2026 13:11:31 EDT
# gpg:                using RSA key 37C15694D8BA9764B1973FDBB44437D19C2862DF
# gpg: Good signature from "Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 37C1 5694 D8BA 9764 B197  3FDB B444 37D1 9C28 62DF

* tag 'pbouvier/pr/gitlab_ci-20260623' of https://gitlab.com/p-b-o/qemu:
  gitlab: disable macOS jobs in forks

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2026-06-25 15:34:37 -04:00
Stefan Hajnoczi
9d526ed81d Merge tag 'next-pull-request' of https://gitlab.com/peterx/qemu into staging
Migration and mem pull request

- Maciej's patch to fix rare crash in VFIO multifd thread pool mgmt
- Peter's cleanup of @cpr-exec-command doc in migration.json
- Akihiko's patch to fix a TSAN warning on ram_list operations
- Bibo's migration-test coverage for loongarch
- Peter's update on a-b-boot image
- Marc-André's virtio-mem fix for CoCo

# -----BEGIN PGP SIGNATURE-----
#
# iIgEABYKADAWIQS5GE3CDMRX2s990ak7X8zN86vXBgUCajqAMhIccGV0ZXJ4QHJl
# ZGhhdC5jb20ACgkQO1/MzfOr1wbvoQEAytdLWqLYwQz2ZLI+8jyqQhznHrzOXQYO
# JV0rQxv4AzMBAOSoNHlKc1T87B4IdUuu8DffxhaFbqfxxlZBma3PYewJ
# =hvNA
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 23 Jun 2026 08:46:42 EDT
# gpg:                using EDDSA key B9184DC20CC457DACF7DD1A93B5FCCCDF3ABD706
# gpg:                issuer "peterx@redhat.com"
# gpg: Good signature from "Peter Xu <xzpeter@gmail.com>" [full]
# gpg:                 aka "Peter Xu <peterx@redhat.com>" [full]
# Primary key fingerprint: B918 4DC2 0CC4 57DA CF7D  D1A9 3B5F CCCD F3AB D706

* tag 'next-pull-request' of https://gitlab.com/peterx/qemu:
  system/physmem: make ram_block_discard_range() handle guest_memfd
  tests: add unit tests for RamDiscardManager multi-source aggregation
  system/memory: add RamDiscardManager reference counting and cleanup
  system/physmem: destroy ram block attributes before RCU-deferred reclaim
  system/memory: implement RamDiscardManager multi-source aggregation
  system/ram-discard-manager: drop replay from source interface
  virtio-mem: remove replay_populated/replay_discarded implementation
  system/ram-discard-manager: implement replay via is_populated iteration
  system/memory: constify section arguments
  system/memory: move RamDiscardManager to separate compilation unit
  system/memory: split RamDiscardManager into source and manager
  migration/tests: Update a-b-boot images for all archs
  tests/qtest/migration: Add migration test on loongarch
  migration: Use OBJECT_DECLARE_SIMPLE_TYPE
  system/memory: Remove MAX_PHYS_ADDR
  system/physmem: Synchronize ram_list accesses
  qapi/migration: Remove @cpr-exec-command doc in MigrationParameter
  thread-pool: Allow at least 1 thread in thread_pool_adjust_max_threads_to_work()

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2026-06-25 15:34:25 -04:00
Magnus Kulke
b2c0cc6300 target/i386/mshv: migrate pending ints/excs
We use PENDING_INTERRUPTION, INTERRUPT_STATE, PENDING_EVENT hv registers
to map and roundtrip from/to CPUX86State.

We ignore HV_REGISTER_PENDING_EVENT1 which represent events for nested
virt contexts, as we don't support nested virt with MSHV currently.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-30-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:55:41 +02:00
Magnus Kulke
529a88b5bd target/i386/mshv: move msr code to arch
The MSR code is x86 specific, hence it's better suited in the arch
tree.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-18-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:55:30 +02:00
Magnus Kulke
f629431c09 accel/mshv: enable dirty page tracking
This change introduces the functions required to perform dirty page
tracking to speed up migrations. We are using the sync, global_start,
and global_stop hooks.

The sync is implemented in batches.

Before we can disable the dirty page tracking we have to set all dirty bits.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-35-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:55:28 +02:00
Magnus Kulke
a70da3a0e0 target/i386/mshv: expose mshv_get_generic_regs
We expose the fn, so we can call them from the other source files
(msr.c).

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-20-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:54:49 +02:00
Magnus Kulke
e624d93f33 accel/mshv: store partition proc features
We retrieve and store processor features on the state, so we can query
them later when deciding which MSRs to migrate.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-19-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:54:49 +02:00
Magnus Kulke
f2230f044d accel/mshv: remove redundant msi controller
The remaining MsiControl infrastructure can be removed now

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-14-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:09:20 +02:00
Magnus Kulke
c77944aa82 accel/mshv: reserve ioapic routes on s->irq_routes
We reserve 24 ioapic routes using the new functions that operate on the
mshv apic state.

commit/add_msi_routing() fn's can be removed now.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-13-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:09:20 +02:00
Magnus Kulke
f48f2011fd accel/mshv: use s->irq_routes in commit_routes
In mshv_irqchip_commit_routes() the entries that have been accumulated
in s->irq_routes are committed directly to MSHV's irqchip.

The old commit_msi_routing_table() fn will be removed in a subsquent commit.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-12-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:09:20 +02:00
Magnus Kulke
fff9929879 accel/mshv: update s->irq_routes in release_virq
The state's irq_routes field will be updated when an irqchip's gsi
is requested to be released.

The old remove_msi_routing() fn is redundant and can be removed.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-11-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:09:20 +02:00
Magnus Kulke
553d4a0174 accel/mshv: update s->irq_routes in update_msi_route
The state's irq_routes field will be updated when an irqchip's gsi
is requested to be updated with a new dest/vector.

The old set_msi_routing() fn is redundant and can be removed.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260417105618.3621-10-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2026-06-25 19:09:20 +02:00