All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] Add ARM64 support for MSHV accelerator
@ 2026-03-11 15:15 Anirudh Rayabharam (Microsoft)
  2026-03-11 15:15 ` [PATCH 01/14] accel/mshv: provision guests with the same features as host Anirudh Rayabharam (Microsoft)
                   ` (15 more replies)
  0 siblings, 16 replies; 38+ messages in thread
From: Anirudh Rayabharam (Microsoft) @ 2026-03-11 15:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Magnus Kulke, Wei Liu, Paolo Bonzini, Marc-André Lureau,
	Daniel P. Berrangé, Philippe Mathieu-Daudé,
	Peter Maydell, Anirudh Rayabharam, Aastha Rawat, qemu-arm

This series adds ARM64 guest support to the MSHV (Microsoft Hypervisor)
accelerator, enabling QEMU to run aarch64 VMs on Microsoft's hypervisor
using the mshv Linux kernel module.

The first few patches refactor the existing x86 MSHV code to separate
arch-specific pieces from common infrastructure: moving MSR handling to
target/i386, extracting shared register hypercall helpers, provisioning
host CPU features, and introducing arch-specific init hooks.

The remaining patches add the ARM64 backend:
 - vCPU state get/set using hypervisor register hypercalls
 - -cpu host support by querying ID registers from the hypervisor
 - vCPU run loop with MMIO emulation via ESR_EL2 syndrome decoding
 - In-kernel vGICv3 backed by HVCALL_ASSERT_VIRTUAL_INTERRUPT
 - Interrupt control structure adjustments for arm64

With this series, a standard aarch64 virt machine can be launched with:
  qemu-system-aarch64 -accel mshv -cpu host -M virt ...

Caveats:
- Currently only direct kernel is supported. We're still debugging edk2
  firmware boot. 
- Live migration is not yet supported.

---
Aastha Rawat (7):
      accel/mshv: move msr.c to target/i386
      accel/mshv: extract common CPU register helpers
      meson, target/arm/mshv: Enable arm64 build & add initial MSHV support
      target/arm/mshv: implement vcpu state operations for ARM64
      target/arm/mshv: implement -cpu host for MSHV
      accel/mshv: Add access_vp_regs synthetic proc features
      target/arm: cpu: Mark MSHV supporting PSCI 1.3

Anirudh Rayabharam (Microsoft) (6):
      accel/mshv: provision guests with the same features as host
      accel/mshv: add arch-specific accelerator init hook
      target/arm/mshv: add vCPU run loop
      include/hw/hyperv: adjust hv_interrupt_control structure for arm64
      hw/intc,target/arm/mshv: add MSHV vGICv3 implementation
      MAINTAINERS: updates for MSHV arm64 code

Magnus Kulke (1):
      accel/mshv: implement cpu_thread_is_idle() hook

 MAINTAINERS                        |   8 +
 accel/mshv/irq.c                   |   2 +
 accel/mshv/meson.build             |   4 +-
 accel/mshv/mshv-all.c              |  73 +++-
 accel/mshv/mshv-cpu-common.c       | 151 +++++++++
 hw/arm/virt.c                      |  11 +-
 hw/intc/arm_gicv3_common.c         |   3 +
 hw/intc/arm_gicv3_mshv.c           | 180 ++++++++++
 hw/intc/meson.build                |   1 +
 include/hw/hyperv/hvgdk_mini.h     | 130 ++++++++
 include/hw/hyperv/hvhdk.h          |  97 +++++-
 include/hw/hyperv/hvhdk_mini.h     |   6 +
 include/hw/intc/arm_gicv3_common.h |   1 +
 include/system/hw_accel.h          |   3 +-
 include/system/mshv.h              |   2 +
 include/system/mshv_int.h          |   5 +
 meson.build                        |   7 +-
 target/arm/cpu.c                   |   7 +-
 target/arm/cpu64.c                 |  24 +-
 target/arm/meson.build             |   1 +
 target/arm/mshv/meson.build        |   7 +
 target/arm/mshv/mshv-all.c         | 665 +++++++++++++++++++++++++++++++++++++
 target/arm/mshv_arm.h              |  18 +
 target/i386/mshv/meson.build       |   2 +
 target/i386/mshv/mshv-all.c        |  85 +++++
 target/i386/mshv/mshv-cpu.c        | 170 +---------
 {accel => target/i386}/mshv/msr.c  |   0
 27 files changed, 1465 insertions(+), 198 deletions(-)
---
base-commit: 1fd5ff9d76d23ab23a68419cbc76d5ee33e8b455
change-id: 20260311-mshv_accel_arm64_supp-e86b0082aee4

Best regards,
-- 
Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>



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

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

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-11 15:15 [PATCH 00/14] Add ARM64 support for MSHV accelerator Anirudh Rayabharam (Microsoft)
2026-03-11 15:15 ` [PATCH 01/14] accel/mshv: provision guests with the same features as host Anirudh Rayabharam (Microsoft)
2026-03-11 15:50   ` Anirudh Rayabharam
2026-03-11 15:15 ` [PATCH 02/14] accel/mshv: move msr.c to target/i386 Anirudh Rayabharam
2026-03-11 15:47   ` Mohamed Mediouni
2026-03-11 17:06   ` Wei Liu
2026-03-11 15:15 ` [PATCH 03/14] accel/mshv: extract common CPU register helpers Anirudh Rayabharam
2026-03-11 15:15 ` [PATCH 04/14] meson, target/arm/mshv: Enable arm64 build & add initial MSHV support Anirudh Rayabharam
2026-03-11 15:15 ` [PATCH 05/14] target/arm/mshv: implement vcpu state operations for ARM64 Anirudh Rayabharam
2026-03-11 15:15 ` [PATCH 06/14] target/arm/mshv: implement -cpu host for MSHV Anirudh Rayabharam
2026-03-11 15:15 ` [PATCH 07/14] accel/mshv: add arch-specific accelerator init hook Anirudh Rayabharam (Microsoft)
2026-03-11 15:15 ` [PATCH 08/14] accel/mshv: Add access_vp_regs synthetic proc features Anirudh Rayabharam
2026-03-11 15:35   ` Mohamed Mediouni
2026-03-11 20:51   ` Wei Liu
2026-03-20  6:46     ` Aastha Rawat
2026-03-11 15:15 ` [PATCH 09/14] target/arm: cpu: Mark MSHV supporting PSCI 1.3 Anirudh Rayabharam
2026-03-11 15:48   ` Mohamed Mediouni
2026-03-11 15:15 ` [PATCH 10/14] accel/mshv: implement cpu_thread_is_idle() hook Anirudh Rayabharam
2026-03-11 15:47   ` Mohamed Mediouni
2026-03-11 15:15 ` [PATCH 11/14] target/arm/mshv: add vCPU run loop Anirudh Rayabharam (Microsoft)
2026-03-11 15:58   ` Mohamed Mediouni
2026-03-17  7:28     ` Anirudh Rayabharam
2026-03-11 15:15 ` [PATCH 12/14] include/hw/hyperv: adjust hv_interrupt_control structure for arm64 Anirudh Rayabharam (Microsoft)
2026-03-11 15:15 ` [PATCH 13/14] hw/intc,target/arm/mshv: add MSHV vGICv3 implementation Anirudh Rayabharam (Microsoft)
2026-03-11 15:15 ` [PATCH 14/14] MAINTAINERS: updates for MSHV arm64 code Anirudh Rayabharam (Microsoft)
2026-03-11 16:54 ` [PATCH 00/14] Add ARM64 support for MSHV accelerator Alex Bennée
2026-03-11 17:02   ` Mohamed Mediouni
2026-03-11 17:12     ` Wei Liu
2026-03-12  5:20       ` Mohamed Mediouni
2026-03-12 20:22         ` Wei Liu
2026-03-12 10:23   ` Anirudh Rayabharam
2026-03-12 10:32     ` [PATCH 08/14] accel/mshv: Add access_vp_regs synthetic proc features Anirudh Rayabharam
2026-03-12 10:28     ` [PATCH 00/14] Add ARM64 support for MSHV accelerator Anirudh Rayabharam
2026-03-12 10:45     ` [PATCH 08/14] accel/mshv: Add access_vp_regs synthetic proc features Mohamed Mediouni
2026-03-13  9:01       ` Anirudh Rayabharam
2026-03-13 11:29         ` Mohamed Mediouni
2026-03-17  3:17           ` Anirudh Rayabharam
2026-03-11 22:29 ` [PATCH 00/14] Add ARM64 support for MSHV accelerator Pierrick Bouvier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.