Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/powerpc/fpu Revert rev 1.29:



details:   https://anonhg.NetBSD.org/src/rev/a6ca20aa464b
branches:  trunk
changeset: 369744:a6ca20aa464b
user:      rin <rin%NetBSD.org@localhost>
date:      Tue Aug 30 10:43:38 2022 +0000

description:
Revert rev 1.29:

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/powerpc/fpu/fpu_emu.c#rev1.29

> FPSCR[FEX] is not a sticky bit; it is always cleared when read from
> userland via mffs on real hardware.

This turned out to be wrong. FEX is actually observed for 603e.

diffstat:

 sys/arch/powerpc/fpu/fpu_emu.c |  6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diffs (27 lines):

diff -r d019c7371595 -r a6ca20aa464b sys/arch/powerpc/fpu/fpu_emu.c
--- a/sys/arch/powerpc/fpu/fpu_emu.c    Tue Aug 30 08:51:28 2022 +0000
+++ b/sys/arch/powerpc/fpu/fpu_emu.c    Tue Aug 30 10:43:38 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fpu_emu.c,v 1.36 2022/07/27 04:17:02 rin Exp $ */
+/*     $NetBSD: fpu_emu.c,v 1.37 2022/08/30 10:43:38 rin Exp $ */
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -76,7 +76,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fpu_emu.c,v 1.36 2022/07/27 04:17:02 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fpu_emu.c,v 1.37 2022/08/30 10:43:38 rin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -583,8 +583,6 @@
                        case    OPC63_MFFS:
                                FPU_EMU_EVCNT_INCR(mffs);
                                DPRINTF(FPE_INSN, ("fpu_execute: MFFS\n"));
-                               /* XXX FEX is not sticky */
-                               fs->fpscr &= ~FPSCR_FEX;
                                memcpy(&fs->fpreg[rt], &fs->fpscr,
                                        sizeof(fs->fpscr));
                                break;



Home | Main Index | Thread Index | Old Index