#
283db26d |
|
20-Aug-2011 |
Siarzhuk Zharski <zharik@gmx.li> |
* FreeBSD compatibility layer for network drivers is modified to handle NULL-terminated list of driver_t* entries instead of single entry. That allows to combine multiple FreeBSD drivers into single Haiku driver add-ons; * Support for DEC 21140 (Tulip) chipsets (provided by the 'de' driver) incorporated into dec21xxx driver. That brings network connectivity to Haiku systems running in MS Virtual PC VMs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42658 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7c3a8ff |
|
19-Jul-2010 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed a few regressions that were introduced during the last months: * device_attach() must not load the network stack. Besides being completely unbalanced, this was also one reason why the stack could not be unloaded anymore. Instead, it's now done in compat_open(), as before. * This also fixes network booting from FreeBSD drivers - the stack apparently could not be initialized that early. * Replaced the previous network stack based callout implementation with one that mostly copies its functionality, but has no dependencies. Furthermore, it runs at a higher priority (the one of the network timer should also be revisited, though). * Fixed mtx_owned() to work without KDEBUG as well. It's not a good idea to introduce code that behaves completely different based on debug settings. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37580 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b5b2e04 |
|
13-Apr-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Implement MSI support using the x86 specific PCI module in the FreeBSD compatibility layer. This should make some network and wireless hardware use MSIs and therefore solve issues related to interrupt sharing and wrongly advertised interrupt lines. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36225 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0a05bd20 |
|
03-Dec-2009 |
Colin Günther <coling@gmx.de> |
Removing superflous functions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34463 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2406849d |
|
27-Oct-2009 |
Colin Günther <coling@gmx.de> |
* Coding style fixes regarding whitespace usage. * Copyright style fixes. * Implemented FreeBSD hardclock subsystem, which is needed to update the ticks variable. The previous usage of "#define ticks system_time()" wasn't sufficient anymore, as there are drivers using the ticks name for local scoped variables. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33785 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
14627e08 |
|
22-Oct-2009 |
Colin Günther <coling@gmx.de> |
* reordering of headerfile inclusion to comply to FreeBSD 8 ordering. this makes porting driver (especially wifi ones) more convinient * based on FreeBSD svn revision 196691 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
30710739 |
|
29-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* compat_open() still needs to get the stack module, as the callout functionality needs it. * callout_init_mtx() now initializes the timer manually, since the stack might not have been loaded yet (since a device is now attached in init_driver()). * Minor other fixes; the FreeBSD compatibility layer should now be functional again. * Accidently put pci.c into the repository, but that was never meant to happen. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23026 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
053693ef |
|
30-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Since device_add_child() needs the name of the parent driver, the root device needs a driver_t object, too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
080b265a |
|
29-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Completely renovated the FreeBSD compatibility layer: * Removed NETDEV() and DEVNET() macros and functionality. * The exported devices are now attached to ifnet objects only, therefore, the ifnet object now has the receive queue, and everything else a device could need. * There is now a root device where everything else is attached, it currently only holds the pci_info structure, so it's more or less a PCI child. * This simplified the device handling a bit everywhere. * We now attach drivers already in init_driver() - this is needed as drivers may publish more than one interface when being attached. * Implemented device_delete_child(), device_attach() (which bus_generic_attach() now uses), device_is_attached(), and device_is_alive(). * Therefore, if_initname() does now the actual job of registering the devices. * On open, if_init() is called which comes pretty close to what our open() is supposed to do. * Updated ukphy.c to the one from FreeBSD 7 where used (we should probably move that into the compat layer, anyway). * The MII driver array must now be NULL terminated; therefore you don't need to specify the count anymore. * Moved PCI code from compat.c to bus.c. * Moved the driver code from device.c to driver.c. * Removed superfluous init_compat_layer() function. * Fixed a few bugs, a few things weren't brought down correctly. * The rtl8139 interrupt routine now checks if it really was the cause of the interrupt - this code is not tested, either, it may not work (which would then require a work-around like I did for the 3com driver). * The HAIKU_PROTECT_INTR_REGISTER in the rtl8139 driver was pretty much useless which is why I removed it. * Probably introduced a lot of new bugs, though - I haven't tested this code at all yet. It will probably just crash :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23019 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
283db26d5c13815ee18d3b4a9a51789db2fa98d2 |
|
20-Aug-2011 |
Siarzhuk Zharski <zharik@gmx.li> |
* FreeBSD compatibility layer for network drivers is modified to handle NULL-terminated list of driver_t* entries instead of single entry. That allows to combine multiple FreeBSD drivers into single Haiku driver add-ons; * Support for DEC 21140 (Tulip) chipsets (provided by the 'de' driver) incorporated into dec21xxx driver. That brings network connectivity to Haiku systems running in MS Virtual PC VMs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42658 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7c3a8ffd7434cff9662772e1fd12d336b2073ec |
|
19-Jul-2010 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed a few regressions that were introduced during the last months: * device_attach() must not load the network stack. Besides being completely unbalanced, this was also one reason why the stack could not be unloaded anymore. Instead, it's now done in compat_open(), as before. * This also fixes network booting from FreeBSD drivers - the stack apparently could not be initialized that early. * Replaced the previous network stack based callout implementation with one that mostly copies its functionality, but has no dependencies. Furthermore, it runs at a higher priority (the one of the network timer should also be revisited, though). * Fixed mtx_owned() to work without KDEBUG as well. It's not a good idea to introduce code that behaves completely different based on debug settings. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37580 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b5b2e045a5e5c6a0bac2bcab050bdf0decc4caf |
|
13-Apr-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Implement MSI support using the x86 specific PCI module in the FreeBSD compatibility layer. This should make some network and wireless hardware use MSIs and therefore solve issues related to interrupt sharing and wrongly advertised interrupt lines. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36225 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0a05bd2063fe25875e1cf0710f7182d15465df8c |
|
03-Dec-2009 |
Colin Günther <coling@gmx.de> |
Removing superflous functions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34463 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2406849d4a8bcb152bc992bc5c1c6ef51e783f4b |
|
27-Oct-2009 |
Colin Günther <coling@gmx.de> |
* Coding style fixes regarding whitespace usage. * Copyright style fixes. * Implemented FreeBSD hardclock subsystem, which is needed to update the ticks variable. The previous usage of "#define ticks system_time()" wasn't sufficient anymore, as there are drivers using the ticks name for local scoped variables. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33785 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
14627e087b920676d05d45cec5f28688744e1fdb |
|
22-Oct-2009 |
Colin Günther <coling@gmx.de> |
* reordering of headerfile inclusion to comply to FreeBSD 8 ordering. this makes porting driver (especially wifi ones) more convinient * based on FreeBSD svn revision 196691 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
30710739a3f1dfd2b0070fac62ecbdd8540ba4be |
|
29-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* compat_open() still needs to get the stack module, as the callout functionality needs it. * callout_init_mtx() now initializes the timer manually, since the stack might not have been loaded yet (since a device is now attached in init_driver()). * Minor other fixes; the FreeBSD compatibility layer should now be functional again. * Accidently put pci.c into the repository, but that was never meant to happen. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23026 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
053693ef2a932d8e9359d66977c3915084355a8c |
|
30-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Since device_add_child() needs the name of the parent driver, the root device needs a driver_t object, too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
080b265acd2f9903dcaf3d1e5076b0ecb8c20c6c |
|
29-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Completely renovated the FreeBSD compatibility layer: * Removed NETDEV() and DEVNET() macros and functionality. * The exported devices are now attached to ifnet objects only, therefore, the ifnet object now has the receive queue, and everything else a device could need. * There is now a root device where everything else is attached, it currently only holds the pci_info structure, so it's more or less a PCI child. * This simplified the device handling a bit everywhere. * We now attach drivers already in init_driver() - this is needed as drivers may publish more than one interface when being attached. * Implemented device_delete_child(), device_attach() (which bus_generic_attach() now uses), device_is_attached(), and device_is_alive(). * Therefore, if_initname() does now the actual job of registering the devices. * On open, if_init() is called which comes pretty close to what our open() is supposed to do. * Updated ukphy.c to the one from FreeBSD 7 where used (we should probably move that into the compat layer, anyway). * The MII driver array must now be NULL terminated; therefore you don't need to specify the count anymore. * Moved PCI code from compat.c to bus.c. * Moved the driver code from device.c to driver.c. * Removed superfluous init_compat_layer() function. * Fixed a few bugs, a few things weren't brought down correctly. * The rtl8139 interrupt routine now checks if it really was the cause of the interrupt - this code is not tested, either, it may not work (which would then require a work-around like I did for the 3com driver). * The HAIKU_PROTECT_INTR_REGISTER in the rtl8139 driver was pretty much useless which is why I removed it. * Probably introduced a lot of new bugs, though - I haven't tested this code at all yet. It will probably just crash :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23019 a95241bf-73f2-0310-859d-f6bbb57e9c96
|