[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC/PATCH v0 00/12] Gunyah hypervisor support
From: |
Srivatsa Vaddagiri |
Subject: |
[RFC/PATCH v0 00/12] Gunyah hypervisor support |
Date: |
Wed, 11 Oct 2023 16:52:22 +0000 |
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.
Limitations:
1) SMP is not yet supported. This restriction will be removed in the next
version
of this patch series.
2) virtio-pci is not yet supported. hw/virtio/virtio-pci.c seems to support only
KVM and would need changes to support other hypervisors. If there is any ongoing
work in this regard, would like to build upon it and add support for Gunyah
hypervisor.
Ref:
1.
https://lore.kernel.org/lkml/20230613172054.3959700-1-quic_eberman@quicinc.com/
Base commit on which this series was tested:
d77b7b28a8 target/arm: Fix 64-bit SSRA
Srivatsa Vaddagiri (12):
hw/arm/virt: Avoid NULL pointer de-reference
update-linux-headers: Include gunyah.h
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 | 10 +
accel/Kconfig | 3 +
accel/gunyah/gunyah-accel-ops.c | 168 +++++++++
accel/gunyah/gunyah-all.c | 629 ++++++++++++++++++++++++++++++++
accel/gunyah/meson.build | 7 +
accel/meson.build | 1 +
accel/stubs/gunyah-stub.c | 13 +
accel/stubs/meson.build | 1 +
docs/about/build-platforms.rst | 2 +-
docs/system/arm/gunyah.rst | 214 +++++++++++
hw/arm/boot.c | 3 +-
hw/arm/virt.c | 27 +-
hw/intc/arm_gicv3_common.c | 3 +
hw/intc/arm_gicv3_gunyah.c | 106 ++++++
hw/intc/arm_gicv3_its_common.c | 4 +
hw/intc/meson.build | 1 +
include/hw/core/cpu.h | 6 +
include/sysemu/gunyah.h | 58 +++
include/sysemu/gunyah_int.h | 61 ++++
meson.build | 9 +
meson_options.txt | 2 +
scripts/meson-buildoptions.sh | 3 +
scripts/update-linux-headers.sh | 3 +-
target/arm/cpu64.c | 5 +-
target/arm/gunyah.c | 144 ++++++++
target/arm/meson.build | 4 +
26 files changed, 1480 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 target/arm/gunyah.c
--
2.25.1
- [RFC/PATCH v0 00/12] Gunyah hypervisor support,
Srivatsa Vaddagiri <=