summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-10-20 13:31:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-10-20 13:31:10 +0000
commit11084a7e88d4d89e115046faf12bbc82063a172c (patch)
tree4266b3046e5634ef2d15af1ecc7f7f0be4b767c2
parentab325ab9061e577388514e428a7d5ed8331f2da7 (diff)
downloadlibbsdport-11084a7e88d4d89e115046faf12bbc82063a172c.tar.bz2
2009-10-20 Joel Sherrill <joel.sherrill@OARcorp.com>
* if_bge/if_bge.c, libbsdport/alldrv.c: Add local changes (untested).
-rw-r--r--bsd_eth_drivers/ChangeLog4
-rw-r--r--bsd_eth_drivers/if_bge/if_bge.c12
-rw-r--r--bsd_eth_drivers/libbsdport/alldrv.c2
3 files changed, 17 insertions, 1 deletions
diff --git a/bsd_eth_drivers/ChangeLog b/bsd_eth_drivers/ChangeLog
index 45cd835..43aa93c 100644
--- a/bsd_eth_drivers/ChangeLog
+++ b/bsd_eth_drivers/ChangeLog
@@ -1,3 +1,7 @@
+2009-10-20 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ * if_bge/if_bge.c, libbsdport/alldrv.c: Add local changes (untested).
+
2009-09-12 Chris Johns <chrisj@rtems.org>
* links.am: Fixed the links so they work with absolute paths.
diff --git a/bsd_eth_drivers/if_bge/if_bge.c b/bsd_eth_drivers/if_bge/if_bge.c
index 1281f29..654e1af 100644
--- a/bsd_eth_drivers/if_bge/if_bge.c
+++ b/bsd_eth_drivers/if_bge/if_bge.c
@@ -2712,6 +2712,13 @@ bge_attach(device_t dev)
ifp->if_capabilities |= IFCAP_POLLING;
#endif
+#ifdef __rtems__
+ taskqueue_create_fast("re_taskq", M_NOWAIT,
+ taskqueue_thread_enqueue, &taskqueue_fast);
+ taskqueue_start_threads(&taskqueue_fast, 1, PI_NET, "%s taskq",
+ device_get_nameunit(dev));
+#endif
+
/*
* 5700 B0 chips do not support checksumming correctly due
* to hardware bugs.
@@ -2820,7 +2827,10 @@ again:
/*
* Hookup IRQ last.
*/
-#if (__FreeBSD_version > 700030) || defined(__rtems__)
+#if defined(__rtems__)
+ error = bus_setup_intr(dev, sc->bge_irq, INTR_TYPE_NET | INTR_MPSAFE,
+ bge_intr, NULL, sc, &sc->bge_intrhand);
+#elif (__FreeBSD_version > 700030)
error = bus_setup_intr(dev, sc->bge_irq, INTR_TYPE_NET | INTR_MPSAFE,
NULL, bge_intr, sc, &sc->bge_intrhand);
#else
diff --git a/bsd_eth_drivers/libbsdport/alldrv.c b/bsd_eth_drivers/libbsdport/alldrv.c
index c68d6d1..ac177c1 100644
--- a/bsd_eth_drivers/libbsdport/alldrv.c
+++ b/bsd_eth_drivers/libbsdport/alldrv.c
@@ -15,6 +15,7 @@ driver_t *libbsdport_netdriver_table_all[] = {
driver_t libbsdport_null_driver = {0};
+#if 0
extern driver_t libbsdport_em_driver
__attribute__((weak,alias("libbsdport_null_driver")));
extern driver_t libbsdport_pcn_driver
@@ -29,6 +30,7 @@ extern driver_t libbsdport_re_driver
__attribute__((weak,alias("libbsdport_null_driver")));
extern driver_t libbsdport_rl_driver
__attribute__((weak,alias("libbsdport_null_driver")));
+#endif
/* weak alias defaults to a table that includes