Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port/sparc64 known working on Netra X1?



On Sun, 9 May 2010 03:15:14 +0000 (UTC)
Eduardo Horvath <eeh%NetBSD.org@localhost> wrote:

> Worst case is checking vor the X1 model string.
This is what I've done for now. I can commit this but I would prefere a
"proper" solution. Unfortunately I lack the knowledge and documentation
to do it better.

Index: psycho.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc64/dev/psycho.c,v
retrieving revision 1.100
diff -u -r1.100 psycho.c
--- psycho.c    6 Jan 2010 05:55:01 -0000       1.100
+++ psycho.c    9 May 2010 08:17:29 -0000
@@ -103,6 +103,8 @@
 
 #include "ioconf.h"
 
+extern char machine_banner[];
+
 static pci_chipset_tag_t psycho_alloc_chipset(struct psycho_pbm *, int,
        pci_chipset_tag_t);
 static struct extent *psycho_alloc_extent(struct psycho_pbm *, int, int,
@@ -527,9 +529,14 @@
                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);
+               /*
+                * The X1 hangs when the powerfail interrupt is enabled.
+                */
+               if (strcmp( machine_banner, "Sun Netra X1") != 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 */

-- 


tschüß,
       Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/



Home | Main Index | Thread Index | Old Index