aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/alpha/tlsb/dwlpx.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/sys/alpha/tlsb/dwlpx.c b/sys/alpha/tlsb/dwlpx.c
index c82424f6b0c6c..cae0648a7b3e7 100644
--- a/sys/alpha/tlsb/dwlpx.c
+++ b/sys/alpha/tlsb/dwlpx.c
@@ -123,7 +123,11 @@ struct dwlpx_softc {
static driver_intr_t dwlpx_intr;
static u_int32_t imaskcache[DWLPX_NIONODE][DWLPX_NHOSE][NHPC];
+#ifdef SIMOS
+extern void simos_intr(int);
+#else
static void dwlpx_eintr(unsigned long);
+#endif
/*
* Direct-mapped window: 2G at 2G
@@ -741,13 +745,19 @@ dwlpx_dma_init(struct dwlpx_softc *sc)
/*
*/
+#ifdef SIMOS
static void
dwlpx_intr(void *arg)
{
-#ifdef SIMOS
- extern void simos_intr(int);
+
simos_intr(0);
-#else
+}
+
+#else /* !SIMOS */
+
+static void
+dwlpx_intr(void *arg)
+{
unsigned long vec = (unsigned long) arg;
if ((vec & DWLPX_VEC_EMARK) != 0) {
dwlpx_eintr(vec);
@@ -758,7 +768,6 @@ dwlpx_intr(void *arg)
/* NOTREACHED */
}
alpha_dispatch_intr(NULL, vec);
-#endif
}
static void
@@ -833,6 +842,7 @@ dwlpx_eintr(unsigned long vec)
REGVAL(PCIA_ERR(i) + sc->sysbase) = hpcs[i].err;
}
}
+#endif /* SIMOS */
static device_method_t dwlpx_methods[] = {
/* Device interface */