Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc/sparc Remove cruft from `nmi_hard()' interrup...
details: https://anonhg.NetBSD.org/src/rev/108ad8a9b8d7
branches: trunk
changeset: 473008:108ad8a9b8d7
user: pk <pk%NetBSD.org@localhost>
date: Sun May 16 16:56:35 1999 +0000
description:
Remove cruft from `nmi_hard()' interrupt handler.
diffstat:
sys/arch/sparc/sparc/intr.c | 39 +++++++++++++++------------------------
1 files changed, 15 insertions(+), 24 deletions(-)
diffs (69 lines):
diff -r 47a8444b02ca -r 108ad8a9b8d7 sys/arch/sparc/sparc/intr.c
--- a/sys/arch/sparc/sparc/intr.c Sun May 16 16:48:59 1999 +0000
+++ b/sys/arch/sparc/sparc/intr.c Sun May 16 16:56:35 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.c,v 1.39 1999/02/27 16:13:59 pk Exp $ */
+/* $NetBSD: intr.c,v 1.40 1999/05/16 16:56:35 pk Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -214,9 +214,6 @@
int (*vmeerr_handler) __P((void));
int (*moduleerr_handler) __P((void));
-int nmisync1; /*XXX*/
-int nmisync2;
-int nmifatal;
void
nmi_hard()
@@ -229,18 +226,22 @@
char bits[64];
u_int afsr, afva;
- if (cpuinfo.master == 0) {
- while (nmisync1 == 0) ;
- printf("CPU%d: held\n", cpuinfo.mid);
- while (nmisync2 != 0) ;
- /* XXX - should check module errors here */
- if (nmifatal == 0)
- return;
- prom_halt();
+ afsr = afva = 0;
+ if ((*cpuinfo.get_asyncflt)(&afsr, &afva) == 0) {
+ printf("Async registers (mid %d): afsr=%s; afva=0x%x%x\n",
+ cpuinfo.mid,
+ bitmask_snprintf(afsr, AFSR_BITS, bits, sizeof(bits)),
+ (afsr & AFSR_AFA) >> AFSR_AFA_RSHIFT, afva);
}
- nmisync2 = 1;
- nmisync1 = 1;
+ if (cpuinfo.master == 0) {
+ /*
+ * For now, just return.
+ * Should wait on damage analysis done by the master.
+ */
+ return;
+ }
+
/*
* Examine pending system interrupts.
*/
@@ -269,16 +270,6 @@
fatal |= (*moduleerr_handler)();
}
- if ((*cpuinfo.get_asyncflt)(&afsr, &afva) == 0) {
- printf("Async registers: afsr=%s; afva=0x%x%x\n",
- bitmask_snprintf(afsr, AFSR_BITS, bits, sizeof(bits)),
- (afsr & AFSR_AFA) >> AFSR_AFA_RSHIFT, afva);
- }
-
-
- nmisync1 = 0;
- nmifatal = fatal;
- nmisync2 = 0;
if (fatal)
panic("nmi");
}
Home |
Main Index |
Thread Index |
Old Index