Module Name: src Committed By: nakayama Date: Sun Feb 13 11:54:24 UTC 2011
Modified Files: src/sys/arch/sparc64/dev: psycho.c Log Message: 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.101 -r1.102 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.101 src/sys/arch/sparc64/dev/psycho.c:1.102 --- src/sys/arch/sparc64/dev/psycho.c:1.101 Sat Jul 10 10:07:40 2010 +++ src/sys/arch/sparc64/dev/psycho.c Sun Feb 13 11:54:24 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: psycho.c,v 1.101 2010/07/10 10:07:40 nakayama Exp $ */ +/* $NetBSD: psycho.c,v 1.102 2011/02/13 11:54:24 nakayama Exp $ */ /* * Copyright (c) 1999, 2000 Matthew R. Green @@ -55,7 +55,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.101 2010/07/10 10:07:40 nakayama Exp $"); +__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.102 2011/02/13 11:54:24 nakayama Exp $"); #include "opt_ddb.h" @@ -299,6 +299,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"); @@ -527,10 +528,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,