[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230413090735.4182-1-yi-de.wu@mediatek.com>
Date: Thu, 13 Apr 2023 17:07:29 +0800
From: Yi-De Wu <yi-de.wu@...iatek.com>
To: Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Jonathan Corbet <corbet@....net>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Yingshiuan Pan <yingshiuan.pan@...iatek.com>
CC: <devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-doc@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-mediatek@...ts.infradead.org>,
Jades Shih <jades.shih@...iatek.com>,
Miles Chen <miles.chen@...iatek.com>,
Ivan Tseng <ivan.tseng@...iatek.com>,
My Chuang <my.chuang@...iatek.com>,
Shawn Hsiao <shawn.hsiao@...iatek.com>,
PeiLun Suei <peilun.suei@...iatek.com>,
Ze-Yu Wang <ze-yu.wang@...iatek.com>,
Liju Chen <liju-clr.chen@...iatek.com>,
Yi-De Wu <yi-de.wu@...iatek.com>
Subject: [PATCH v1 0/6] GenieZone hypervisor drivers
This series is based on linux-next, tag: next-20230412.
GenieZone is MediaTek proprietary hypervisor solution, and it is running
in EL2 stand alone as a type-I hypervisor. It is a pure EL2
implementation which implies it does not rely any specific host VM, and
this behavior improves GenieZone's security as it limits its interface.
To enable guest VMs running, a driver (gzvm) is provided for VMM (virtual
machine monitor) to operate. Currently, the gzvm driver supports only
crosvm.
This series supports ioctl interfaces for userspace VMM(eg., crosvm) to
operate guest VMs lifecycle, irqchip for virtual interrupt handling,
asynchronous notifcation mechanism for VMM.
Yi-De Wu (6):
docs: geniezone: Introduce GenieZone hypervisor
dt-bindings: hypervisor: Add binding for MediaTek GenieZone hypervisor
soc: mediatek: virt: geniezone: Introduce GenieZone hypervisor support
soc: mediatek: virt: geniezone: Introduce irqchip for virtual
interrupt injection
soc: mediatek: virt: geniezone: Add ioeventfd support
soc: mediatek: virt: geniezone: Add irqfd support
.../bindings/hypervisor/mediatek,gzvm.yaml | 30 +
Documentation/virt/geniezone/introduction.rst | 34 +
arch/arm64/include/uapi/asm/gzvm_arch.h | 79 ++
drivers/soc/mediatek/Kconfig | 2 +
drivers/soc/mediatek/Makefile | 1 +
drivers/soc/mediatek/virt/geniezone/Kconfig | 17 +
drivers/soc/mediatek/virt/geniezone/Makefile | 5 +
drivers/soc/mediatek/virt/geniezone/gzvm.h | 126 +++
.../mediatek/virt/geniezone/gzvm_eventfd.c | 749 ++++++++++++++++++
.../soc/mediatek/virt/geniezone/gzvm_hyp.h | 72 ++
.../mediatek/virt/geniezone/gzvm_irqchip.c | 107 +++
.../soc/mediatek/virt/geniezone/gzvm_main.c | 233 ++++++
.../soc/mediatek/virt/geniezone/gzvm_vcpu.c | 296 +++++++
drivers/soc/mediatek/virt/geniezone/gzvm_vm.c | 551 +++++++++++++
include/uapi/linux/gzvm_common.h | 291 +++++++
15 files changed, 2593 insertions(+)
create mode 100644 Documentation/devicetree/bindings/hypervisor/mediatek,gzvm.yaml
create mode 100644 Documentation/virt/geniezone/introduction.rst
create mode 100644 arch/arm64/include/uapi/asm/gzvm_arch.h
create mode 100644 drivers/soc/mediatek/virt/geniezone/Kconfig
create mode 100644 drivers/soc/mediatek/virt/geniezone/Makefile
create mode 100644 drivers/soc/mediatek/virt/geniezone/gzvm.h
create mode 100644 drivers/soc/mediatek/virt/geniezone/gzvm_eventfd.c
create mode 100644 drivers/soc/mediatek/virt/geniezone/gzvm_hyp.h
create mode 100644 drivers/soc/mediatek/virt/geniezone/gzvm_irqchip.c
create mode 100644 drivers/soc/mediatek/virt/geniezone/gzvm_main.c
create mode 100644 drivers/soc/mediatek/virt/geniezone/gzvm_vcpu.c
create mode 100644 drivers/soc/mediatek/virt/geniezone/gzvm_vm.c
create mode 100644 include/uapi/linux/gzvm_common.h
--
2.18.0
Powered by blists - more mailing lists