Skip to content

Commit b1a9a9b

Browse files
mrutland-armMarc Zyngier
authored andcommitted
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>
1 parent acd8bfa commit b1a9a9b

1 file changed

Lines changed: 1 addition & 3 deletions

File tree

arch/arm64/kvm/hyp/include/hyp/switch.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,8 @@ static inline void __activate_traps_fpsimd32(struct kvm_vcpu *vcpu)
5959
* If FP/ASIMD is not implemented, FPEXC is UNDEFINED and any access to
6060
* it will cause an exception.
6161
*/
62-
if (vcpu_el1_is_32bit(vcpu) && system_supports_fpsimd()) {
62+
if (vcpu_el1_is_32bit(vcpu) && system_supports_fpsimd())
6363
write_sysreg(1 << 30, fpexc32_el2);
64-
isb();
65-
}
6664
}
6765

6866
static inline void __activate_cptr_traps_nvhe(struct kvm_vcpu *vcpu)

0 commit comments

Comments
 (0)