[PATCH for 3.12.y stable 00/63] Backport fixes of KVM/ARM to 3.12.y stable kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.12.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.12.40. They can be fetched
from following address:
https://git.linaro.org/people/shannon.zhao/linux-stable.git linux-3.12.y

Thanks,
Shannon

Alex Bennée (1):
  arm64: KVM: export demux regids as KVM_REG_ARM64

Andre Przywara (1):
  KVM: arm/arm64: vgic: fix GICD_ICFGR register accesses

Anup Patel (1):
  arm64: KVM: Force undefined exception for Guest SMC intructions

Ard Biesheuvel (2):
  ARM/arm64: KVM: fix use of WnR bit in kvm_is_write_fault()
  arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn()

Christoffer Dall (15):
  KVM: ARM: Update comments for kvm_handle_wfi
  arm/arm64: KVM: arch_timer: Initialize cntvoff at kvm_init
  ARM: KVM: Allow creating the VGIC after VCPUs
  arm/arm64: kvm: Set vcpu->cpu to -1 on vcpu_put
  arm: KVM: Don't return PSCI_INVAL if waitqueue is inactive
  arm/arm64: KVM: Fix and refactor unmap_range
  arm/arm64: KVM: Complete WFI/WFE instructions
  arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE
  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

Haibin Wang (1):
  KVM: ARM: vgic: Fix the overlap check action about setting the GICD &
    GICC base address.

Joel Schopp (1):
  arm/arm64: KVM: Fix VTTBR_BADDR_MASK and pgd alloc

Jonathan Austin (2):
  KVM: ARM: Fix calculation of virtual CPU ID
  KVM: ARM: fix the size of TTBCR_{T0SZ,T1SZ} masks

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

Lorenzo Pieralisi (1):
  arm: kvm: implement CPU PM notifier

Marc Zyngier (22):
  ARM: KVM: Yield CPU when vcpu executes a WFE
  ARM: KVM: Fix MPIDR computing to support virtual clusters
  ARM: KVM: fix L2CTLR to be per-cluster
  arm/arm64: KVM: PSCI: use MPIDR to identify a target CPU
  arm64: KVM: Yield CPU when vcpu executes a WFE
  arm/arm64: KVM: detect CPU reset on CPU_PM_EXIT
  arm64: KVM: force cache clean on page fault when caches are off
  arm64: KVM: allows discrimination of AArch32 sysreg access
  arm64: KVM: trap VM system registers until MMU and caches are ON
  ARM: KVM: introduce kvm_p*d_addr_end
  arm64: KVM: flush VM pages before letting the guest enable caches
  ARM: KVM: force cache clean on page fault when caches are off
  ARM: KVM: fix handling of trapped 64bit coprocessor accesses
  ARM: KVM: fix ordering of 64bit coprocessor accesses
  ARM: KVM: introduce per-vcpu HYP Configuration Register
  ARM: KVM: add world-switch for AMAIR{0,1}
  ARM: KVM: trap VM system registers until MMU and caches are ON
  ARM: KVM: fix non-VGIC compilation
  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

Pranavkumar Sawargaonkar (1):
  ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU

Sachin Kamat (1):
  KVM: ARM: Remove duplicate include

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 (7):
  ARM: KVM: disable KVM in Kconfig on big-endian systems
  arm64: kvm: use inner-shareable barriers for inner-shareable
    maintenance
  kvm: arm64: vgic: fix hyp panic with 64k pages on juno platform
  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_arm.h       |  11 +-
 arch/arm/include/asm/kvm_asm.h       |   4 +-
 arch/arm/include/asm/kvm_emulate.h   |  10 ++
 arch/arm/include/asm/kvm_host.h      |  11 +-
 arch/arm/include/asm/kvm_mmu.h       |  55 ++++--
 arch/arm/kernel/asm-offsets.c        |   1 +
 arch/arm/kernel/hyp-stub.S           |   2 +-
 arch/arm/kvm/Kconfig                 |   3 +-
 arch/arm/kvm/arm.c                   | 142 +++++++++------
 arch/arm/kvm/coproc.c                |  85 +++++++--
 arch/arm/kvm/coproc.h                |  14 +-
 arch/arm/kvm/coproc_a15.c            |  19 +-
 arch/arm/kvm/handle_exit.c           |  24 ++-
 arch/arm/kvm/init.S                  |   4 +
 arch/arm/kvm/interrupts.S            |  11 +-
 arch/arm/kvm/interrupts_head.S       |  21 ++-
 arch/arm/kvm/mmu.c                   | 331 ++++++++++++++++++++++++++++++-----
 arch/arm/kvm/psci.c                  |  27 ++-
 arch/arm64/include/asm/kvm_arm.h     |  41 +++--
 arch/arm64/include/asm/kvm_asm.h     |   3 +-
 arch/arm64/include/asm/kvm_emulate.h |  12 ++
 arch/arm64/include/asm/kvm_host.h    |   4 +-
 arch/arm64/include/asm/kvm_mmu.h     |  58 +++---
 arch/arm64/kvm/Kconfig               |   1 +
 arch/arm64/kvm/guest.c               |   1 -
 arch/arm64/kvm/handle_exit.c         |  23 ++-
 arch/arm64/kvm/hyp-init.S            |   4 +
 arch/arm64/kvm/hyp.S                 |  42 ++++-
 arch/arm64/kvm/reset.c               |   1 -
 arch/arm64/kvm/sys_regs.c            | 103 +++++++++--
 arch/arm64/kvm/sys_regs.h            |   2 +
 include/kvm/arm_arch_timer.h         |  10 +-
 include/kvm/arm_vgic.h               |   5 +
 virt/kvm/arm/arch_timer.c            |  30 +++-
 virt/kvm/arm/vgic.c                  |  76 ++++++--
 36 files changed, 917 insertions(+), 277 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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]