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

From: Paolo Bonzini
Date: Thu Jan 04 2024 - 16:00:36 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 can be quickly
applied to 6.8 to fix this build failure, while the rest can be delayed
to the early -rc period or 6.9 if desired.

Paolo


Paolo Bonzini (4):
KVM: introduce CONFIG_KVM_COMMON
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 | 2 +-
arch/loongarch/Kconfig | 1 -
arch/loongarch/kvm/Kconfig | 2 +-
arch/mips/Kconfig | 18 +++++++++---------
arch/mips/kvm/Kconfig | 3 ++-
arch/powerpc/kvm/Kconfig | 1 +
arch/riscv/kvm/Kconfig | 1 +
arch/s390/Kconfig | 1 -
arch/s390/kvm/Kconfig | 2 +-
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 | 3 +--
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 | 2 +-
24 files changed, 35 insertions(+), 33 deletions(-)

--
2.39.1