KVM: MIPS: Add EVENTFD support which is needed by VHOST
authorHuacai Chen <chenhc@lemote.com>
Sat, 23 May 2020 07:56:31 +0000 (15:56 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 4 Jun 2020 17:48:51 +0000 (13:48 -0400)
Add EVENTFD support for KVM/MIPS, which is needed by VHOST. Tested on
Loongson-3 platform.

Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Co-developed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Message-Id: <1590220602-3547-5-git-send-email-chenhc@lemote.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/mips/kvm/Kconfig
arch/mips/kvm/Makefile
arch/mips/kvm/trap_emul.c
arch/mips/kvm/vz.c

index b91d145aa2d57eaeb074bdc9d1ed0a8f5564caaf..d697752a572332acb1e0254ed0b034f66130cf74 100644 (file)
@@ -22,6 +22,7 @@ config KVM
        select EXPORT_UASM
        select PREEMPT_NOTIFIERS
        select KVM_GENERIC_DIRTYLOG_READ_PROTECT
+       select HAVE_KVM_EVENTFD
        select HAVE_KVM_VCPU_ASYNC_IOCTL
        select KVM_MMIO
        select MMU_NOTIFIER
index 01affc1d21c53cca2201eae8a19de82249598c95..0a3cef6153fd1529124e15b044de25c2fb0bb6a9 100644 (file)
@@ -2,7 +2,7 @@
 # Makefile for KVM support for MIPS
 #
 
-common-objs-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o)
+common-objs-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o eventfd.o)
 
 EXTRA_CFLAGS += -Ivirt/kvm -Iarch/mips/kvm
 
index 5a11e83dffe6754d5cd14bb2391f09df78c33e58..f464506b1fea7d89a036a8eb3a1473c82689ce01 100644 (file)
@@ -529,6 +529,9 @@ static int kvm_trap_emul_check_extension(struct kvm *kvm, long ext)
        case KVM_CAP_MIPS_TE:
                r = 1;
                break;
+       case KVM_CAP_IOEVENTFD:
+               r = 1;
+               break;
        default:
                r = 0;
                break;
index 51f51009a53f58cedb4fced22ac84e3164804fa0..cc7fdbb9c1082cf6b8dec8894644de04574b84b6 100644 (file)
@@ -2927,6 +2927,9 @@ static int kvm_vz_check_extension(struct kvm *kvm, long ext)
                r = 2;
                break;
 #endif
+       case KVM_CAP_IOEVENTFD:
+               r = 1;
+               break;
        default:
                r = 0;
                break;