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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux