Page MenuHomeFreeBSD

arm: Allow in-kernel VFP instructions handling.
AbandonedPublic

Authored by allanjude on Sep 6 2023, 6:48 AM.
Tags
Referenced Files
Unknown Object (File)
Thu, Dec 5, 1:26 AM
Unknown Object (File)
Mon, Dec 2, 3:15 AM
Unknown Object (File)
Oct 16 2024, 5:31 PM
Unknown Object (File)
Oct 8 2024, 3:38 AM
Unknown Object (File)
Oct 5 2024, 8:53 AM
Unknown Object (File)
Oct 5 2024, 12:26 AM
Unknown Object (File)
Oct 2 2024, 11:19 AM
Unknown Object (File)
Oct 2 2024, 7:00 AM
Subscribers

Details

Reviewers
andrew
markj
alex.stetsenko_gmail.com
Group Reviewers
Klara

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

Why is the kernel getting into the undefined instruction handler? It should only use VFP instructions from within a specific section marked by the fpu_kern_* functions

Why is the kernel getting into the undefined instruction handler? It should only use VFP instructions from within a specific section marked by the fpu_kern_* functions

As I understand it, your comment is only true when fpu_kern_enter() is called with FPU_KERN_NOCTX. When an explicit context is provided, I believe the intent is to enable VFP lazily, but that is currently broken. The intent of the patch is to fix fpu_kern_enter() to behave properly when the caller supplies a context.

sys/arm/arm/vfp.c
281

This addition is unrelated to the rest of the patch and should be added separately.

des added inline comments.
sys/arm/arm/undefined.c
354

https://reviews.freebsd.org/D42969 and the rest of the patch series are available for review. They break up this patch into logical commits, plus ensure that we do not erroneously consume an exception if a kernel thread triggers a VFP exception without having entered an FPU section. This lets fpu_kern_enter() work on ARM when a FPU context is supplied by the caller.

allanjude abandoned this revision.