[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240104205959.4128825-1-pbonzini@redhat.com>
Date: Thu, 4 Jan 2024 15:59:55 -0500
From: Paolo Bonzini <pbonzini@...hat.com>
To: linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Cc: ajones@...tanamicro.com,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Alex Williamson <alex.williamson@...hat.com>,
x86@...nel.org,
kbingham@...nel.org
Subject: [PATCH 0/4] Replace CONFIG_HAVE_KVM with more appropriate symbols.
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
Powered by blists - more mailing lists