haiku/src
Augustin Cavalier 26b95c15f2 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.)
2019-11-22 22:19:43 -05:00
..
add-ons intel_extreme: fix vblank interrupt for Ironlake 2019-11-21 21:11:54 +01:00
apps Terminal: Add semantic + shortcut to increase font size 2019-11-22 23:27:12 +00:00
bin [hey] - Fix overflow issue found by LGTM 2019-11-14 16:57:06 +00:00
build BKeymap: Add unit tests and fix issues 2019-08-20 07:49:49 +00:00
data fix detection of video/mp4 files via sniffer rule 2019-10-12 18:26:40 +02:00
kits Tracker: fix fall back to bitmap icon 2019-11-22 23:25:51 +00:00
libs freebsd_network: Completely overhaul bus_dma implementation. 2019-11-22 22:19:43 -05:00
preferences Locale prefs: Select items after drag and drop 2019-11-22 23:27:53 +00:00
servers net_server: Fixed overwriting wrong interface config 2019-11-21 08:06:33 +01:00
system kernel/m68k: Fix a few build regressions around types 2019-11-03 03:50:32 +01:00
tests fixed btrfs_shell 2019-10-08 18:57:27 +02:00
tools HaikuRemoteDesktop: Added font face/monospace support 2019-10-05 18:36:09 +02:00
Jamfile Interface Guidelines: migrate to docs/, use DocBookCSS. 2015-02-12 17:08:04 -05:00