summaryrefslogtreecommitdiffstats
path: root/bsd_eth_drivers/if_le/README.rtems
diff options
context:
space:
mode:
Diffstat (limited to 'bsd_eth_drivers/if_le/README.rtems')
-rw-r--r--bsd_eth_drivers/if_le/README.rtems80
1 files changed, 80 insertions, 0 deletions
diff --git a/bsd_eth_drivers/if_le/README.rtems b/bsd_eth_drivers/if_le/README.rtems
new file mode 100644
index 0000000..829e1d8
--- /dev/null
+++ b/bsd_eth_drivers/if_le/README.rtems
@@ -0,0 +1,80 @@
+RTEMS PORT OF THE 'le' ETHERNET DRIVER
+======================================
+
+This is a port of the FreeBSD 'le' driver as of
+2007/7/21 (checked out from FreeBSD/head on that date).
+
+SUPPORTED BSPs:
+- you need 'libbsdport' which in turn needs 'libbspExt'
+ These work for i386/pc386 and powerpc/new-exception-processing
+ BSPs, i.e., the BSP must implement <rtems/pci.h> and <rtems/irq.h>.
+
+USAGE:
+- to attach this driver:
+ * define a NULL terminated list with all libbsdport supported
+ drivers you want to include with your application:
+
+ extern driver_t libbsdport_le_pci_driver;
+
+ driver_t *libbsdport_netdriver_table[] = {
+ &libbsdport_le_pci_driver,
+ /* other drivers here or upstream of 'le' if they support
+ * the same hardware but are preferred.
+ */
+ 0
+ };
+
+ * specify libbsdport_netdriver_attach for the 'attach' function
+ pointer in struct rtems_bsdnet_ifconfig.
+
+ * use the 'name' field in struct rtems_bsdnet_ifconfig to filter
+ drivers and device instances:
+
+ <driver_name><instance>
+
+ either may be omitted which means that the next available
+ driver/hardware device is to be used. Here are a few examples:
+
+ "" /* use first device found supported by any driver in the
+ * libbsdport_driver_table[].
+ */
+
+ "le1" /* use first device supported by the 'le' driver */
+
+ Notes: Counting instances begins with 1 (not 0).
+ Consult libbsdport/README for more information.
+
+
+KNOWN ISSUES:
+- only the PCI module has been ported, so far. No ISA (yet).
+ This means that only the
+ am79900*.*
+ lance*.*
+ if_le_pci.c
+ files are really used. Other files are left here for reference.
+- media status (SIOCGIFMEDIA) doesn't work. sc_mediastatus
+ is not set so the media is always reported as 0.
+- 'ignore_broadcast' and 'mtu' settings from
+ struct rtems_bsdnet_ifconfig are ignored. I haven't seen
+ many drivers that honour 'ignore_broadcast' and 'mtu' can be
+ set using a ioctl(). I'm trying to keep changes to BSD sources
+ minimal...
+- ring sizes are restricted to powers of 2.
+
+OTHER NOTES:
+- you can use the 'pcn' driver for 79C971 and upwards
+ chips. 'pcn' supposedly uses more advanced features
+ of those chips.
+- 'le' works with qemu's 'pcnet32' Am79C970A emulation :-)
+
+TESTED WITH:
+ Technobox 10/100-TX Ethernet PMC (AMD Am79C973 chip)
+ qemu 'pcnet32' emulation
+
+TESTED ON:
+ rtems-4.7
+ powerpc/beatnik (motorola MVME5500 and MVME6100 VME boards)
+ i386/pc686 (concurrent technologies PP410 compact PCI)
+ qemu emulator
+
+T.S, 200707