[RFC/PATCH v1 00/11] Gunyah hypervisor support

Srivatsa Vaddagiri posted 11 patches 3 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240109090039.1636383-1-quic._5Fsvaddagi@quicinc.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Srivatsa Vaddagiri <quic_svaddagi@quicinc.com>, Peter Maydell <peter.maydell@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Yanan Wang <wangyanan55@huawei.com>, "Michael S. Tsirkin" <mst@redhat.com>, Cornelia Huck <cohuck@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>
MAINTAINERS                     |  11 +
accel/Kconfig                   |   3 +
accel/gunyah/gunyah-accel-ops.c | 180 +++++++++
accel/gunyah/gunyah-all.c       | 634 ++++++++++++++++++++++++++++++++
accel/gunyah/meson.build        |   7 +
accel/meson.build               |   1 +
accel/stubs/gunyah-stub.c       |  23 ++
accel/stubs/meson.build         |   1 +
docs/about/build-platforms.rst  |   2 +-
docs/system/arm/gunyah.rst      | 358 ++++++++++++++++++
hw/arm/boot.c                   |   3 +-
hw/arm/virt.c                   |  28 +-
hw/intc/arm_gicv3_common.c      |   3 +
hw/intc/arm_gicv3_gunyah.c      | 106 ++++++
hw/intc/arm_gicv3_its_common.c  |   3 +
hw/intc/meson.build             |   1 +
include/hw/core/cpu.h           |   1 +
include/sysemu/gunyah.h         |  34 ++
include/sysemu/gunyah_int.h     |  67 ++++
linux-headers/linux/gunyah.h    | 311 ++++++++++++++++
meson.build                     |  12 +-
meson_options.txt               |   2 +
scripts/meson-buildoptions.sh   |   3 +
target/arm/cpu.c                |   3 +-
target/arm/cpu64.c              |   5 +-
target/arm/gunyah.c             | 144 ++++++++
target/arm/meson.build          |   3 +
27 files changed, 1942 insertions(+), 7 deletions(-)
create mode 100644 accel/gunyah/gunyah-accel-ops.c
create mode 100644 accel/gunyah/gunyah-all.c
create mode 100644 accel/gunyah/meson.build
create mode 100644 accel/stubs/gunyah-stub.c
create mode 100644 docs/system/arm/gunyah.rst
create mode 100644 hw/intc/arm_gicv3_gunyah.c
create mode 100644 include/sysemu/gunyah.h
create mode 100644 include/sysemu/gunyah_int.h
create mode 100644 linux-headers/linux/gunyah.h
create mode 100644 target/arm/gunyah.c
[RFC/PATCH v1 00/11] Gunyah hypervisor support
Posted by Srivatsa Vaddagiri 3 months, 3 weeks ago
Gunyah is an open-source Type-1 hypervisor, that is currently supported on ARM64
architecture. Source code for it can be obtained from:

https://github.com/quic/gunyah-hypervisor

This patch series adds support for Gunyah hypervisor via a new
accelerator option, 'gunyah'. This patch series is based on the Linux kernel's
Gunyah driver, which is being actively developed and not yet merged upstream
[1].

This patch series is thus *NOT YET READY* for merge. Early version of this patch
is being published to solicit comments from Qemu community.

This patch has been tested with the open-source version of Gunyah hypervisor.
Instructions to build hypervisor and test this patch are provided in this
patch series.

Changes in v1:

* Fixed SMP boot issues
* Addressed comments received for previous version (v0) of the patches series

Limitations:

Confidential guests (or protected VMs) are not yet supported.

Prior version, v0, of this patch can be referenced at:

	https://lists.nongnu.org/archive/html/qemu-devel/2023-10/msg03202.html

Ref:

1. https://lore.kernel.org/lkml/20230613172054.3959700-1-quic_eberman@quicinc.com/

Base commit on which this series was tested:

0c1eccd368 Merge tag 'hw-cpus-20240105' of https://github.com/philmd/qemu into staging


Srivatsa Vaddagiri (11):
  gunyah: UAPI header (NOT FOR MERGE)
  gunyah: Basic support
  gunyah: Add VM properties
  gunyah: Support memory assignment
  gunyah: Add IRQFD and IOEVENTFD functions
  gunyah: Add gicv3 interrupt controller
  gunyah: Specific device-tree location
  gunyah: Customize device-tree
  gunyah: CPU execution loop
  gunyah: Workarounds (NOT FOR MERGE)
  gunyah: Documentation

 MAINTAINERS                     |  11 +
 accel/Kconfig                   |   3 +
 accel/gunyah/gunyah-accel-ops.c | 180 +++++++++
 accel/gunyah/gunyah-all.c       | 634 ++++++++++++++++++++++++++++++++
 accel/gunyah/meson.build        |   7 +
 accel/meson.build               |   1 +
 accel/stubs/gunyah-stub.c       |  23 ++
 accel/stubs/meson.build         |   1 +
 docs/about/build-platforms.rst  |   2 +-
 docs/system/arm/gunyah.rst      | 358 ++++++++++++++++++
 hw/arm/boot.c                   |   3 +-
 hw/arm/virt.c                   |  28 +-
 hw/intc/arm_gicv3_common.c      |   3 +
 hw/intc/arm_gicv3_gunyah.c      | 106 ++++++
 hw/intc/arm_gicv3_its_common.c  |   3 +
 hw/intc/meson.build             |   1 +
 include/hw/core/cpu.h           |   1 +
 include/sysemu/gunyah.h         |  34 ++
 include/sysemu/gunyah_int.h     |  67 ++++
 linux-headers/linux/gunyah.h    | 311 ++++++++++++++++
 meson.build                     |  12 +-
 meson_options.txt               |   2 +
 scripts/meson-buildoptions.sh   |   3 +
 target/arm/cpu.c                |   3 +-
 target/arm/cpu64.c              |   5 +-
 target/arm/gunyah.c             | 144 ++++++++
 target/arm/meson.build          |   3 +
 27 files changed, 1942 insertions(+), 7 deletions(-)
 create mode 100644 accel/gunyah/gunyah-accel-ops.c
 create mode 100644 accel/gunyah/gunyah-all.c
 create mode 100644 accel/gunyah/meson.build
 create mode 100644 accel/stubs/gunyah-stub.c
 create mode 100644 docs/system/arm/gunyah.rst
 create mode 100644 hw/intc/arm_gicv3_gunyah.c
 create mode 100644 include/sysemu/gunyah.h
 create mode 100644 include/sysemu/gunyah_int.h
 create mode 100644 linux-headers/linux/gunyah.h
 create mode 100644 target/arm/gunyah.c

-- 
2.25.1