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
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. |
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.