Commit 7297a8bc authored by Marc Zyngier's avatar Marc Zyngier

Merge branch kvm-arm64/misc-5.18 into kvmarm-master/next

* kvm-arm64/misc-5.18:
  : .
  : Misc fixes for KVM/arm64 5.18:
  :
  : - Drop unused kvm parameter to kvm_psci_version()
  :
  : - Implement CONFIG_DEBUG_LIST at EL2
  :
  : - Make CONFIG_ARM64_ERRATUM_2077057 default y
  :
  : - Only do the interrupt dance if we have exited because of an interrupt
  :
  : - Remove traces of 32bit ARM host support from the documentation
  : .
  Documentation: KVM: Update documentation to indicate KVM is arm64-only
  KVM: arm64: Only open the interrupt window on exit due to an interrupt
  KVM: arm64: Enable Cortex-A510 erratum 2077057 by default
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parents 1a48ce92 3fbf4207
This diff is collapsed.
...@@ -140,7 +140,7 @@ the cpu field to the processor id. ...@@ -140,7 +140,7 @@ the cpu field to the processor id.
2. GROUP: KVM_ARM_VCPU_TIMER_CTRL 2. GROUP: KVM_ARM_VCPU_TIMER_CTRL
================================= =================================
:Architectures: ARM, ARM64 :Architectures: ARM64
2.1. ATTRIBUTES: KVM_ARM_VCPU_TIMER_IRQ_VTIMER, KVM_ARM_VCPU_TIMER_IRQ_PTIMER 2.1. ATTRIBUTES: KVM_ARM_VCPU_TIMER_IRQ_VTIMER, KVM_ARM_VCPU_TIMER_IRQ_PTIMER
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
......
...@@ -682,6 +682,7 @@ config ARM64_ERRATUM_2051678 ...@@ -682,6 +682,7 @@ config ARM64_ERRATUM_2051678
config ARM64_ERRATUM_2077057 config ARM64_ERRATUM_2077057
bool "Cortex-A510: 2077057: workaround software-step corrupting SPSR_EL2" bool "Cortex-A510: 2077057: workaround software-step corrupting SPSR_EL2"
default y
help help
This option adds the workaround for ARM Cortex-A510 erratum 2077057. This option adds the workaround for ARM Cortex-A510 erratum 2077057.
Affected Cortex-A510 may corrupt SPSR_EL2 when the a step exception is Affected Cortex-A510 may corrupt SPSR_EL2 when the a step exception is
......
...@@ -887,9 +887,11 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu) ...@@ -887,9 +887,11 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)
* context synchronization event) is necessary to ensure that * context synchronization event) is necessary to ensure that
* pending interrupts are taken. * pending interrupts are taken.
*/ */
local_irq_enable(); if (ARM_EXCEPTION_CODE(ret) == ARM_EXCEPTION_IRQ) {
isb(); local_irq_enable();
local_irq_disable(); isb();
local_irq_disable();
}
guest_timing_exit_irqoff(); guest_timing_exit_irqoff();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment