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? 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); | ^ -- #Randy