NetBSD-Bugs archive

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

Re: port-sparc/42192: cannot access floppy on SPARCstation 1+



> >Synopsis:       cannot access floppy on SPARCstation 1+
> >Fix:
> > One possibility is around MI softint(9) changes after 4.0?
> 
> It looks sys/arch/sparc/sparc/bsd_fdintr.s still has
> old MD softintr stuff so it should be updated to
> newer MI softint(9) API.

Okay, the following patch (disabling "fast trap" hander?)
could be a workaround at least on my SS1+.
audioamd also works.

Is it okay to commit this for workaround?

Index: dev/audioamd.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc/dev/audioamd.c,v
retrieving revision 1.24
diff -u -r1.24 audioamd.c
--- dev/audioamd.c      17 Sep 2009 12:38:11 -0000      1.24
+++ dev/audioamd.c      14 Dec 2009 14:51:07 -0000
@@ -308,7 +308,13 @@
        sc->sc_au.au_bt = sc->sc_bt;
        sc->sc_au.au_bh = sc->sc_bh;
        (void)bus_intr_establish2(sc->sc_bt, pri, IPL_HIGH,
-                                 am7930hwintr, sc, amd7930_trap);
+                                 am7930hwintr, sc,
+#ifdef notyet /* XXX amd7930intr.s needs to be fixed for MI softint(9) */
+                                 amd7930_trap
+#else
+                                 NULL
+#endif
+                                 );
 
        sc->sc_sicookie = softint_establish(SOFTINT_SERIAL, am7930swintr, sc);
        if (sc->sc_sicookie == NULL) {
Index: dev/fd.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc/dev/fd.c,v
retrieving revision 1.146
diff -u -r1.146 fd.c
--- dev/fd.c    25 May 2009 19:22:53 -0000      1.146
+++ dev/fd.c    14 Dec 2009 14:51:07 -0000
@@ -639,7 +639,13 @@
 
        fdciop = &fdc->sc_io;
        if (bus_intr_establish2(fdc->sc_bustag, pri, 0,
-                               fdc_c_hwintr, fdc, fdchwintr) == NULL) {
+                               fdc_c_hwintr, fdc,
+#ifdef notyet /* XXX bsd_fdintr.s needs to be fixed for MI softint(9) */
+                               fdchwintr
+#else
+                               NULL
+#endif
+                               ) == NULL) {
                printf("\n%s: cannot register interrupt handler\n",
                        fdc->sc_dev.dv_xname);
                return (-1);

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index