#
97f11716 |
| 04-Sep-2022 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Merge remote-tracking branch 'origin/master' into dev/netservices
Change-Id: I588c4a840523995f820161d63741c137bc5c719c
|
#
d621ee65 |
| 14-Jun-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Move up Giant ownership during attach.
device_attach can be recursed for MIIbus drivers, so avoid the complexity and lock Giant from init_drivers() instead.
|
#
46b7da1f |
| 08-May-2022 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Merge branch 'master' into dev/netservices
Change-Id: I1eb6c2ea2fd0d794ad6378eab8bbb80ce46dfbb8
|
#
423ee7c6 |
| 25-Feb-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Adjust and rewrite attach code for USB support.
init_hardware now takes 2 devices arrays: one for PCI and one for USB drivers, respectively.
The few drivers that have their own __h
freebsd_network: Adjust and rewrite attach code for USB support.
init_hardware now takes 2 devices arrays: one for PCI and one for USB drivers, respectively.
The few drivers that have their own __haiku_handle_fbsd_drivers_list are also adjusted at the same time.
show more ...
|
#
a8523a21 |
| 25-Feb-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: PCI handling cleanup in preparation for USB support.
Should not have any functional change.
|
#
26b95c15 |
| 23-Nov-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Completely overhaul bus_dma implementation.
The old implementation was based on an ancient copy of the FreeBSD busdma code for x86, and did not make a bunch of assumptions that we m
freebsd_network: Completely overhaul bus_dma implementation.
The old implementation was based on an ancient copy of the FreeBSD busdma code for x86, and did not make a bunch of assumptions that we make basically everywhere else (for instance, that we can request arbitrarily-aligned contiguous physical memory from the VM.)
As a consequence, it had a significant amount of code devoted to bounce pages, which are just a waste of resources on x86, and for that matter, probably any other architecture Haiku will ever be ported to. (Even if we do need to run on some system where only a small portion of system memory can be accessed by devices, likely we would reserve that memory for just this occasion anyway.)
I was initially under the impression that the bounce-pages code never turned on, but apparently due to the "alignment" check (and also the "Maxmem" check, which was to defined to 32KB...?!) it does indeed activate on a variety of systems, and maybe (in the case of drivers that do not call sync() properly) even is the cause of some of our ported driver breakage.
The new implementation is pretty much optimized for Haiku, and shares almost no code or structure with the old one (save for a few functions that really only have one proper implementation.)
Tested with ipro1000 and rtl81xx. Regressions are more than possible, so please don't hesitate to file bugs if your network driver now fails to come up (or you get KDLs.)
show more ...
|
#
d906fe3c |
| 20-May-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Allocate a new root device for every attach.
This also means that when attach fails, we destroy the root device. This should fix stale root devices getting left around when attach f
freebsd_network: Allocate a new root device for every attach.
This also means that when attach fails, we destroy the root device. This should fix stale root devices getting left around when attach fails.
Probably helps with or even outright fixes #15016.
show more ...
|
#
3001575d |
| 08-Jan-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Add child drivers directly rather than finding symbols.
This method is much less error-prone than the prior one, as that required the driver structure to have an exported symbol ide
freebsd_network: Add child drivers directly rather than finding symbols.
This method is much less error-prone than the prior one, as that required the driver structure to have an exported symbol identical to its "name" field, a fact that is usually true but not always (we've had an ifdef in the atheroswifi driver for a while now due to this.)
So when we have it, we now just use the driver_t* directly, which should push any of these problems from the run-time stage to the compile-time stage. It's also a significant performance improvement.
show more ...
|
#
8e67fd0b |
| 08-Jan-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Unreserve the PCI device on error or driver removal.
|
#
db4f8332 |
| 03-Jan-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Reinstate _fbsd_init_hardware and refactor probing.
Previously we just probed and then immediately attached if any devices were found, after all initialization was done. Now we cann
freebsd_network: Reinstate _fbsd_init_hardware and refactor probing.
Previously we just probed and then immediately attached if any devices were found, after all initialization was done. Now we cannot do that, as after calling SYSINIT() on certain drivers (e.g. the new ipro1000 driver), certain threads will be created that there is no good way of tearing down.
Fortunately, it is valid to call probe() on a device before SYSINIT() (and most other things) have been initialized, and so now we do that in init_hardware, and then init_driver is called only if we've found devices we support.
While we're at it, also call pci->reserve_device, which will mark us as the driver handling said device and prevent other drivers from using it.
show more ...
|
#
da60a673 |
| 01-Jan-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd_network: Implement SYSINIT.
Based on the already-existing linkersets framework, which seems to work pretty well for the atheroswifi driver, so it should work for this case also.
|
#
dba28784 |
| 25-Dec-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
freebsd11_network -> freebsd_network.
FreeBSD 12 has no major changes to the ifnet KPIs that constitute a source compatibility break, save a single one related to locking which doesn't really apply
freebsd11_network -> freebsd_network.
FreeBSD 12 has no major changes to the ifnet KPIs that constitute a source compatibility break, save a single one related to locking which doesn't really apply to us, and so we don't need to create a "freebsd12_network" directory to work through the upgrades.
show more ...
|
#
fc3b9496 |
| 15-Oct-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
freebsd_network: probes each driver and only attach the best probe.
* related bug #10088.
|
#
d61f592d |
| 29-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
freebsd_network(): call uninit_hard_clock() on uninit
Not uninstalling the timer hook could lead to a crash after unloading/ reloading the driver.
|
#
c14bca29 |
| 13-Sep-2013 |
François Revol <revol@free.fr> |
Merge branch 'master' into sam460ex
|
#
cf70d345 |
| 12-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade to Mesa 9.2).
Conflicts: build/jam/BuildFeatures build/j
Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade to Mesa 9.2).
Conflicts: build/jam/BuildFeatures build/jam/HaikuImage build/jam/OptionalPackages build/scripts/build_cross_tools_gcc4 src/add-ons/opengl/swpipe/Jamfile src/apps/diskusage/Jamfile src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/Jamfile
show more ...
|
#
8f5dbad6 |
| 01-Aug-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
FreeBSD compat layer: root->softc needs to be zeroed, not root.
|
#
d66a9a60 |
| 31-Jul-2013 |
Jerome Duval <jerome.duval@gmail.com> |
FreeBSD compat layer: init the struct root_device_softc.
Should help to fix things for devices without MSI or with MSI-X.
|
#
19ae20e6 |
| 05-Nov-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'master' into pm-flat
Conflicts: build/jam/HaikuImage build/jam/OptionalBuildFeatures build/jam/OptionalPackages build/jam/UserBuildConfig.sample data/bin/installoptionalpackage s
Merge branch 'master' into pm-flat
Conflicts: build/jam/HaikuImage build/jam/OptionalBuildFeatures build/jam/OptionalPackages build/jam/UserBuildConfig.sample data/bin/installoptionalpackage src/apps/deskbar/DeskbarMenu.cpp src/servers/debug/DebugServer.cpp src/system/kernel/fs/vfs.cpp
show more ...
|
#
283db26d |
| 21-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 sin
* 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
show more ...
|
#
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 c
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
show more ...
|
#
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 interrup
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
show more ...
|
#
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 tic
* 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
show more ...
|
#
14627e08 |
| 23-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:/
* 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
show more ...
|