On Tue, Jan 02, 2024 at 10:07:21AM -0800, Randy Dunlap wrote: > > > On 1/1/24 21:57, Stephen Rothwell wrote: > > Hi all, > > > > Changes since 20231222: > > > > It is possible for a riscv randconfig to create a .config file with > CONFIG_KVM enabled but CONFIG_HAVE_KVM is not set. > Is that expected? > > CONFIG_HAVE_KVM_IRQCHIP=y > CONFIG_HAVE_KVM_IRQ_ROUTING=y > CONFIG_KVM_MMIO=y > CONFIG_HAVE_KVM_MSI=y > CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y > CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL=y > CONFIG_KVM_XFER_TO_GUEST_WORK=y > CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y > CONFIG_KVM_GENERIC_MMU_NOTIFIER=y > CONFIG_VIRTUALIZATION=y > CONFIG_KVM=m > > Should arch/riscv/kvm/Kconfig: "config KVM" select HAVE_KVM > along with the other selects there or should that "config KVM" > depend on HAVE_KVM? We probably should add a patch which makes RISCV select HAVE_KVM and KVM depend on HAVE_KVM in order for riscv kvm to be consistent with the other KVM supporting architectures. > > > The problem .config file causes build errors because EVENTFD > is not set: > > ../arch/riscv/kvm/../../../virt/kvm/eventfd.c: In function 'kvm_irqfd_assign': > ../arch/riscv/kvm/../../../virt/kvm/eventfd.c:335:19: error: implicit declaration of function 'eventfd_ctx_fileget'; did you mean 'eventfd_ctx_fdget'? [-Werror=implicit-function-declaration] > 335 | eventfd = eventfd_ctx_fileget(f.file); > | ^~~~~~~~~~~~~~~~~~~ > | eventfd_ctx_fdget > ../arch/riscv/kvm/../../../virt/kvm/eventfd.c:335:17: warning: assignment to 'struct eventfd_ctx *' from 'int' makes pointer from integer without a cast [-Wint-conversion] > 335 | eventfd = eventfd_ctx_fileget(f.file); > | ^ > Hmm. riscv kvm selects HAVE_KVM_EVENTFD, which selects EVENTFD. I'm not sure how the lack of HAVE_KVM is leading to this. Thanks, drew