[PATCH v2 0/5] Replace CONFIG_HAVE_KVM with more appropriate symbols.

From: Paolo Bonzini
Date: Mon Jan 08 2024 - 07:52:15 EST


CONFIG_HAVE_KVM is currently used with three meanings:

- some architectures use it to enabled the KVM config proper, depending
on CPU capabilities (MIPS)

- some architectures use it to enable host-side code that is not part of
the KVM module (x86)

- to enable common Kconfigs required by all architectures that support
KVM, currently CONFIG_EVENTFD

These three meanings can be replaced respectively by an architecture-
specific Kconfig, by IS_ENABLED(CONFIG_KVM), or by a new Kconfig symbol
that is in turn selected by the architecture-specific "config KVM".
This is what each of the first three patches does. After this,
CONFIG_HAVE_KVM is unused and can be removed.

This fixes architectures (PPC and RISC-V) that do not have CONFIG_HAVE_KVM=y
and therefore fail to select CONFIG_EVENTFD. Patch 1, and probably patch 2
too, will be quickly applied to 6.8 to fix this build failure. The rest
can be delayed to the early -rc period, or 6.9 if desired.

Paolo

Paolo Bonzini (5):
KVM: introduce CONFIG_KVM_COMMON
KVM: fix direction of dependency on MMU notifiers
MIPS: introduce Kconfig for MIPS VZ
x86, vfio, gdb: replace CONFIG_HAVE_KVM with IS_ENABLED(CONFIG_KVM)
treewide: remove CONFIG_HAVE_KVM

arch/arm64/Kconfig | 1 -
arch/arm64/kvm/Kconfig | 4 +---
arch/loongarch/Kconfig | 1 -
arch/loongarch/kvm/Kconfig | 3 +--
arch/mips/Kconfig | 18 +++++++++---------
arch/mips/kvm/Kconfig | 5 ++---
arch/powerpc/kvm/Kconfig | 3 +--
arch/riscv/kvm/Kconfig | 2 +-
arch/s390/Kconfig | 1 -
arch/s390/kvm/Kconfig | 4 +---
arch/x86/Kconfig | 1 -
arch/x86/include/asm/hardirq.h | 2 +-
arch/x86/include/asm/idtentry.h | 2 +-
arch/x86/include/asm/irq.h | 2 +-
arch/x86/include/asm/irq_vectors.h | 2 +-
arch/x86/kernel/idt.c | 2 +-
arch/x86/kernel/irq.c | 4 ++--
arch/x86/kvm/Kconfig | 5 +----
drivers/vfio/vfio.h | 2 +-
drivers/vfio/vfio_main.c | 4 ++--
scripts/gdb/linux/constants.py.in | 6 +++++-
scripts/gdb/linux/interrupts.py | 2 +-
tools/arch/x86/include/asm/irq_vectors.h | 2 +-
virt/kvm/Kconfig | 6 ++++--
24 files changed, 38 insertions(+), 46 deletions(-)

--
2.39.1