From: Shannon Zhao <shannon.zhao@xxxxxxxxxx> For KVM/ARM there are many fixes which have been applied upstream while not committed to stable kernels. Here we backport the important fixes to 3.14.y stable kernel. We have compile-tested each patch on arm/arm64/x86 to make sure the series are bisectable and have booted the resulting kernel on Fastmodel and started 2 VMs for arm/arm64, and have boot-tested on TC2 and started a guest. These patches are applied on the top of 3.14.43. Note in the previous mail I mention there are 9 patches which can't be applied cleanly, but the others except [1] are due to the contexts of modifications are changed, while the modifications themselves of patches are almost same with the upstream ones. To patch [1], since it requires applying full GICv3 support but it's out of the scope of stable kernel. So this patch has a huge modification for stable kernel comparing to the upstream one. [1] ae70593 arm/arm64: KVM: Keep elrsr/aisr in sync with software model Thanks, Shannon Alex Bennée (1): arm64: KVM: export demux regids as KVM_REG_ARM64 Ard Biesheuvel (3): ARM/arm64: KVM: fix use of WnR bit in kvm_is_write_fault() arm/arm64: KVM: fix potential NULL dereference in user_mem_abort() arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn() Christoffer Dall (11): arm/arm64: KVM: Fix and refactor unmap_range arm/arm64: KVM: Fix set_clear_sgi_pend_reg offset arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE arm/arm64: KVM: vgic: Fix error code in kvm_vgic_create() arm/arm64: KVM: Don't clear the VCPU_POWER_OFF flag arm/arm64: KVM: Correct KVM_ARM_VCPU_INIT power off option arm/arm64: KVM: Reset the HCR on each vcpu when resetting the vcpu arm/arm64: KVM: Introduce stage2_unmap_vm arm/arm64: KVM: Don't allow creating VCPUs after vgic_initialized arm/arm64: KVM: Require in-kernel vgic for the arch timers arm/arm64: KVM: Keep elrsr/aisr in sync with software model Eric Auger (1): ARM: KVM: Unmap IPA on memslot delete/move Geoff Levand (1): arm64/kvm: Fix assembler compatibility of macros Joel Schopp (1): arm/arm64: KVM: Fix VTTBR_BADDR_MASK and pgd alloc Kim Phillips (1): ARM: KVM: user_mem_abort: support stage 2 MMIO page mapping Li Liu (1): ARM: virt: fix wrong HSCTLR.EE bit setting Marc Zyngier (4): KVM: ARM: vgic: plug irq injection race arm64: KVM: Fix TLB invalidation by IPA/VMID arm64: KVM: Fix HCR setting for 32bit guests arm64: KVM: Do not use pgd_index to index stage-2 pgd Mark Rutland (1): arm64: KVM: fix unmapping with 48-bit VAs Steve Capper (1): arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort Victor Kamensky (1): ARM64: KVM: store kvm_vcpu_fault_info est_el2 as word Vladimir Murzin (1): arm: kvm: fix CPU hotplug Will Deacon (4): KVM: ARM/arm64: fix non-const declaration of function returning const KVM: ARM/arm64: fix broken __percpu annotation KVM: ARM/arm64: avoid returning negative error code as bool KVM: vgic: return int instead of bool when checking I/O ranges Documentation/virtual/kvm/api.txt | 3 +- arch/arm/include/asm/kvm_emulate.h | 5 + arch/arm/include/asm/kvm_host.h | 2 +- arch/arm/include/asm/kvm_mmu.h | 25 +-- arch/arm/kernel/hyp-stub.S | 4 +- arch/arm/kvm/arm.c | 73 ++++---- arch/arm/kvm/coproc.c | 2 +- arch/arm/kvm/guest.c | 1 - arch/arm/kvm/mmu.c | 315 ++++++++++++++++++++++++++--------- arch/arm64/include/asm/kvm_arm.h | 32 ++-- arch/arm64/include/asm/kvm_emulate.h | 7 + arch/arm64/include/asm/kvm_host.h | 4 +- arch/arm64/include/asm/kvm_mmu.h | 36 ++-- arch/arm64/kvm/guest.c | 1 - arch/arm64/kvm/hyp.S | 3 +- arch/arm64/kvm/reset.c | 1 - arch/arm64/kvm/sys_regs.c | 4 +- include/kvm/arm_arch_timer.h | 10 +- virt/kvm/arm/arch_timer.c | 30 +++- virt/kvm/arm/vgic.c | 27 ++- 20 files changed, 392 insertions(+), 193 deletions(-) -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html