[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC/PATCH v1 00/11] Gunyah hypervisor support
From: |
Srivatsa Vaddagiri |
Subject: |
[RFC/PATCH v1 00/11] Gunyah hypervisor support |
Date: |
Tue, 9 Jan 2024 09:00:28 +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.
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
- [RFC/PATCH v1 00/11] Gunyah hypervisor support,
Srivatsa Vaddagiri <=
- [RFC/PATCH v1 01/11] gunyah: UAPI header (NOT FOR MERGE), Srivatsa Vaddagiri, 2024/01/09
- [RFC/PATCH v1 02/11] gunyah: Basic support, Srivatsa Vaddagiri, 2024/01/09
- [RFC/PATCH v1 03/11] gunyah: Add VM properties, Srivatsa Vaddagiri, 2024/01/09
- [RFC/PATCH v1 04/11] gunyah: Support memory assignment, Srivatsa Vaddagiri, 2024/01/09
- [RFC/PATCH v1 06/11] gunyah: Add gicv3 interrupt controller, Srivatsa Vaddagiri, 2024/01/09
- [RFC/PATCH v1 05/11] gunyah: Add IRQFD and IOEVENTFD functions, Srivatsa Vaddagiri, 2024/01/09
- [RFC/PATCH v1 07/11] gunyah: Specify device-tree location, Srivatsa Vaddagiri, 2024/01/09