Page MenuHomeFreeBSD

arm: Handle VFP exceptions from the kernel
ClosedPublic

Authored by markj on Dec 8 2023, 6:03 PM.
Tags
None
Referenced Files
F81243282: D42971.diff
Sat, Apr 13, 4:25 AM
F81211563: D42971.diff
Fri, Apr 12, 4:00 PM
Unknown Object (File)
Feb 16 2024, 8:44 AM
Unknown Object (File)
Dec 24 2023, 11:49 AM
Unknown Object (File)
Dec 11 2023, 3:32 PM
Subscribers

Details

Summary

vfp_bounce() is called when handling an undefined instruction exception,
to see if we need to enable the VFP. Previously it would
unconditionally panic if the exception came from the kernel, which was
simply wrong, and it did not permit lazy initialization of VFP state in
the kernel. However, this functionality can be useful and is supported
by arm's fpu_kern_enter() implementation. Thus, relax assertions and
consume the exception if the thread was in an FPU section.

Based on a patch from Stormshield.

MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Stormshield

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable