Subject: Re: Re: linux-next: Tree for Jan 2 (riscv & KVM problem)

From: Andrew Jones <[email-masked]>
Date: Thu, 4 Jan 2024 09:44:08 +0100

On Wed, Jan 03, 2024 at 10:06:52PM -0800, Randy Dunlap wrote:
> 
> 
> 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.

Doh, sorry about looking at the wrong tree...

I'll send a patch for riscv kvm now.

Thanks,
drew