HomeFreeBSD

Always store the arm64 VFP context

Description

Always store the arm64 VFP context

If a thread enters a kernel FP context the PCB_FP_STARTED may be
unset when calling get_fpcontext even if the VFP unit has been used
by the current thread.

Reduce the use of this flag to just decide when to store the VFP state.

While here add an assert to check the assumption that the passed in
thread is the current thread and remove the unneeded critical section.
The latter is unneeded as the only place we would need it is in
vfp_save_state and this already has a critical section when needed.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D37998

(cherry picked from commit 61f5462fde6c38c1f4f5c34a05fab506b6869375)

Details

Provenance
andrewAuthored on Jan 18 2023, 9:30 AM
Differential Revision
D37998: Always store the arm64 VFP context
Parents
rGbd011976c6cf: Always read the VFP regs in the arm64 fill_fpregs
Branches
Unknown
Tags
Unknown