[PATCH 0/8] KVM: Remove include/kvm, standardize includes

Sean Christopherson posted 8 patches 4 months ago
MAINTAINERS                                                | 1 -
.../arm64/include/asm/kvm_arch_timer.h                     | 2 ++
arch/arm64/include/asm/kvm_host.h                          | 7 +++----
include/kvm/arm_pmu.h => arch/arm64/include/asm/kvm_pmu.h  | 2 ++
.../kvm/arm_vgic.h => arch/arm64/include/asm/kvm_vgic.h    | 2 +-
arch/arm64/kvm/Makefile                                    | 2 --
arch/arm64/kvm/arch_timer.c                                | 5 ++---
arch/arm64/kvm/arm.c                                       | 6 +++---
{include => arch/arm64}/kvm/arm_hypercalls.h               | 0
{include => arch/arm64}/kvm/arm_psci.h                     | 0
arch/arm64/kvm/guest.c                                     | 2 +-
arch/arm64/kvm/handle_exit.c                               | 2 +-
arch/arm64/kvm/hyp/Makefile                                | 6 +++---
arch/arm64/kvm/hyp/include/hyp/switch.h                    | 4 ++--
arch/arm64/kvm/hyp/nvhe/switch.c                           | 4 ++--
arch/arm64/kvm/hyp/vhe/switch.c                            | 4 ++--
arch/arm64/kvm/hypercalls.c                                | 4 ++--
arch/arm64/kvm/pmu-emul.c                                  | 4 ++--
arch/arm64/kvm/psci.c                                      | 4 ++--
arch/arm64/kvm/pvtime.c                                    | 2 +-
arch/arm64/kvm/reset.c                                     | 3 +--
arch/arm64/kvm/trace_arm.h                                 | 2 +-
arch/arm64/kvm/trng.c                                      | 2 +-
arch/arm64/kvm/vgic/vgic-debug.c                           | 2 +-
arch/arm64/kvm/vgic/vgic-init.c                            | 2 +-
arch/arm64/kvm/vgic/vgic-irqfd.c                           | 2 +-
arch/arm64/kvm/vgic/vgic-kvm-device.c                      | 2 +-
arch/arm64/kvm/vgic/vgic-mmio-v2.c                         | 4 ++--
arch/arm64/kvm/vgic/vgic-mmio-v3.c                         | 4 ++--
arch/arm64/kvm/vgic/vgic-mmio.c                            | 6 +++---
arch/arm64/kvm/vgic/vgic-v2.c                              | 2 +-
arch/arm64/kvm/vgic/vgic-v3-nested.c                       | 3 +--
arch/arm64/kvm/vgic/vgic-v3.c                              | 2 +-
arch/loongarch/include/asm/kvm_eiointc.h                   | 2 +-
arch/loongarch/include/asm/kvm_ipi.h                       | 2 +-
arch/loongarch/include/asm/kvm_pch_pic.h                   | 2 +-
arch/mips/include/asm/kvm_host.h                           | 3 +--
arch/mips/kvm/Makefile                                     | 2 --
arch/powerpc/kvm/Makefile                                  | 2 --
arch/powerpc/kvm/mpic.c                                    | 2 +-
arch/riscv/kvm/Makefile                                    | 2 --
arch/riscv/kvm/aia_aplic.c                                 | 2 +-
arch/riscv/kvm/aia_imsic.c                                 | 2 +-
arch/s390/kvm/Makefile                                     | 2 --
arch/x86/kvm/Makefile                                      | 1 -
arch/x86/kvm/i8254.h                                       | 2 +-
arch/x86/kvm/ioapic.h                                      | 2 +-
arch/x86/kvm/irq.h                                         | 2 +-
arch/x86/kvm/lapic.h                                       | 2 +-
include/{kvm/iodev.h => linux/kvm_iodev.h}                 | 0
virt/kvm/Makefile.kvm                                      | 2 ++
virt/kvm/coalesced_mmio.c                                  | 3 +--
virt/kvm/eventfd.c                                         | 2 +-
virt/kvm/kvm_main.c                                        | 3 +--
54 files changed, 64 insertions(+), 77 deletions(-)
rename include/kvm/arm_arch_timer.h => arch/arm64/include/asm/kvm_arch_timer.h (98%)
rename include/kvm/arm_pmu.h => arch/arm64/include/asm/kvm_pmu.h (99%)
rename include/kvm/arm_vgic.h => arch/arm64/include/asm/kvm_vgic.h (99%)
rename {include => arch/arm64}/kvm/arm_hypercalls.h (100%)
rename {include => arch/arm64}/kvm/arm_psci.h (100%)
rename include/{kvm/iodev.h => linux/kvm_iodev.h} (100%)
[PATCH 0/8] KVM: Remove include/kvm, standardize includes
Posted by Sean Christopherson 4 months ago
Kill off include/kvm (through file moves/renames), and standardize the set of
KVM includes across all architectures.

This conflicts with Colton's partioned PMU series[1], but this should work as
a nice prepatory cleanup for the partitioned PMU work (and hopefully can land
sooner).

Note, these patches were originally posted as part of a much larger and more
agressive RFC[1].  We've effectively abandoned upstreaming the multi-KVM idea,
but I'm trying to (slowly) upstream the bits and pieces that I think/hope are
generally beneficial.

[1] https://lore.kernel.org/all/20250602192702.2125115-1-coltonlewis@google.com
[2] https://lore.kernel.org/all/20230916003118.2540661-1-seanjc@google.com

Anish Ghulati (1):
  KVM: arm64: Move arm_{psci,hypercalls}.h to an internal KVM path

Sean Christopherson (7):
  KVM: arm64: Include KVM headers to get forward declarations
  KVM: arm64: Move ARM specific headers in include/kvm to arch directory
  KVM: Move include/kvm/iodev.h to include/linux as kvm_iodev.h
  KVM: MIPS: Stop adding virt/kvm to the arch include path
  KVM: PPC: Stop adding virt/kvm to the arch include path
  KVM: s390: Stop adding virt/kvm to the arch include path
  KVM: Standardize include paths across all architectures

 MAINTAINERS                                                | 1 -
 .../arm64/include/asm/kvm_arch_timer.h                     | 2 ++
 arch/arm64/include/asm/kvm_host.h                          | 7 +++----
 include/kvm/arm_pmu.h => arch/arm64/include/asm/kvm_pmu.h  | 2 ++
 .../kvm/arm_vgic.h => arch/arm64/include/asm/kvm_vgic.h    | 2 +-
 arch/arm64/kvm/Makefile                                    | 2 --
 arch/arm64/kvm/arch_timer.c                                | 5 ++---
 arch/arm64/kvm/arm.c                                       | 6 +++---
 {include => arch/arm64}/kvm/arm_hypercalls.h               | 0
 {include => arch/arm64}/kvm/arm_psci.h                     | 0
 arch/arm64/kvm/guest.c                                     | 2 +-
 arch/arm64/kvm/handle_exit.c                               | 2 +-
 arch/arm64/kvm/hyp/Makefile                                | 6 +++---
 arch/arm64/kvm/hyp/include/hyp/switch.h                    | 4 ++--
 arch/arm64/kvm/hyp/nvhe/switch.c                           | 4 ++--
 arch/arm64/kvm/hyp/vhe/switch.c                            | 4 ++--
 arch/arm64/kvm/hypercalls.c                                | 4 ++--
 arch/arm64/kvm/pmu-emul.c                                  | 4 ++--
 arch/arm64/kvm/psci.c                                      | 4 ++--
 arch/arm64/kvm/pvtime.c                                    | 2 +-
 arch/arm64/kvm/reset.c                                     | 3 +--
 arch/arm64/kvm/trace_arm.h                                 | 2 +-
 arch/arm64/kvm/trng.c                                      | 2 +-
 arch/arm64/kvm/vgic/vgic-debug.c                           | 2 +-
 arch/arm64/kvm/vgic/vgic-init.c                            | 2 +-
 arch/arm64/kvm/vgic/vgic-irqfd.c                           | 2 +-
 arch/arm64/kvm/vgic/vgic-kvm-device.c                      | 2 +-
 arch/arm64/kvm/vgic/vgic-mmio-v2.c                         | 4 ++--
 arch/arm64/kvm/vgic/vgic-mmio-v3.c                         | 4 ++--
 arch/arm64/kvm/vgic/vgic-mmio.c                            | 6 +++---
 arch/arm64/kvm/vgic/vgic-v2.c                              | 2 +-
 arch/arm64/kvm/vgic/vgic-v3-nested.c                       | 3 +--
 arch/arm64/kvm/vgic/vgic-v3.c                              | 2 +-
 arch/loongarch/include/asm/kvm_eiointc.h                   | 2 +-
 arch/loongarch/include/asm/kvm_ipi.h                       | 2 +-
 arch/loongarch/include/asm/kvm_pch_pic.h                   | 2 +-
 arch/mips/include/asm/kvm_host.h                           | 3 +--
 arch/mips/kvm/Makefile                                     | 2 --
 arch/powerpc/kvm/Makefile                                  | 2 --
 arch/powerpc/kvm/mpic.c                                    | 2 +-
 arch/riscv/kvm/Makefile                                    | 2 --
 arch/riscv/kvm/aia_aplic.c                                 | 2 +-
 arch/riscv/kvm/aia_imsic.c                                 | 2 +-
 arch/s390/kvm/Makefile                                     | 2 --
 arch/x86/kvm/Makefile                                      | 1 -
 arch/x86/kvm/i8254.h                                       | 2 +-
 arch/x86/kvm/ioapic.h                                      | 2 +-
 arch/x86/kvm/irq.h                                         | 2 +-
 arch/x86/kvm/lapic.h                                       | 2 +-
 include/{kvm/iodev.h => linux/kvm_iodev.h}                 | 0
 virt/kvm/Makefile.kvm                                      | 2 ++
 virt/kvm/coalesced_mmio.c                                  | 3 +--
 virt/kvm/eventfd.c                                         | 2 +-
 virt/kvm/kvm_main.c                                        | 3 +--
 54 files changed, 64 insertions(+), 77 deletions(-)
 rename include/kvm/arm_arch_timer.h => arch/arm64/include/asm/kvm_arch_timer.h (98%)
 rename include/kvm/arm_pmu.h => arch/arm64/include/asm/kvm_pmu.h (99%)
 rename include/kvm/arm_vgic.h => arch/arm64/include/asm/kvm_vgic.h (99%)
 rename {include => arch/arm64}/kvm/arm_hypercalls.h (100%)
 rename {include => arch/arm64}/kvm/arm_psci.h (100%)
 rename include/{kvm/iodev.h => linux/kvm_iodev.h} (100%)


base-commit: 61374cc145f4a56377eaf87c7409a97ec7a34041
-- 
2.50.0.rc0.642.g800a2b2222-goog
Re: [PATCH 0/8] KVM: Remove include/kvm, standardize includes
Posted by Paolo Bonzini 4 months ago
On 6/11/25 02:10, Sean Christopherson wrote:
> Kill off include/kvm (through file moves/renames), and standardize the set of
> KVM includes across all architectures.
> 
> This conflicts with Colton's partioned PMU series[1], but this should work as
> a nice prepatory cleanup for the partitioned PMU work (and hopefully can land
> sooner).
> 
> Note, these patches were originally posted as part of a much larger and more
> agressive RFC[1].  We've effectively abandoned upstreaming the multi-KVM idea,
> but I'm trying to (slowly) upstream the bits and pieces that I think/hope are
> generally beneficial.
> 
> [1] https://lore.kernel.org/all/20250602192702.2125115-1-coltonlewis@google.com
> [2] https://lore.kernel.org/all/20230916003118.2540661-1-seanjc@google.com

Marc, Oliver, I'd like to commit this to kvm/next sometime soon; I'll 
wait for your ack since most of the meat here is in arch/arm64.

Thanks,

Paolo
Re: [PATCH 0/8] KVM: Remove include/kvm, standardize includes
Posted by Oliver Upton 3 months, 4 weeks ago
On Thu, Jun 12, 2025 at 06:56:53AM +0200, Paolo Bonzini wrote:
> On 6/11/25 02:10, Sean Christopherson wrote:
> > Kill off include/kvm (through file moves/renames), and standardize the set of
> > KVM includes across all architectures.
> > 
> > This conflicts with Colton's partioned PMU series[1], but this should work as
> > a nice prepatory cleanup for the partitioned PMU work (and hopefully can land
> > sooner).
> > 
> > Note, these patches were originally posted as part of a much larger and more
> > agressive RFC[1].  We've effectively abandoned upstreaming the multi-KVM idea,
> > but I'm trying to (slowly) upstream the bits and pieces that I think/hope are
> > generally beneficial.
> > 
> > [1] https://lore.kernel.org/all/20250602192702.2125115-1-coltonlewis@google.com
> > [2] https://lore.kernel.org/all/20230916003118.2540661-1-seanjc@google.com
> 
> Marc, Oliver, I'd like to commit this to kvm/next sometime soon; I'll wait
> for your ack since most of the meat here is in arch/arm64.

Let it rip, just to get ahead of potential conflicts can you push out a
topic branch?

Acked-by: Oliver Upton <oliver.upton@linux.dev>

Thanks,
Oliver