]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix for mis-interpretation of PCB_KERNFPU.
authorkib <kib@FreeBSD.org>
Wed, 14 Oct 2020 23:01:41 +0000 (23:01 +0000)
committerkib <kib@FreeBSD.org>
Wed, 14 Oct 2020 23:01:41 +0000 (23:01 +0000)
commit7e220edac9df926611a0dec429ea594a919b9f51
treea2e04e157b745378bca9d4136c5007cfb04a3ab1
parente31424329d02c175715ec855371e280cd4b646b4
Fix for mis-interpretation of PCB_KERNFPU.

RIght now PCB_KERNFPU is used both as indication that kernel prepared
hardware FPU context to use and that the thread is fpu-kern
thread.  This also breaks fpu_kern_enter(FPU_KERN_NOCTX), since
fpu_kern_leave() then clears PCB_KERNFPU.

Introduce new flag PCB_KERNFPU_THR which indicates that the thread is
fpu-kern.  Do not clear PCB_KERNFPU if fpu-kern thread leaves noctx
fpu region.

Reported and tested by: jhb (amd64)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D25511
sys/amd64/amd64/fpu.c
sys/amd64/include/pcb.h
sys/i386/i386/npx.c
sys/i386/include/pcb.h