qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] kvm: drop support for really old kernels
@ 2023-10-18 16:37 Paolo Bonzini
  2023-10-18 16:37 ` [PATCH 01/17] kvm: remove unnecessary stub Paolo Bonzini
                   ` (16 more replies)
  0 siblings, 17 replies; 22+ messages in thread
From: Paolo Bonzini @ 2023-10-18 16:37 UTC (permalink / raw)
  To: qemu-devel

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



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2023-10-20 12:34 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-18 16:37 [PATCH 00/17] kvm: drop support for really old kernels Paolo Bonzini
2023-10-18 16:37 ` [PATCH 01/17] kvm: remove unnecessary stub Paolo Bonzini
2023-10-20 12:19   ` Manos Pitsidianakis
2023-10-18 16:37 ` [PATCH 02/17] kvm: require KVM_CAP_INTERNAL_ERROR_DATA Paolo Bonzini
2023-10-20 12:23   ` Manos Pitsidianakis
2023-10-18 16:37 ` [PATCH 03/17] kvm: require KVM_CAP_SIGNAL_MSI Paolo Bonzini
2023-10-18 16:37 ` [PATCH 04/17] kvm: require KVM_CAP_IRQFD for kernel irqchip Paolo Bonzini
2023-10-20 12:24   ` Manos Pitsidianakis
2023-10-18 16:37 ` [PATCH 05/17] kvm: drop reference to KVM_CAP_PCI_2_3 Paolo Bonzini
2023-10-18 16:37 ` [PATCH 06/17] kvm: assume that many ioeventfds can be created Paolo Bonzini
2023-10-18 16:37 ` [PATCH 07/17] kvm: require KVM_CAP_IOEVENTFD and KVM_CAP_IOEVENTFD_ANY_LENGTH Paolo Bonzini
2023-10-18 16:37 ` [PATCH 08/17] kvm: unify listeners for PIO address space Paolo Bonzini
2023-10-20 12:31   ` Manos Pitsidianakis
2023-10-18 16:37 ` [PATCH 09/17] kvm: arm: require KVM_CAP_SET_VCPU_EVENTS Paolo Bonzini
2023-10-18 16:37 ` [PATCH 10/17] kvm: i386: move KVM_CAP_IRQ_ROUTING detection to kvm_arch_required_capabilities Paolo Bonzini
2023-10-18 16:37 ` [PATCH 11/17] kvm: i386: require KVM_CAP_DEBUGREGS Paolo Bonzini
2023-10-18 16:37 ` [PATCH 12/17] kvm: i386: require KVM_CAP_XSAVE Paolo Bonzini
2023-10-18 16:37 ` [PATCH 13/17] kvm: i386: require KVM_CAP_SET_VCPU_EVENTS and KVM_CAP_X86_ROBUST_SINGLESTEP Paolo Bonzini
2023-10-18 16:37 ` [PATCH 14/17] kvm: i386: require KVM_CAP_MCE Paolo Bonzini
2023-10-18 16:37 ` [PATCH 15/17] kvm: i386: require KVM_CAP_ADJUST_CLOCK Paolo Bonzini
2023-10-18 16:37 ` [PATCH 16/17] kvm: i386: require KVM_CAP_SET_IDENTITY_MAP_ADDR Paolo Bonzini
2023-10-18 16:37 ` [PATCH 17/17] kvm: i8254: require KVM_CAP_PIT2 and KVM_CAP_PIT_STATE2 Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).