qemu-devel
[Top][All Lists]
Advanced

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

[PATCH 00/17] kvm: drop support for really old kernels


From: Paolo Bonzini
Subject: [PATCH 00/17] kvm: drop support for really old kernels
Date: Wed, 18 Oct 2023 18:37:11 +0200

This removes checks for KVM capabilities introduced in very old kernels.
I focused mostly (though not exclusively) on caps that are extremely
old or have a lot of supporting code around them.  The new inferior
limit is Linux 4.4 (or RHEL/CentOS 7) for all architectures except ARM,
for which the limit is Linux 4.19 (or RHEL/CentOS 8).

Note that sometimes older capabilities have evolved and have to
be tested anyway, for example in the case of KVM_CAP_ADJUST_CLOCK
it is possible to remove kvm_has_adjust_clock() but not
kvm_has_adjust_clock_stable().

I intentionally didn't include capabilities that map to guest-visible
features, such as KVM_CAP_TSC_DEADLINE_TIMER, instead focusing more
on very old APIs.

Kernel code technically does not require KVM_CAP_IRQFD to be always
available on architectures that support an in-kernel interrupt controller;
however this is currently true for all supported architectures, and
I plan to submit a kernel patch to ensure this equivalence.

Paolo

Paolo Bonzini (17):
  kvm: remove unnecessary stub
  kvm: require KVM_CAP_INTERNAL_ERROR_DATA
  kvm: require KVM_CAP_SIGNAL_MSI
  kvm: require KVM_CAP_IRQFD for kernel irqchip
  kvm: drop reference to KVM_CAP_PCI_2_3
  kvm: assume that many ioeventfds can be created
  kvm: require KVM_CAP_IOEVENTFD and KVM_CAP_IOEVENTFD_ANY_LENGTH
  kvm: unify listeners for PIO address space
  kvm: arm: require KVM_CAP_SET_VCPU_EVENTS
  kvm: i386: move KVM_CAP_IRQ_ROUTING detection to 
kvm_arch_required_capabilities
  kvm: i386: require KVM_CAP_DEBUGREGS
  kvm: i386: require KVM_CAP_XSAVE
  kvm: i386: require KVM_CAP_SET_VCPU_EVENTS and KVM_CAP_X86_ROBUST_SINGLESTEP
  kvm: i386: require KVM_CAP_MCE
  kvm: i386: require KVM_CAP_ADJUST_CLOCK
  kvm: i386: require KVM_CAP_SET_IDENTITY_MAP_ADDR
  kvm: i8254: require KVM_CAP_PIT2 and KVM_CAP_PIT_STATE2

 accel/kvm/kvm-all.c            | 239 ++++-----------------------------
 accel/stubs/kvm-stub.c         |  14 --
 hw/i386/kvm/clock.c            |   4 -
 hw/i386/kvm/i8254.c            |  38 ++----
 hw/i386/pc.c                   |   6 +-
 hw/intc/arm_gicv3_its_common.c |   3 +-
 hw/intc/arm_gicv3_its_kvm.c    |   2 +-
 hw/misc/pci-testdev.c          |   3 +-
 hw/s390x/virtio-ccw.c          |   4 -
 hw/virtio/vhost-user.c         |   7 +-
 hw/virtio/virtio-mmio.c        |   4 -
 hw/virtio/virtio-pci.c         |  23 +---
 include/sysemu/kvm.h           |  39 +-----
 include/sysemu/kvm_int.h       |   6 -
 system/memory.c                |  16 +--
 target/arm/kvm.c               |  10 +-
 target/i386/kvm/kvm.c          | 225 +++----------------------------
 target/i386/kvm/kvm_i386.h     |   2 -
 target/riscv/kvm/kvm-cpu.c     |   2 +-
 20 files changed, 77 insertions(+), 572 deletions(-)

-- 
2.41.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]