[GIT PULL 00/23] KVM/arm updates for 5.6

Marc Zyngier
2020-01-30T13:26:11Z

Hi Paolo,

Please find below the pull request for KVM/arm for Linux 5.6.

No new feature this time around, but a large spectrum of interesting
fixes. I'm certainly pleased that people are focussing on these corner
cases, as some of them are pretty hard to debug. So kudos to them!

Please pull,

M.

The following changes since commit fd6988496e79a6a4bdb514a4655d2920209eb85d:

Linux 5.5-rc4 (2019-12-29 15:29:16 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-5.6

for you to fetch changes up to 4a267aa707953a9a73d1f5dc7f894dd9024a92be:

KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer (2020-01-28 13:09:31 +0000)

----------------------------------------------------------------
KVM/arm updates for Linux 5.6

- Fix MMIO sign extension
- Fix HYP VA tagging on tag space exhaustion
- Fix PSTATE/CPSR handling when generating exception
- Fix MMU notifier's advertizing of young pages
- Fix poisoned page handling
- Fix PMU SW event handling
- Fix TVAL register access
- Fix AArch32 external abort injection
- Fix ITS unmapped collection handling
- Various cleanups

----------------------------------------------------------------
Alexandru Elisei (1):
KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer

Andrew Jones (1):
arm64: KVM: Add UAPI notes for swapped registers

Christoffer Dall (1):
KVM: arm64: Only sign-extend MMIO up to register width

Eric Auger (5):
KVM: arm/arm64: vgic-its: Fix restoration of unmapped collections
KVM: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset
KVM: arm64: pmu: Don't mark a counter as chained if the odd one is disabled
KVM: arm64: pmu: Fix chained SW_INCR counters
KVM: arm64: pmu: Only handle supported event counters

Gavin Shan (1):
KVM: arm/arm64: Fix young bit from mmu notifier

James Morse (3):
KVM: arm/arm64: Re-check VMA on detecting a poisoned page
KVM: arm: Fix DFSR setting for non-LPAE aarch32 guests
KVM: arm: Make inject_abt32() inject an external abort instead

Marc Zyngier (1):
KVM: arm/arm64: Cleanup MMIO handling

Mark Brown (1):
arm64: KVM: Annotate guest entry/exit as a single function

Mark Rutland (3):
KVM: arm64: Correct PSTATE on exception entry
KVM: arm/arm64: Correct CPSR on exception entry
KVM: arm/arm64: Correct AArch32 SPSR on exception entry

Russell King (1):
arm64: kvm: Fix IDMAP overlap with HYP VA

Shannon Zhao (1):
KVM: ARM: Call hyp_cpu_pm_exit at the right place

YueHaibing (1):
KVM: arm: Remove duplicate include

Zenghui Yu (3):
KVM: arm/arm64: vgic: Handle GICR_PENDBASER.PTZ filed as RAZ
KVM: arm/arm64: vgic-its: Properly check the unmapped coll in DISCARD handler
KVM: arm/arm64: vgic: Drop the kvm_vgic_register_mmio_region()

Documentation/virt/kvm/api.txt | 9 +++
arch/arm/include/asm/kvm_emulate.h | 27 +++++++-
arch/arm/include/asm/kvm_host.h | 12 ++--
arch/arm/include/asm/kvm_hyp.h | 1 +
arch/arm/include/asm/kvm_mmio.h | 26 -------
arch/arm64/include/asm/kvm_emulate.h | 40 ++++++++++-
arch/arm64/include/asm/kvm_host.h | 12 ++--
arch/arm64/include/asm/kvm_mmio.h | 29 --------
arch/arm64/include/asm/ptrace.h | 1 +
arch/arm64/include/uapi/asm/kvm.h | 12 +++-
arch/arm64/include/uapi/asm/ptrace.h | 1 +
arch/arm64/kvm/hyp/entry.S | 7 +-
arch/arm64/kvm/inject_fault.c | 70 +++++++++++++++++--
arch/arm64/kvm/va_layout.c | 56 +++++++--------
virt/kvm/arm/aarch32.c | 131 ++++++++++++++++++++++++++++++-----
virt/kvm/arm/arch_timer.c | 3 +-
virt/kvm/arm/arm.c | 4 +-
virt/kvm/arm/mmio.c | 68 +++++++-----------
virt/kvm/arm/mmu.c | 24 +++----
virt/kvm/arm/pmu.c | 114 ++++++++++++++++++------------
virt/kvm/arm/vgic/vgic-its.c | 6 +-
virt/kvm/arm/vgic/vgic-mmio-v3.c | 5 +-
virt/kvm/arm/vgic/vgic-mmio.h | 5 --
23 files changed, 421 insertions(+), 242 deletions(-)
delete mode 100644 arch/arm/include/asm/kvm_mmio.h
delete mode 100644 arch/arm64/include/asm/kvm_mmio.h