Thread (10 messages) 10 messages, 4 authors, 2026-01-07

Re: [PATCH 3/3] KVM: arm64: Remove ISB after writing FPEXC32_EL2

From: Fuad Tabba <tabba@google.com>
Date: 2026-01-07 10:50:42
Also in: kvmarm

On Tue, 6 Jan 2026 at 17:37, Mark Rutland [off-list ref] wrote:
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>
Tested-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Fuad Tabba <tabba@google.com>

Thanks!
/fuad
quoted hunk ↗ jump to hunk
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 <redacted>
Cc: Will Deacon <will@kernel.org>
---
 arch/arm64/kvm/hyp/include/hyp/switch.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm64/kvm/hyp/include/hyp/switch.h b/arch/arm64/kvm/hyp/include/hyp/switch.h
index 8dce3da85da35..91aa1862349cb 100644
--- a/arch/arm64/kvm/hyp/include/hyp/switch.h
+++ b/arch/arm64/kvm/hyp/include/hyp/switch.h
@@ -59,10 +59,8 @@ static inline void __activate_traps_fpsimd32(struct kvm_vcpu *vcpu)
         * If FP/ASIMD is not implemented, FPEXC is UNDEFINED and any access to
         * it will cause an exception.
         */
-       if (vcpu_el1_is_32bit(vcpu) && system_supports_fpsimd()) {
+       if (vcpu_el1_is_32bit(vcpu) && system_supports_fpsimd())
                write_sysreg(1 << 30, fpexc32_el2);
-               isb();
-       }
 }

 static inline void __activate_cptr_traps_nvhe(struct kvm_vcpu *vcpu)
--
2.30.2
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help