On 1/3/24 07:18, Andrew Jones wrote: > 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. > Yes, I agree. >> >> >> 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. The "select HAVE_KVM_EVENTFD" is gone in linux-next. -- #Randy