Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/powerpc/powerpc If ALTIVEC is not defined, treat EX...
details: https://anonhg.NetBSD.org/src/rev/6e7c43c6f3d4
branches: trunk
changeset: 533334:6e7c43c6f3d4
user: matt <matt%NetBSD.org@localhost>
date: Thu Jun 27 21:15:35 2002 +0000
description:
If ALTIVEC is not defined, treat EXC_VEC|EXC_USER exceptions as PGM
exceptions. [Note that we still can't trap these due to issues in
trap_subr.S which are (yet) fixed]
diffstat:
sys/arch/powerpc/powerpc/trap.c | 30 ++++++++++++++++--------------
1 files changed, 16 insertions(+), 14 deletions(-)
diffs (54 lines):
diff -r 58d3c1c427b0 -r 6e7c43c6f3d4 sys/arch/powerpc/powerpc/trap.c
--- a/sys/arch/powerpc/powerpc/trap.c Thu Jun 27 21:03:37 2002 +0000
+++ b/sys/arch/powerpc/powerpc/trap.c Thu Jun 27 21:15:35 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.61 2002/06/17 21:07:40 christos Exp $ */
+/* $NetBSD: trap.c,v 1.62 2002/06/27 21:15:35 matt Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -339,18 +339,6 @@
enable_fpu(p);
break;
-#ifdef ALTIVEC
- case EXC_VEC|EXC_USER:
- curcpu()->ci_ev_vec.ev_count++;
- if (vecproc) {
- curcpu()->ci_ev_vecsw.ev_count++;
- save_vec(vecproc);
- }
- vecproc = p;
- enable_vec(p);
- break;
-#endif
-
case EXC_AST|EXC_USER:
astpending = 0; /* we are about to do it */
KERNEL_PROC_LOCK(p);
@@ -382,10 +370,24 @@
KERNEL_PROC_UNLOCK(p);
break;
+ case EXC_VEC|EXC_USER:
+#ifdef ALTIVEC
+ curcpu()->ci_ev_vec.ev_count++;
+ if (vecproc) {
+ curcpu()->ci_ev_vecsw.ev_count++;
+ save_vec(vecproc);
+ }
+ vecproc = p;
+ enable_vec(p);
+ break;
+#else
+ /* FALLTHROUGH */
+#endif
+
case EXC_PGM|EXC_USER:
/* XXX temporarily */
+ curcpu()->ci_ev_pgm.ev_count++;
KERNEL_PROC_LOCK(p);
- curcpu()->ci_ev_pgm.ev_count++;
if (cpu_printfataltraps) {
printf("trap: pid %d (%s): user PGM trap @ %#x "
"(SSR1=%#x)\n",
Home |
Main Index |
Thread Index |
Old Index