Sean Christopherson seanjc@google.com writes:
On Mon, Jun 02, 2025, Colton Lewis wrote:
- Delete kvm/arm_pmu.h. These functions are mostly internal to KVM and should go in asm/kvm_host.h.
Ha! I'm a hair too late, as usual. I _just_ resurrected a patch[*] to move and rename all of the <kvm/arm_xxx.h> headers to <asm/kvm_xxx.h>. If only I had posted on Friday when they were ready :-)
Great minds think alike :) (In this case the other one was Marc)
It's a relatively small series (mostly arm64 code movement), but it does touch all architectures due to giving the same treatment to kvm/iodev.h (and purging include/kvm entirely).
Any preference/thoughts on how to proceed? My stuff obviously isn't urgent since I sat on the patches for almost two years. On the other hand, the almost pure code movement would be a nice precursor to this patch, e.g. move and rename to asm/kvm_pmu.h before extracting chunks of code into asm/kvm_host.h.
Letting the rename go first is fine and won't inconveneince me. I'm expecting this series to take a while to be accepted and Oliver told me I'll probably need a reroll to make my context switching lazy. Thanks for asking.
[*] https://lore.kernel.org/all/20230916003118.2540661-15-seanjc@google.com
Diff stats for context:
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: 45eb29140e68ffe8e93a5471006858a018480a45