git: kernel - Fix floating point save state structure and minor npx issues
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Dec 22 11:44:03 PST 2011
commit 9e6e869e8ae3b41257bc4cb2ef8565828e90ea41
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Dec 22 11:21:41 2011 -0800
kernel - Fix floating point save state structure and minor npx issues
* The floating point save structure(s) used by the kernel and possibly
also userland were too large for x86-64 due to a porting error where
'long' variables were left intact that should have been turned into
32-bit variables.
No known adverse effect to the too-large structures but we have to get
it right.
* npxexit() was not being called in a kernel thread exit case. Kernel
threads do not use the FP unit so the case was never hit, but fix it
anyway.
* Move a critical section to cover a flags test to handle a very rare
preemptive thread switch issue. Since the preempting thread is a
kernel thread which does not use the FP unit this case was never hit,
but fix it anyway.
Summary of changes:
sys/cpu/x86_64/include/npx.h | 20 ++++++++++----------
sys/platform/pc32/i386/vm_machdep.c | 7 +++----
sys/platform/pc64/x86_64/npx.c | 2 +-
sys/platform/pc64/x86_64/vm_machdep.c | 2 +-
sys/platform/vkernel/i386/vm_machdep.c | 7 +++----
sys/platform/vkernel64/x86_64/vm_machdep.c | 3 ++-
6 files changed, 20 insertions(+), 21 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9e6e869e8ae3b41257bc4cb2ef8565828e90ea41
--
DragonFly BSD source repository
More information about the Commits
mailing list