From 8f1b75b72edd634e8fc2f0b78f2896841331099d Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Mon, 3 May 2004 23:25:31 +0000 Subject: [PATCH] Jamify the new network cards drivers commited by Marcus. Coming soon for ipro1000, too. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7396 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/network/Jamfile | 5 +- .../kernel/drivers/network/rtl8169/Jamfile | 49 +++++++++++++++++ .../kernel/drivers/network/stack/Jamfile | 2 + .../drivers/network/stack/net_server_driver.c | 7 ++- .../kernel/drivers/network/via-rhine/Jamfile | 54 +++++++++++++++++++ .../kernel/drivers/network/wb840/device.c | 2 + 6 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 src/add-ons/kernel/drivers/network/rtl8169/Jamfile create mode 100644 src/add-ons/kernel/drivers/network/via-rhine/Jamfile diff --git a/src/add-ons/kernel/drivers/network/Jamfile b/src/add-ons/kernel/drivers/network/Jamfile index 9547af4809..0ad7ca2d88 100644 --- a/src/add-ons/kernel/drivers/network/Jamfile +++ b/src/add-ons/kernel/drivers/network/Jamfile @@ -1,6 +1,9 @@ SubDir OBOS_TOP src add-ons kernel drivers network ; +SubInclude OBOS_TOP src add-ons kernel drivers network stack ; SubInclude OBOS_TOP src add-ons kernel drivers network rtl8139 ; SubInclude OBOS_TOP src add-ons kernel drivers network sis900 ; SubInclude OBOS_TOP src add-ons kernel drivers network wb840 ; -SubInclude OBOS_TOP src add-ons kernel drivers network stack ; +SubInclude OBOS_TOP src add-ons kernel drivers network via-rhine ; +SubInclude OBOS_TOP src add-ons kernel drivers network rtl8169 ; +# SubInclude OBOS_TOP src add-ons kernel drivers network ipro1000 ; diff --git a/src/add-ons/kernel/drivers/network/rtl8169/Jamfile b/src/add-ons/kernel/drivers/network/rtl8169/Jamfile new file mode 100644 index 0000000000..2dbf7edfa4 --- /dev/null +++ b/src/add-ons/kernel/drivers/network/rtl8169/Jamfile @@ -0,0 +1,49 @@ +SubDir OBOS_TOP src add-ons kernel drivers network rtl8169 ; + +# set some additional flags +SubDirCcFlags -Wall ; + +# For ether_driver.h +UsePrivateHeaders net ; + +R5KernelAddon rtl8169 : kernel drivers bin : + driver.c + device.c + util.c + ; + +# Package openbeos-rtl8169-cvs : +# rtl8169 : +# boot home config add-ons kernel drivers bin ; +# Package openbeos-rtl8169-cvs : +# rtl8169 : +# boot home config add-ons kernel drivers dev net ; + +Package openbeos-networkingkit-cvs : + rtl8169 : + boot home config add-ons kernel drivers bin ; +Package openbeos-networkingkit-cvs : + rtl8169 : + boot home config add-ons kernel drivers dev net ; + +# Link driver(s) to kernel/drivers/dev/net +{ + local dir = [ FDirName $(OBOS_ADDON_DIR) kernel drivers dev net ] ; + + local instDriver = rtl8169 ; + MakeLocate $(instDriver) : $(dir) ; + RelSymLink $(instDriver) : rtl8169 ; +} + + +# Installation + +OBOSInstall install-networking : /boot/home/config/add-ons/kernel/drivers/bin : + rtl8169 +; + +OBOSInstallRelSymLink install-networking : /boot/home/config/add-ons/kernel/drivers/dev/net : + rtl8169 : + installed-symlink +; + diff --git a/src/add-ons/kernel/drivers/network/stack/Jamfile b/src/add-ons/kernel/drivers/network/stack/Jamfile index 4d13bf4381..24b090d903 100644 --- a/src/add-ons/kernel/drivers/network/stack/Jamfile +++ b/src/add-ons/kernel/drivers/network/stack/Jamfile @@ -1,6 +1,8 @@ SubDir OBOS_TOP src add-ons kernel drivers network stack ; UsePrivateHeaders net ; +UseHeaders [ FDirName $(OBOS_TOP) src add-ons kernel network ppp shared libkernelppp headers ] ; +UseHeaders [ FDirName $(OBOS_TOP) src add-ons kernel network ppp shared libkernelppp headers ] ; # a) Userland stack version: diff --git a/src/add-ons/kernel/drivers/network/stack/net_server_driver.c b/src/add-ons/kernel/drivers/network/stack/net_server_driver.c index a4d5981c34..f907f25640 100644 --- a/src/add-ons/kernel/drivers/network/stack/net_server_driver.c +++ b/src/add-ons/kernel/drivers/network/stack/net_server_driver.c @@ -15,9 +15,9 @@ #else // Public includes -//#include #include #include +#include // Posix includes #include @@ -26,6 +26,7 @@ // Private includes #include +// #include // for NET_STACK_CONTROL_NET_MODULE PPP support... #include #include @@ -683,6 +684,10 @@ set_command_areas(net_command *command) get_area_from_address(&command->area[4], args->u.sysctl.newp); break; + case NET_STACK_CONTROL_NET_MODULE: + // TODO! + break; + case OSIOCGIFCONF: case SIOCGIFCONF: { struct ifconf *ifc = (void *) args; diff --git a/src/add-ons/kernel/drivers/network/via-rhine/Jamfile b/src/add-ons/kernel/drivers/network/via-rhine/Jamfile new file mode 100644 index 0000000000..775a7317d3 --- /dev/null +++ b/src/add-ons/kernel/drivers/network/via-rhine/Jamfile @@ -0,0 +1,54 @@ +SubDir OBOS_TOP src add-ons kernel drivers network via-rhine ; + +# set some additional flags +SubDirCcFlags -Wall ; + +# For ether_driver.h +UsePrivateHeaders net ; + +R5KernelAddon via-rhine : kernel drivers bin : + entry.c + hook.c + cmd.c + mdio.c + pci.c + res.c + ring.c + util.c + ; + +# Package openbeos-via-rhine-cvs : +# via-rhine : +# boot home config add-ons kernel drivers bin ; +# Package openbeos-via-rhine-cvs : +# via-rhine : +# boot home config add-ons kernel drivers dev net ; + +Package openbeos-networkingkit-cvs : + via-rhine : + boot home config add-ons kernel drivers bin ; +Package openbeos-networkingkit-cvs : + via-rhine : + boot home config add-ons kernel drivers dev net ; + +# Link driver(s) to kernel/drivers/dev/net +{ + local dir = [ FDirName $(OBOS_ADDON_DIR) kernel drivers dev net ] ; + + local instDriver = via-rhine ; + MakeLocate $(instDriver) : $(dir) ; + RelSymLink $(instDriver) : via-rhine ; +} + + +# Installation + +OBOSInstall install-networking : /boot/home/config/add-ons/kernel/drivers/bin : + via-rhine +; + +OBOSInstallRelSymLink install-networking : /boot/home/config/add-ons/kernel/drivers/dev/net : + via-rhine : + installed-symlink +; + diff --git a/src/add-ons/kernel/drivers/network/wb840/device.c b/src/add-ons/kernel/drivers/network/wb840/device.c index 9be3375139..0df761221d 100644 --- a/src/add-ons/kernel/drivers/network/wb840/device.c +++ b/src/add-ons/kernel/drivers/network/wb840/device.c @@ -17,6 +17,8 @@ extern pci_info *gDevList[]; static int32 gOpenMask = 0; +extern void print_address(void *addr); + static status_t wb840_open(const char *name, uint32 flags, void** cookie) {