On Thu, Jul 27, 2023 at 03:59:57PM +0800, Yi-De Wu wrote: > From: "Yingshiuan Pan" <yingshiuan.pan@xxxxxxxxxxxx> > > VMM use this interface to create vcpu instance which is a fd, and this > fd will be for any vcpu operations, such as setting vcpu registers and > accepts the most important ioctl GZVM_VCPU_RUN which requests GenieZone > hypervisor to do context switch to execute VM's vcpu context. > > Signed-off-by: Yingshiuan Pan <yingshiuan.pan@xxxxxxxxxxxx> > Signed-off-by: Jerry Wang <ze-yu.wang@xxxxxxxxxxxx> > Signed-off-by: Liju Chen <liju-clr.chen@xxxxxxxxxxxx> > Signed-off-by: Yi-De Wu <yi-de.wu@xxxxxxxxxxxx> > --- > arch/arm64/geniezone/Makefile | 2 +- > arch/arm64/geniezone/gzvm_arch_common.h | 20 ++ > arch/arm64/geniezone/vcpu.c | 88 +++++++++ > arch/arm64/geniezone/vm.c | 11 ++ > arch/arm64/include/uapi/asm/gzvm_arch.h | 30 +++ I'm almost certain that the arm64 maintainers will reject putting this here. What is the purpose of the split with drivers/virt/? Do you plan to support another arch in the near future? Yes, there's KVM stuff in arch/arm64, but that is multi-arch. > drivers/virt/geniezone/Makefile | 3 +- > drivers/virt/geniezone/gzvm_vcpu.c | 250 ++++++++++++++++++++++++ > drivers/virt/geniezone/gzvm_vm.c | 5 + > include/linux/gzvm_drv.h | 21 ++ > include/uapi/linux/gzvm.h | 136 +++++++++++++ > 10 files changed, 564 insertions(+), 2 deletions(-) > create mode 100644 arch/arm64/geniezone/vcpu.c > create mode 100644 drivers/virt/geniezone/gzvm_vcpu.c