mbox series

[GIT,PULL] KVM/arm64 fixes for 5.16, take #2

Message ID 20211125161902.106749-1-maz@kernel.org
State New
Headers show
Series [GIT,PULL] KVM/arm64 fixes for 5.16, take #2 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-5.16-2

Message

Marc Zyngier Nov. 25, 2021, 4:19 p.m. UTC
Paolo,

Here's the second set of fixes for 5.16. The main items are a fix for
an unfortunate signed constant extension, leading to an unbootable
kernel on ARMv8.7 systems. The two other patches are fixes for the
rare cases where we evaluate PSTATE too early on guest exit.

Please pull,

	M.

The following changes since commit fa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf:

  Linux 5.16-rc1 (2021-11-14 13:56:52 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-5.16-2

for you to fetch changes up to 1f80d15020d7f130194821feb1432b67648c632d:

  KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 (2021-11-25 15:51:25 +0000)

----------------------------------------------------------------
KVM/arm64 fixes for 5.16, take #2

- Fix constant sign extension affecting TCR_EL2 and preventing
  running on ARMv8.7 models due to spurious bits being set

- Fix use of helpers using PSTATE early on exit by always sampling
  it as soon as the exit takes place

- Move pkvm's 32bit handling into a common helper

----------------------------------------------------------------
Catalin Marinas (1):
      KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1

Marc Zyngier (2):
      KVM: arm64: Save PSTATE early on exit
      KVM: arm64: Move pkvm's special 32bit handling into a generic infrastructure

 arch/arm64/include/asm/kvm_arm.h           |  4 ++--
 arch/arm64/kvm/hyp/include/hyp/switch.h    | 14 ++++++++++++++
 arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h |  7 ++++++-
 arch/arm64/kvm/hyp/nvhe/switch.c           |  8 +-------
 arch/arm64/kvm/hyp/vhe/switch.c            |  4 ++++
 5 files changed, 27 insertions(+), 10 deletions(-)

Comments

Paolo Bonzini Nov. 26, 2021, 10:42 a.m. UTC | #1
On 11/25/21 17:19, Marc Zyngier wrote:
> Paolo,
> 
> Here's the second set of fixes for 5.16. The main items are a fix for
> an unfortunate signed constant extension, leading to an unbootable
> kernel on ARMv8.7 systems. The two other patches are fixes for the
> rare cases where we evaluate PSTATE too early on guest exit.
> 
> Please pull,
> 
> 	M.
> 
> The following changes since commit fa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf:
> 
>    Linux 5.16-rc1 (2021-11-14 13:56:52 -0800)
> 
> are available in the Git repository at:
> 
>    git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-5.16-2
> 
> for you to fetch changes up to 1f80d15020d7f130194821feb1432b67648c632d:
> 
>    KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 (2021-11-25 15:51:25 +0000)
> 
> ----------------------------------------------------------------
> KVM/arm64 fixes for 5.16, take #2
> 
> - Fix constant sign extension affecting TCR_EL2 and preventing
>    running on ARMv8.7 models due to spurious bits being set
> 
> - Fix use of helpers using PSTATE early on exit by always sampling
>    it as soon as the exit takes place
> 
> - Move pkvm's 32bit handling into a common helper
> 
> ----------------------------------------------------------------
> Catalin Marinas (1):
>        KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1
> 
> Marc Zyngier (2):
>        KVM: arm64: Save PSTATE early on exit
>        KVM: arm64: Move pkvm's special 32bit handling into a generic infrastructure
> 
>   arch/arm64/include/asm/kvm_arm.h           |  4 ++--
>   arch/arm64/kvm/hyp/include/hyp/switch.h    | 14 ++++++++++++++
>   arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h |  7 ++++++-
>   arch/arm64/kvm/hyp/nvhe/switch.c           |  8 +-------
>   arch/arm64/kvm/hyp/vhe/switch.c            |  4 ++++
>   5 files changed, 27 insertions(+), 10 deletions(-)
> 


Pulled, thanks.

Paolo