Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

KVM: arm64: Remove ISB after writing FPEXC32_EL2

The value of FPEX32_EL2 has no effect on execution in AArch64 state, and
consequently there's no need for an ISB after writing to it in the hyp
code (which executes in AArch64 state). When performing an exception
return to AArch32 state, the exception return will provide the necessary
context synchronization event.

Remove the redundant ISB.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Will Deacon <will@kernel.org>
Tested-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20260106173707.3292074-4-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>

authored by

Mark Rutland and committed by
Marc Zyngier
b1a9a9b9 acd8bfaa

+1 -3
+1 -3
arch/arm64/kvm/hyp/include/hyp/switch.h
··· 59 59 * If FP/ASIMD is not implemented, FPEXC is UNDEFINED and any access to 60 60 * it will cause an exception. 61 61 */ 62 - if (vcpu_el1_is_32bit(vcpu) && system_supports_fpsimd()) { 62 + if (vcpu_el1_is_32bit(vcpu) && system_supports_fpsimd()) 63 63 write_sysreg(1 << 30, fpexc32_el2); 64 - isb(); 65 - } 66 64 } 67 65 68 66 static inline void __activate_cptr_traps_nvhe(struct kvm_vcpu *vcpu)