Paolo, Radim,
This is the bulk of the KVM/arm changes for 4.20. This time, the
biggest change by far is the support for variable addressing range in
guests, allowing userspace to size arm64 VMs from 32 to 52bits instead
of the hard-coded 40bits we've enjoyed so far. Other than that, we
have a random selection of small fixes and cleanups.
Note that this will generate a few minor conflicts with the arm64 tree,
which should be resolved as per this branch[1].
Please pull,
M.
[1] git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git
merge-resolution-4.20
The following changes since commit 6bf4ca7fbc85d80446ac01c0d1d77db4d91a6d84:
Linux 4.19-rc5 (2018-09-23 19:15:18 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git
tags/kvmarm-for-v4.20
for you to fetch changes up to e4e11cc0f81ee7be17d6f6fb96128a6d51c0e838:
KVM: arm64: Safety check PSTATE when entering guest and handle IL (2018-10-19
11:13:03 +0100)
----------------------------------------------------------------
KVM/arm updates for 4.20
- Improved guest IPA space support (32 to 52 bits)
- RAS event delivery for 32bit
- PMU fixes
- Guest entry hardening
- Various cleanups
----------------------------------------------------------------
Christoffer Dall (1):
KVM: arm64: Safety check PSTATE when entering guest and handle IL
Dongjiu Geng (2):
arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension()
arm/arm64: KVM: Enable 32 bits kvm vcpu events support
Kristina Martsenko (1):
vgic: Add support for 52bit guest physical address
Marc Zyngier (2):
KVM: arm/arm64: Rename kvm_arm_config_vm to kvm_arm_setup_stage2
KVM: arm64: Drop __cpu_init_stage2 on the VHE path
Mark Rutland (1):
KVM: arm64: Fix caching of host MDCR_EL2 value
Punit Agrawal (1):
KVM: arm/arm64: Ensure only THP is candidate for adjustment
Suzuki K Poulose (17):
kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page table
kvm: arm/arm64: Remove spurious WARN_ON
kvm: arm64: Add helper for loading the stage2 setting for a VM
arm64: Add a helper for PARange to physical shift conversion
kvm: arm64: Clean up VTCR_EL2 initialisation
kvm: arm/arm64: Allow arch specific configurations for VM
kvm: arm64: Configure VTCR_EL2 per VM
kvm: arm/arm64: Prepare for VM specific stage2 translations
kvm: arm64: Prepare for dynamic stage2 page table layout
kvm: arm64: Make stage2 page table layout dynamic
kvm: arm64: Dynamic configuration of VTTBR mask
kvm: arm64: Configure VTCR_EL2.SL0 per VM
kvm: arm64: Switch to per VM IPA limit
kvm: arm64: Add 52bit support for PAR to HPFAR conversoin
kvm: arm64: Set a limit on the IPA size
kvm: arm64: Limit the minimum number of page table levels
kvm: arm64: Allow tuning the physical address size for VM
zhong jiang (1):
arm64: KVM: Remove some extra semicolon in kvm_target_cpu
Documentation/virtual/kvm/api.txt | 31 ++++
arch/arm/include/asm/kvm_arm.h | 3 +-
arch/arm/include/asm/kvm_host.h | 13 +-
arch/arm/include/asm/kvm_mmu.h | 15 +-
arch/arm/include/asm/stage2_pgtable.h | 54 +++---
arch/arm64/include/asm/cpufeature.h | 20 +++
arch/arm64/include/asm/kvm_arm.h | 155 +++++++++++++----
arch/arm64/include/asm/kvm_asm.h | 3 +-
arch/arm64/include/asm/kvm_host.h | 18 +-
arch/arm64/include/asm/kvm_hyp.h | 10 ++
arch/arm64/include/asm/kvm_mmu.h | 42 ++++-
arch/arm64/include/asm/ptrace.h | 3 +
arch/arm64/include/asm/stage2_pgtable-nopmd.h | 42 -----
arch/arm64/include/asm/stage2_pgtable-nopud.h | 39 -----
arch/arm64/include/asm/stage2_pgtable.h | 236 +++++++++++++++++++-------
arch/arm64/kvm/guest.c | 6 +-
arch/arm64/kvm/handle_exit.c | 7 +
arch/arm64/kvm/hyp/Makefile | 1 -
arch/arm64/kvm/hyp/hyp-entry.S | 16 +-
arch/arm64/kvm/hyp/s2-setup.c | 90 ----------
arch/arm64/kvm/hyp/switch.c | 4 +-
arch/arm64/kvm/hyp/sysreg-sr.c | 19 ++-
arch/arm64/kvm/hyp/tlb.c | 4 +-
arch/arm64/kvm/reset.c | 108 +++++++++++-
include/linux/irqchip/arm-gic-v3.h | 5 +
include/uapi/linux/kvm.h | 10 ++
virt/kvm/arm/arm.c | 26 ++-
virt/kvm/arm/mmu.c | 128 +++++++-------
virt/kvm/arm/vgic/vgic-its.c | 36 ++--
virt/kvm/arm/vgic/vgic-kvm-device.c | 2 +-
virt/kvm/arm/vgic/vgic-mmio-v3.c | 2 -
31 files changed, 717 insertions(+), 431 deletions(-)
delete mode 100644 arch/arm64/include/asm/stage2_pgtable-nopmd.h
delete mode 100644 arch/arm64/include/asm/stage2_pgtable-nopud.h
delete mode 100644 arch/arm64/kvm/hyp/s2-setup.c
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm