diff options
author | Andrew Turner <andrew@FreeBSD.org> | 2023-02-20 12:22:11 +0000 |
---|---|---|
committer | Andrew Turner <andrew@FreeBSD.org> | 2023-02-20 12:29:56 +0000 |
commit | 24abb6b82102eec577eff9bd8dd7726e8cab89f4 (patch) | |
tree | c7aac6a7fc34d6bb31d263468dc723b053d4dcb3 | |
parent | 8aad241ed0c51c45370bd2879fc113170563a018 (diff) | |
download | src-24abb6b82102eec577eff9bd8dd7726e8cab89f4.tar.gz src-24abb6b82102eec577eff9bd8dd7726e8cab89f4.zip |
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
-rw-r--r-- | sys/arm/arm/swtch-v6.S | 2 | ||||
-rw-r--r-- | 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} |