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,