git: kernel - Fix floating point save state structure and minor

看板DFBSD_commit作者時間14年前 (2011/12/28 02:05), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 9e6e869e8ae3b41257bc4cb2ef8565828e90ea41 Author: Matthew Dillon <dillon@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
文章代碼(AID): #1E-WZhod (DFBSD_commit)