Hi Paolo,
Here's the (rather small) pull request for the 5.8 updates to
KVM/arm64. This mostly contains a bunch of cleanups now that can be
done now that we are free of the 32bit legacy, and a number of
refactoring patches that prepare for the eventual landing of the
dreaded nested virt patches.
Two things though:
- there is another bunch of patches that I have routed via the arm64
tree as they would otherwise very badly conflict if taken via the
KVM tree
- Depending on how things go during the first week, I may have another
small set of patches that I'm holding back for now as they also
conflict very badly with Mike Rapoport's P4D patches.
Please pull,
M.
The following changes since commit 2ef96a5bb12be62ef75b5828c0aab838ebb29cb8:
Linux 5.7-rc5 (2020-05-10 15:16:58 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git
tags/kvmarm-5.8
for you to fetch changes up to 8f7f4fe756bd5cfef73cf8234445081385bdbf7d:
KVM: arm64: Drop obsolete comment about sys_reg ordering (2020-05-28 13:16:57
+0100)
----------------------------------------------------------------
KVM/arm64 updates for Linux 5.8:
- Move the arch-specific code into arch/arm64/kvm
- Start the post-32bit cleanup
- Cherry-pick a few non-invasive pre-NV patches
----------------------------------------------------------------
Andrew Scull (1):
KVM: arm64: Remove obsolete kvm_virt_to_phys abstraction
Christoffer Dall (1):
KVM: arm64: vgic-v3: Take cpu_if pointer directly instead of vcpu
David Brazdil (2):
KVM: arm64: Clean up cpu_init_hyp_mode()
KVM: arm64: Fix incorrect comment on kvm_get_hyp_vector()
Fuad Tabba (2):
KVM: arm64: Clean up kvm makefiles
KVM: Fix spelling in code comments
Jiang Yi (1):
KVM: arm/arm64: Release kvm->mmu_lock in loop to prevent starvation
Keqian Zhu (1):
KVM: arm64: Support enabling dirty log gradually in small chunks
Marc Zyngier (10):
KVM: arm64: Move virt/kvm/arm to arch/arm64
KVM: arm64: Simplify __kvm_timer_set_cntvoff implementation
KVM: arm64: Use cpus_have_final_cap for has_vhe()
KVM: arm64: Make KVM_CAP_MAX_VCPUS compatible with the selected GIC
version
KVM: arm64: Refactor vcpu_{read,write}_sys_reg
KVM: arm64: Add missing reset handlers for PMU emulation
KVM: arm64: Move sysreg reset check to boot time
KVM: arm64: Don't use empty structures as CPU reset state
KVM: arm64: Parametrize exception entry with a target EL
KVM: arm64: Drop obsolete comment about sys_reg ordering
Suzuki K Poulose (2):
KVM: arm64: Clean up the checking for huge mapping
KVM: arm64: Unify handling THP backed host memory
Will Deacon (3):
KVM: arm64: Kill off CONFIG_KVM_ARM_HOST
KVM: arm64: Update help text
KVM: arm64: Change CONFIG_KVM to a menuconfig entry
Zenghui Yu (1):
KVM: arm64: Sidestep stage2_unmap_vm() on vcpu reset when S2FWB is
supported
Documentation/virt/kvm/api.rst | 2 +-
MAINTAINERS | 1 -
arch/arm64/include/asm/kvm_asm.h | 4 +-
arch/arm64/include/asm/kvm_host.h | 44 +----
arch/arm64/include/asm/kvm_hyp.h | 12 +-
arch/arm64/include/asm/kvm_mmu.h | 4 +-
arch/arm64/include/asm/ptrace.h | 1 +
arch/arm64/include/asm/virt.h | 2 +-
arch/arm64/kernel/asm-offsets.c | 2 +-
arch/arm64/kernel/cpu_errata.c | 2 +-
arch/arm64/kernel/smp.c | 2 +-
arch/arm64/kvm/Kconfig | 22 +--
arch/arm64/kvm/Makefile | 46 ++---
{virt/kvm/arm => arch/arm64/kvm}/aarch32.c | 0
{virt/kvm/arm => arch/arm64/kvm}/arch_timer.c | 12 +-
{virt/kvm/arm => arch/arm64/kvm}/arm.c | 60 ++++--
arch/arm64/kvm/guest.c | 4 +-
arch/arm64/kvm/handle_exit.c | 2 +-
arch/arm64/kvm/hyp/Makefile | 16 +-
{virt/kvm/arm => arch/arm64/kvm}/hyp/aarch32.c | 0
arch/arm64/kvm/hyp/switch.c | 8 +-
{virt/kvm/arm => arch/arm64/kvm}/hyp/timer-sr.c | 3 +-
{virt/kvm/arm => arch/arm64/kvm}/hyp/vgic-v3-sr.c | 39 ++--
{virt/kvm/arm => arch/arm64/kvm}/hypercalls.c | 0
arch/arm64/kvm/inject_fault.c | 75 +++----
{virt/kvm/arm => arch/arm64/kvm}/mmio.c | 2 +-
{virt/kvm/arm => arch/arm64/kvm}/mmu.c | 148 ++++++++------
{virt/kvm/arm => arch/arm64/kvm}/perf.c | 0
virt/kvm/arm/pmu.c => arch/arm64/kvm/pmu-emul.c | 0
{virt/kvm/arm => arch/arm64/kvm}/psci.c | 6 +-
{virt/kvm/arm => arch/arm64/kvm}/pvtime.c | 0
arch/arm64/kvm/reset.c | 27 ++-
arch/arm64/kvm/sys_regs.c | 212 ++++++++++----------
arch/arm64/kvm/trace.h | 216 +--------------------
virt/kvm/arm/trace.h => arch/arm64/kvm/trace_arm.h | 11 +-
arch/arm64/kvm/trace_handle_exit.h | 215 ++++++++++++++++++++
arch/arm64/kvm/vgic-sys-reg-v3.c | 2 +-
{virt/kvm/arm => arch/arm64/kvm}/vgic/trace.h | 2 +-
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-debug.c | 0
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-init.c | 0
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-irqfd.c | 0
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-its.c | 0
.../arm => arch/arm64/kvm}/vgic/vgic-kvm-device.c | 0
.../kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v2.c | 0
.../kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v3.c | 0
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.c | 0
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.h | 0
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v2.c | 10 +-
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v3.c | 18 +-
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v4.c | 0
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.c | 25 ++-
{virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.h | 0
include/kvm/arm_vgic.h | 5 +-
virt/kvm/coalesced_mmio.c | 2 +-
virt/kvm/eventfd.c | 2 +-
virt/kvm/kvm_main.c | 2 +-
56 files changed, 629 insertions(+), 639 deletions(-)
rename {virt/kvm/arm => arch/arm64/kvm}/aarch32.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/arch_timer.c (98%)
rename {virt/kvm/arm => arch/arm64/kvm}/arm.c (95%)
rename {virt/kvm/arm => arch/arm64/kvm}/hyp/aarch32.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/hyp/timer-sr.c (89%)
rename {virt/kvm/arm => arch/arm64/kvm}/hyp/vgic-v3-sr.c (95%)
rename {virt/kvm/arm => arch/arm64/kvm}/hypercalls.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/mmio.c (98%)
rename {virt/kvm/arm => arch/arm64/kvm}/mmu.c (96%)
rename {virt/kvm/arm => arch/arm64/kvm}/perf.c (100%)
rename virt/kvm/arm/pmu.c => arch/arm64/kvm/pmu-emul.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/psci.c (98%)
rename {virt/kvm/arm => arch/arm64/kvm}/pvtime.c (100%)
rename virt/kvm/arm/trace.h => arch/arm64/kvm/trace_arm.h (97%)
create mode 100644 arch/arm64/kvm/trace_handle_exit.h
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/trace.h (93%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-debug.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-init.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-irqfd.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-its.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-kvm-device.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v2.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v3.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.h (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v2.c (98%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v3.c (97%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v4.c (100%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.c (97%)
rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.h (100%)
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm