Module Name: src
Committed By: bouyer
Date: Wed Feb 16 21:21:21 UTC 2011
Modified Files:
src/sys/arch/sparc64/dev [netbsd-5]: psycho.c
Log Message:
Pull up following revision(s) (requested by nakayama in ticket #1555):
sys/arch/sparc64/dev/psycho.c: revision 1.102 via patch
Don't enable the powerfail interrupt on Netra X1 since it may hang.
Discussed on port-sparc64.
To generate a diff of this commit:
cvs rdiff -u -r1.91 -r1.91.4.1 src/sys/arch/sparc64/dev/psycho.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/sparc64/dev/psycho.c
diff -u src/sys/arch/sparc64/dev/psycho.c:1.91 src/sys/arch/sparc64/dev/psycho.c:1.91.4.1
--- src/sys/arch/sparc64/dev/psycho.c:1.91 Sat Oct 18 03:31:10 2008
+++ src/sys/arch/sparc64/dev/psycho.c Wed Feb 16 21:21:21 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: psycho.c,v 1.91 2008/10/18 03:31:10 nakayama Exp $ */
+/* $NetBSD: psycho.c,v 1.91.4.1 2011/02/16 21:21:21 bouyer Exp $ */
/*
* Copyright (c) 1999, 2000 Matthew R. Green
@@ -55,7 +55,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.91 2008/10/18 03:31:10 nakayama Exp $");
+__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.91.4.1 2011/02/16 21:21:21 bouyer Exp $");
#include "opt_ddb.h"
@@ -288,6 +288,7 @@
int psycho_br[2], n, i;
bus_space_handle_t pci_ctl;
char *model = prom_getpropstring(ma->ma_node, "model");
+ extern char machine_model[];
aprint_normal("\n");
@@ -519,10 +520,15 @@
psycho_set_intr(sc, 15, psycho_bus_a,
&sc->sc_regs->pciaerr_int_map,
&sc->sc_regs->pciaerr_clr_int);
- psycho_set_intr(sc, 15, psycho_powerfail,
- &sc->sc_regs->power_int_map,
- &sc->sc_regs->power_clr_int);
- psycho_register_power_button(sc);
+ /*
+ * Netra X1 may hang when the powerfail interrupt is enabled.
+ */
+ if (strcmp(machine_model, "SUNW,UltraAX-i2") != 0) {
+ psycho_set_intr(sc, 15, psycho_powerfail,
+ &sc->sc_regs->power_int_map,
+ &sc->sc_regs->power_clr_int);
+ psycho_register_power_button(sc);
+ }
if (sc->sc_mode != PSYCHO_MODE_SABRE) {
/* sabre doesn't have these interrupts */
psycho_set_intr(sc, 15, psycho_bus_b,