From 24abb6b82102eec577eff9bd8dd7726e8cab89f4 Mon Sep 17 00:00:00 2001 From: Andrew Turner Date: Mon, 20 Feb 2023 12:22:11 +0000 Subject: When saving a context on arm call the vfp handler When adding kernel VFP support on arm a comparison instruction was removed, however the branch to vfp_save_state was still conditional. Remove the conditional check and always call into vfp_save_state as it could cause unexpected results otherwise. Sponsored by: Arm Ltd --- sys/arm/arm/swtch-v6.S | 2 +- sys/arm/arm/swtch.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm/arm/swtch-v6.S b/sys/arm/arm/swtch-v6.S index bff1bc8f3d35..b23fb2f7686f 100644 --- a/sys/arm/arm/swtch-v6.S +++ b/sys/arm/arm/swtch-v6.S @@ -325,7 +325,7 @@ ENTRY(cpu_switch) ldr r3, [r10, #(TD_PCB)] mov r1, r3 mov r0, r10 - blne _C_LABEL(vfp_save_state) + bl _C_LABEL(vfp_save_state) #endif /* diff --git a/sys/arm/arm/swtch.S b/sys/arm/arm/swtch.S index f7c2beaf4f3e..1856f8b1e97c 100644 --- a/sys/arm/arm/swtch.S +++ b/sys/arm/arm/swtch.S @@ -101,7 +101,7 @@ ENTRY(savectx) #ifdef VFP mov r1, r0 mov r0, #0 - blne _C_LABEL(vfp_save_state) + bl _C_LABEL(vfp_save_state) #endif add sp, sp, #4; ldmfd sp!, {pc} -- cgit v1.2.3