[GIT PULL] KVM/arm64 fixes for 5.19, take #1

Marc Zyngier
2022-06-09T14:17:55Z

Hi Paolo,

Here's the first set of fixes for 5.19. Nothing major (one fix for the
GICv2 emulation, one for the embryonic protected VM support), the rest
being a bunch of small scale cleanup that I have decided to take now
rather than leaving them for later.

Please pull,

M.

The following changes since commit f2906aa863381afb0015a9eb7fefad885d4e5a56:

Linux 5.19-rc1 (2022-06-05 17:18:54 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-5.19-1

for you to fetch changes up to bcbfb588cf323929ac46767dd14e392016bbce04:

KVM: arm64: Drop stale comment (2022-06-09 13:24:02 +0100)

----------------------------------------------------------------
KVM/arm64 fixes for 5.19, take #1

- Properly reset the SVE/SME flags on vcpu load

- Fix a vgic-v2 regression regarding accessing the pending
state of a HW interrupt from userspace (and make the code
common with vgic-v3)

- Fix access to the idreg range for protected guests

- Ignore 'kvm-arm.mode=protected' when using VHE

- Return an error from kvm_arch_init_vm() on allocation failure

- A bunch of small cleanups (comments, annotations, indentation)

----------------------------------------------------------------
Marc Zyngier (7):
KVM: arm64: Always start with clearing SVE flag on load
KVM: arm64: Always start with clearing SME flag on load
KVM: arm64: Don't read a HW interrupt pending state in user context
KVM: arm64: Replace vgic_v3_uaccess_read_pending with vgic_uaccess_read_pending
KVM: arm64: Warn if accessing timer pending state outside of vcpu context
KVM: arm64: Handle all ID registers trapped for a protected VM
KVM: arm64: Drop stale comment

Will Deacon (4):
KVM: arm64: Return error from kvm_arch_init_vm() on allocation failure
KVM: arm64: Ignore 'kvm-arm.mode=protected' when using VHE
KVM: arm64: Extend comment in has_vhe()
KVM: arm64: Remove redundant hyp_assert_lock_held() assertions

sunliming (1):
KVM: arm64: Fix inconsistent indenting

Documentation/admin-guide/kernel-parameters.txt | 1 -
arch/arm64/include/asm/kvm_host.h | 5 ---
arch/arm64/include/asm/virt.h | 3 ++
arch/arm64/kernel/cpufeature.c | 10 +-----
arch/arm64/kvm/arch_timer.c | 3 ++
arch/arm64/kvm/arm.c | 10 ++++--
arch/arm64/kvm/fpsimd.c | 2 ++
arch/arm64/kvm/hyp/nvhe/mem_protect.c | 4 ---
arch/arm64/kvm/hyp/nvhe/sys_regs.c | 42 ++++++++++++++++++++-----
arch/arm64/kvm/vgic/vgic-mmio-v2.c | 4 +--
arch/arm64/kvm/vgic/vgic-mmio-v3.c | 40 ++---------------------
arch/arm64/kvm/vgic/vgic-mmio.c | 40 ++++++++++++++++++++---
arch/arm64/kvm/vgic/vgic-mmio.h | 3 ++
arch/arm64/kvm/vmid.c | 2 +-
14 files changed, 95 insertions(+), 74 deletions(-)