Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/powerpc/include When returning back to user mode, i...



details:   https://anonhg.NetBSD.org/src/rev/609c7b13b2dd
branches:  trunk
changeset: 565321:609c7b13b2dd
user:      matt <matt%NetBSD.org@localhost>
date:      Sun Apr 04 16:47:02 2004 +0000

description:
When returning back to user mode, if the lwp has lost the FPU, not only
clear PSL_FP bit (to force a FPU Unavailable exception) but clear
PSL_FE0 and PSL_FE1 so that the FP execption mode is changes to ignore.
This will prevent spurious FP exceptions being made when the running lwp
doesn't own the FPU.

diffstat:

 sys/arch/powerpc/include/userret.h |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (18 lines):

diff -r e04c96f60b7e -r 609c7b13b2dd sys/arch/powerpc/include/userret.h
--- a/sys/arch/powerpc/include/userret.h        Sun Apr 04 16:06:09 2004 +0000
+++ b/sys/arch/powerpc/include/userret.h        Sun Apr 04 16:47:02 2004 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: userret.h,v 1.6 2004/02/13 11:36:17 wiz Exp $  */
+/*     $NetBSD: userret.h,v 1.7 2004/04/04 16:47:02 matt Exp $ */
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -59,7 +59,7 @@
 #ifdef PPC_HAVE_FPU
        if ((pcb->pcb_flags & PCB_FPU) &&
            (l != ci->ci_fpulwp || pcb->pcb_fpcpu != ci)) {
-               frame->srr1 &= ~PSL_FP;
+               frame->srr1 &= ~(PSL_FP|PSL_FE0|PSL_FE1);
        }
 #endif
 #ifdef ALTIVEC



Home | Main Index | Thread Index | Old Index