This series is based on linux-next, tag: next-20230427. Changes in v2: - Refactor: move to drivers/virt/geniezone - Refactor: decouple arch-dependent and arch-independent - Check pending signal before entering guest context - Fix reviewer's comments Yi-De Wu (7): docs: geniezone: Introduce GenieZone hypervisor dt-bindings: hypervisor: Add MediaTek GenieZone hypervisor virt: geniezone: Introduce GenieZone hypervisor support virt: geniezone: Add vcpu support virt: geniezone: Add irqchip support for virtual interrupt injection virt: geniezone: Add irqfd support virt: geniezone: Add ioeventfd support .../hypervisor/mediatek,geniezone-hyp.yaml | 31 + Documentation/virt/geniezone/introduction.rst | 34 ++ MAINTAINERS | 13 + arch/arm64/Kbuild | 1 + arch/arm64/geniezone/Makefile | 9 + arch/arm64/geniezone/gzvm_arch.c | 280 +++++++++ arch/arm64/geniezone/gzvm_arch.h | 92 +++ arch/arm64/geniezone/gzvm_irqchip.c | 108 ++++ arch/arm64/include/uapi/asm/gzvm_arch.h | 47 ++ drivers/virt/Kconfig | 2 + drivers/virt/geniezone/Kconfig | 17 + drivers/virt/geniezone/Makefile | 12 + drivers/virt/geniezone/gzvm_ioeventfd.c | 263 +++++++++ drivers/virt/geniezone/gzvm_irqfd.c | 536 ++++++++++++++++++ drivers/virt/geniezone/gzvm_main.c | 151 +++++ drivers/virt/geniezone/gzvm_vcpu.c | 260 +++++++++ drivers/virt/geniezone/gzvm_vm.c | 447 +++++++++++++++ include/linux/gzvm_drv.h | 154 +++++ include/uapi/asm-generic/gzvm_arch.h | 10 + include/uapi/linux/gzvm.h | 274 +++++++++ 20 files changed, 2741 insertions(+) create mode 100644 Documentation/devicetree/bindings/hypervisor/mediatek, geniezone-hyp.yaml create mode 100644 Documentation/virt/geniezone/introduction.rst create mode 100644 arch/arm64/geniezone/Makefile create mode 100644 arch/arm64/geniezone/gzvm_arch.c create mode 100644 arch/arm64/geniezone/gzvm_arch.h create mode 100644 arch/arm64/geniezone/gzvm_irqchip.c create mode 100644 arch/arm64/include/uapi/asm/gzvm_arch.h create mode 100644 drivers/virt/geniezone/Kconfig create mode 100644 drivers/virt/geniezone/Makefile create mode 100644 drivers/virt/geniezone/gzvm_ioeventfd.c create mode 100644 drivers/virt/geniezone/gzvm_irqfd.c create mode 100644 drivers/virt/geniezone/gzvm_main.c create mode 100644 drivers/virt/geniezone/gzvm_vcpu.c create mode 100644 drivers/virt/geniezone/gzvm_vm.c create mode 100644 include/linux/gzvm_drv.h create mode 100644 include/uapi/asm-generic/gzvm_arch.h create mode 100644 include/uapi/linux/gzvm.h -- 2.18.0