[PULL][Unstable] Fix KVM hang on ThunderX systems
dann frazier
dann.frazier at canonical.com
Thu Jul 13 19:42:10 UTC 2017
BugLink: https://bugs.launchpad.net/bugs/1673564
There's a pretty nasty errata for ThunderX SoCs in which a guest can
cause interrupts to be disabled on the host kernel. The symptoms vary,
but it's easy to reproduce running a bunch of parallel VM start/stop
loops. This series cleanly cherry-picks onto the unstable tree. Older
trees will require some backporting, which is in progress.
The following changes since commit 8d3bed496b029f2b5560793f29adee99e2a3d1f4:
Linux 4.12.1 (2017-07-12 10:12:27 -0500)
are available in the git repository at:
git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux
lp1673564-unstable
for you to fetch changes up to 222a4666e1f012ac42872b046fbe48d1e1b8fa8c:
KVM: arm64: Log an error if trapping a write-to-read-only GICv3
access (2017-07-12 15:40:52 -0600)
----------------------------------------------------------------
David Daney (2):
arm64: Add MIDR values for Cavium cn83XX SoCs
arm64: Add workaround for Cavium Thunder erratum 30115
Marc Zyngier (25):
arm64: Add a facility to turn an ESR syndrome into a sysreg encoding
KVM: arm/arm64: vgic-v3: Add accessors for the ICH_APxRn_EL2 registers
KVM: arm64: Make kvm_condition_valid32() accessible from EL2
KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2
KVM: arm64: vgic-v3: Add ICV_BPR1_EL1 handler
KVM: arm64: vgic-v3: Add ICV_IGRPEN1_EL1 handler
KVM: arm64: vgic-v3: Add ICV_IAR1_EL1 handler
KVM: arm64: vgic-v3: Add ICV_EOIR1_EL1 handler
KVM: arm64: vgic-v3: Add ICV_AP1Rn_EL1 handler
KVM: arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler
KVM: arm64: vgic-v3: Enable trapping of Group-1 system registers
KVM: arm64: Enable GICv3 Group-1 sysreg trapping via command-line
KVM: arm64: vgic-v3: Add ICV_BPR0_EL1 handler
KVM: arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler
KVM: arm64: vgic-v3: Add misc Group-0 handlers
KVM: arm64: vgic-v3: Enable trapping of Group-0 system registers
KVM: arm64: Enable GICv3 Group-0 sysreg trapping via command-line
KVM: arm64: vgic-v3: Add ICV_DIR_EL1 handler
KVM: arm64: vgic-v3: Add ICV_RPR_EL1 handler
KVM: arm64: vgic-v3: Add ICV_CTLR_EL1 handler
KVM: arm64: vgic-v3: Add ICV_PMR_EL1 handler
KVM: arm64: Enable GICv3 common sysreg trapping via command-line
KVM: arm64: vgic-v3: Log which GICv3 system registers are trapped
KVM: arm64: Log an error if trapping a read-from-write-only GICv3 access
KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access
dann frazier (1):
UBUNTU: [Config] CONFIG_CAVIUM_ERRATUM_30115=y
Documentation/admin-guide/kernel-parameters.txt | 12 +
Documentation/arm64/silicon-errata.txt | 1 +
arch/arm64/Kconfig | 11 +
arch/arm64/include/asm/cpucaps.h | 3 +-
arch/arm64/include/asm/cputype.h | 2 +
arch/arm64/include/asm/esr.h | 24 +
arch/arm64/include/asm/kvm_hyp.h | 1 +
arch/arm64/include/asm/sysreg.h | 9 +
arch/arm64/kernel/cpu_errata.c | 21 +
arch/arm64/kvm/hyp/switch.c | 14 +
arch/arm64/kvm/sys_regs.c | 27 +-
debian.master/config/config.common.ubuntu | 1 +
include/kvm/arm_vgic.h | 1 +
include/linux/irqchip/arm-gic-v3.h | 6 +
virt/kvm/arm/aarch32.c | 2 +-
virt/kvm/arm/hyp/vgic-v3-sr.c | 823 +++++++++++++++++++++++-
virt/kvm/arm/vgic/vgic-v3.c | 45 ++
17 files changed, 981 insertions(+), 22 deletions(-)
More information about the kernel-team
mailing list