Commit Graph

4870 Commits

Author SHA1 Message Date
François Revol
3d5bdb8688 Added a keep_port_ownership driver setting for EHCI, to allow keeping devices on EHCI instead of giving them up to the 1.0 controller.
Hopefully this will get things working here until OHCI is implemented.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-24 21:45:11 +00:00
Philippe Houdoin
9a36f03a87 Forgot to include this essential - being the fallback one - opengl renderer add-on in the opengl factory package.
This fixed #1193.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-24 21:34:35 +00:00
Philippe Houdoin
8f53078de4 Added smallest skeletons of future nvidia and radeon OpenGL renderers.
For the moment, these two just does a quick check for nvidia or radeon drivers been loaded and running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-24 21:29:01 +00:00
Hugo Santos
6580fd3848 Stylus cleanupus.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 21:48:31 +00:00
Hugo Santos
77bf99deb0 fixed the way accept() works in regards to the cookie pointer. It is no longer visible to userspace, we pass the fd instead. Also renamed kernel's shutdown() to system_shutdown as it collides with Posix's shutdown().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:56:40 +00:00
Hugo Santos
be2f6ac347 net_device_interface: remove redundant fields
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:56:16 +00:00
Hugo Santos
fe0ab2867a tcp: no longer need recursive locking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 08:21:09 +00:00
Hugo Santos
969885b848 loop: no longer requires a reader thread, it delivers directly to the device's receive queue
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 07:56:15 +00:00
Hugo Santos
a1deb55ef5 net_interface_private: added receive queue and splited device reading from packet processing. Delivering to self no longer is executed in the sender's context, which had some problems with TCP's locking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 07:55:54 +00:00
Axel Dörfler
7e4dc23a7e * Applied patch by Jan Kloetzke - thanks!:
- possible panic in the directory retrieval code because of an invalid
    transaction ID. This should fix bug #1025.
  - could not been mounted read-only as it was always getting writable
    blocks from the cache.
  - dosfs_access() tested for O_RDONLY instead of W_OK.
* Added TODO comment about always using writable blocks: this is highly
  inefficient.
* Some code cleanup to make it a tiny bit more complying to our coding
  style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 07:54:57 +00:00
Hugo Santos
1b2db790c0 e1000: disabled the excessive debug output since the driver is already working here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 04:00:00 +00:00
Hugo Santos
d3d38faf41 net_buffer: prevent modules from messing with metadata too much
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 03:48:57 +00:00
Hugo Santos
79a0d25245 net_buffer: preparing for better metadata management
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 03:48:23 +00:00
Jérôme Duval
57f13ad210 added a translator for HPGL/2 files based on HPGS. It handles .hp2 files
This builds only with GCC 4, mostly because the code is C99 compliant only


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-22 22:32:50 +00:00
Axel Dörfler
065e318429 * Inode::Create() now has a "_created" parameter that will be set to true in case a
node has been created - this is now used in bfs_create() to suppress the new entry
  notification in case the file already existed.
* Implemented parameter parsing in bfs_initialize() - does not work in the new bfs_shell
  though, as it currently misses driver_settings functionality.
* Attribute::Create() and Attribute::Open() will now honour O_TRUNC correctly.
* Note: Inode::WriteAttribute() still follows R5 semantics for small_data attributes
  in this regard and must be fixed (I've opened ticket #1242 for this).
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-22 13:19:44 +00:00
Axel Dörfler
f77a87bfa4 * Implemented persistence storage of attributes and name changes - it's able to
read the files the BeOS cdda wrote, but it handles attributes completely different.
* All attributes are now stored per CD.
* There are some special shared attributes between all CDs (or a specific device)
  to improve your Tracker experience.
* An existing buffer is now used to fill a read request.
* Lots of other small changes here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-22 09:23:00 +00:00
Axel Dörfler
37593af284 Fixed a memory leak in _SplitNode() spotted by Stefano - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-22 09:07:58 +00:00
François Revol
fb5cc637bf Do the mappign now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-22 00:14:17 +00:00
François Revol
690f1e786e /dev/[misc/]mem driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-21 23:24:10 +00:00
Stephan Aßmus
2fb3526f33 after talking on the phone with Axel how to fix this driver's repeat key problem,
I found a simpler and actually correct way to fix it...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-21 14:51:07 +00:00
Michael Pfeiffer
e4ee835fc2 Fixed bug #1231. Update text rectangle when view is resized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-20 19:48:33 +00:00
Hugo Santos
98eb7f44f3 TCP: getsockopt was missing. fixes #1225
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-20 17:02:27 +00:00
Ithamar R. Adema
633b979176 Basic SoundBlaster 16 (ISA) driver, designed to be used with QEMU, but should become usable on real hardware too. Very much a work in progress, based on the sb16 driver available for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-19 17:22:27 +00:00
Ithamar R. Adema
641541a4f3 * Fix some bad error handling
* Plug some leaks
* Initial code for input/output bus discovery



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-19 16:37:23 +00:00
imker
354543fa8b ANSI color switches removed from the log. Looks like not supported now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 20:06:45 +00:00
imker
f5f8df45bf That's one small step for man... ;-)
- module interface was changed to be compatible with Haiku API.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 20:05:38 +00:00
Ithamar R. Adema
fa48b9d885 Fixed the problem of not being able to work from Haiku. The main problem was that although the multi_audio API on BeOS hands the driver the settings as made in the Media prefs, the Haiku one just gives maximum values and assumes the driver will scale the values down. I didn't do that.
If you run Haiku on HDA hardware, you should have sound now too! :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 11:16:05 +00:00
Ithamar R. Adema
abc3549242 * Made code more Coding Guidelines compliant
* Fixed several sem/area leaks when restarting media services.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 08:23:42 +00:00
Ithamar R. Adema
9432d60991 Fixed:
* Prepare code for exposing multi_audio interface on Audio Function Group level
	* Some minor cleanups.
Todo:
	* Publish devfs entries based on available Function Groups instead of HDA cards.
	* Publish all mixer controls / output busses through multi_audio interface.
	* Make recording work :)
	* Check why we need 4096 samples to play ok.
	* Figure out problems with driver on Haiku... currently only successfully tested on R5.

As you can see, plenty of things left to do, but progressing nicely. At least people can have sound on R5 now!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 02:43:12 +00:00
Ithamar R. Adema
7c8482e991 * Count samples, not bytes, stupid :P
* Don't try to bypass semaphore counting, it should just work(tm)
* Minor cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 21:43:15 +00:00
Axel Dörfler
66eba86f4b * Applied patch by Jonas Sundstrom: fixed the usage of B_UTF8_ELLIPSIS hopefully
everywhere in the tree.
* Added the ellipsis to "About Haiku" in Deskbar as well.
* Minor cleanup of Deskbar's StatusView.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 16:34:09 +00:00
Axel Dörfler
8536d82fb6 * The WAV header is now created correctly (mixed up endian of the fourcc members)
* More or less fixed reading - it now works nicely when you copy the file to the
  hard drive first, but MediaPlayer cannot handle the files directly from CD for
  some reason yet to investigate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 15:09:45 +00:00
Axel Dörfler
90c18b97c9 Implemented reading from CD and prepending a fake WAV header - not yet tested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 09:19:42 +00:00
Axel Dörfler
12ed6d2195 * Made the code that reads the table of contents of the CD a bit more failsafe.
* Implemented disk scanner to automatically identify the volume.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-15 21:21:01 +00:00
Axel Dörfler
e8113cabe0 * Implemented attribute handling - you can change them, but they are not stored yet.
* Implemented CDDB ID computation (that's what BeOS's cdda-fs is using).
* Some other minor changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-15 17:33:05 +00:00
Axel Dörfler
40897d3964 * Moved cdda_text test application to the test directory, and separated it from cdda.cpp.
* Implemented most of the directory retrieval functions of the file system; even renaming
  titles should work now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-15 00:51:35 +00:00
Ithamar R. Adema
b0d9cd6f66 * Delete all local copies of multi_audio from source tree.
* Change name of header for Haiku specific multi_audio to hmulti_audio (in line with the rename of the media addon itself)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-14 02:37:14 +00:00
Ithamar R. Adema
2a3d3b7ad6 * More buffer (cycle) handling
* Locking of stream info.
* Add compile-time support for Haiku/BeOS multi_audio API.

TODO: Need to check out why we have multiple (different) multi_audio.h files floating around in the source tree....



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-14 01:23:36 +00:00
Ithamar R. Adema
7de9382792 * Set clock values based on card type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 22:41:03 +00:00
Ithamar R. Adema
551c7edafd * Make response argument to hda_send_verbs able to handle NULL, in case we don't care for the response
* Minor tweaking to buffer handling, which seems to fix the "distorted audio" probs I was having :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 20:19:54 +00:00
Jérôme Duval
0e3568d2ab sorted correctly hda :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 19:17:08 +00:00
Ithamar R. Adema
89db0a5bf7 *** WARNING: UNSTABLE CODE AHEAD :P ***
This is the first (sort-of) working incarnation of the High Definition Audio driver. This
driver still has quite some way to go before coming to a point that we could call it stable
and useful, so please use with care. It has been developed on R5, so it might even become
useful for people still stuck on R5.

This driver was inspired by both the BSD work on HDA support, as well as our own dr_evil's 
work on the ich_ac97 driver.

Before you start bugging me about completing the driver, or adding features, please capture
the serial debug output and mail it to ithamar AT unet DOT nl, including hardware details,
and success/failure descriptions.

As a last note, DasJott, if you're reading this, the first music it played was... 
'Prodigy: Smack Your Bitch Up' :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 17:04:45 +00:00
François Revol
830d967717 added CamdDevice::WaitFrame() which will be needed to rewrite teh producer frame generator thread
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:56:01 +00:00
François Revol
61064c3bea Better locking: CamDevice::Start/StopTransfer() should be called with lock held.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:48:04 +00:00
François Revol
c589dbfc72 use __BASE_FILE__ to get shorter file paths.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:38:22 +00:00
François Revol
941a89598d update (c) years
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:34:50 +00:00
François Revol
7f2c1e802f fix crash in debug info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-11 22:21:29 +00:00
Axel Dörfler
ff2a7d86f8 Start of a CDDA file system (replacement for cdda as part of BeOS):
* doesn't do anything useful yet, but it compiles (and should be mountable).
* CDDA test app "cdda_text" will dump the table of contents as well as eventually
  existing CD-Text - if I had known only so few titles in my collection would come
  with those, I probably wouldn't have gone through it (if the samples I used are
  representable, it's about 1/10th of the CDs I have) :-)
* cdda_text compiles on BeOS, so if you have known CD-Text CDs, please test it
  and report eventual problems - the test app already tries to beautify the names
  as much as possible. Usage is "cdda_text <path-to-raw-device>".
* The test app will be removed later, so better test now ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-11 12:25:02 +00:00
Axel Dörfler
6be1e37d94 * Cleaned up SCSI headers a bit.
* scsi_cmds.h declared several variables instead of naming enums.
* the CD-ROM standard retrieval was broken (always checked index 0).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 14:13:37 +00:00
Hugo Santos
d1c9c9d4b4 rtl8139exp: lock the softc when re-enabling interrupts so we don't in the middle of a disable/enable interrupts operation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:38:20 +00:00
Hugo Santos
18c80ff054 3com driver, added required MII modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:33:49 +00:00
Hugo Santos
8a43628971 freebsd compat. layer: some missing definitions as well as allowing multiple MII modules per driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:03:24 +00:00
Hugo Santos
abb7cffa2f rtl8139 (FreeBSD version): added rlphy miibus support, needs testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 04:53:02 +00:00
Hugo Santos
a300c4e4e1 added FreeBSD 6.2's if_rl (rtl 8139) driver. Mostly original source, just a minimal change to protect the interrupt mask register to more freely enable and disable device interrupts. This driver is still not working, MII support is left, should come soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:48 +00:00
Hugo Santos
2a275df505 freebsd compat. layer: a couple more definitions, minimal, mostly adding a new glue method to re-enable device interrupts since if_rl (rtl 8139) will require it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:13 +00:00
Hugo Santos
5538a25de7 it seems jam prefer SubInclude to be on the bottom of the Jamfile. suggested by Jerome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:52:14 +00:00
Hugo Santos
7d1e0a1da9 freebsd compat. layer: fixed a couple warnings, use KernelStaticLibrary as suggested by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:49:05 +00:00
Hugo Santos
6ef02a6c21 added FreeBSD 6.2's 3Com 3c90x Etherlink XL PCI driver. The compat. layer still needs a couple things for this one to work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:41 +00:00
Hugo Santos
50de974ebb added FreeBSD 6.2's Intel Pro 1000 driver to the tree (original source, unchanged).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:14 +00:00
Hugo Santos
45b5203b78 network stack: getsockopt/setsockopt are no longer optional for protocols, as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 12:57:00 +00:00
Axel Dörfler
6386c723a5 Applied patch provided in ticket #1218 - should enable nVidia 7100 GS cards. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 12:02:49 +00:00
Hugo Santos
b6ace498dd freebsd compat. layer: added a requirements field so not all drivers init all subsystems. pcnet for instance doesn't need taskqueues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:48 +00:00
Jérôme Duval
e477dd1845 now polls the link status for older revisions of bcm440x
inversed active status


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:27:56 +00:00
Hugo Santos
a0a553caa3 tcp: allow TCP_NODELAY to be set
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 15:38:33 +00:00
Axel Dörfler
7f61f501cf We now respond to TCGETA to let isatty() think we're a terminal which caused our libroot to use unbuffered I/O.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 00:01:51 +00:00
Jérôme Duval
d752ee3be8 added missing ioctl for handling link state change. I noted it's not supported on my bcm440x chipset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 18:08:55 +00:00
Michael Lotz
34cbbba798 * Reworked userland buffer access functionality into two functions in the Transfer class to not duplicate code in each HCD
* Use these functions in UHCI and EHCI which greatly reduces overhead on fragmented transfers as the vector conversion and area cloning is only done once
* Use the PrepareKernelAccess() function before submitting fragments which fixes the crash when trying to access the next fragments buffer in user memory from the kernel thread

This should fix bug #1167 which could be encountered when sending data to a mass storage device with an application that uses a large enough transfer buffer size.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 17:57:30 +00:00
Michael Lotz
562328e70a Fixed wrong cancelling algorithm. This is what you get when you "rework" an existing function without thinking it through again... Thanks J Jerome for noticing\!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 16:58:00 +00:00
Jérôme Duval
40fd232817 implemented CancelQueuedTransfers for uhci
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 14:08:30 +00:00
Axel Dörfler
3bef51f0ae * Removed unused code when USER is defined - the fs_shell no longer does this, but
provides a kernel emulation layer.
* Renamed all private BPlusTree methods to have the '_' prefix.
* Removed useless set_sem_owner() from Lock.h - all semaphores created in the kernel
  always belong to the system team automatically.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 12:26:21 +00:00
Axel Dörfler
68f08f67f5 * Fixed a bug introduced with big-endian fixes in r17557; the super block's blocks_per_ag
field was always 1, and therefore, the last allocation group could grow too large.
  Thanks to Samuel Rodriguez Perez for reporting the error (bfs_shell was crashing on
  larger images).
* Minor cleanup in BlockAllocator::_Initialize().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 10:56:40 +00:00
Hugo Santos
80df11254f freebsd compat. layer: now both receiving and sending work with PCNET.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:28:38 +00:00
Hugo Santos
e2941f52fd freebsd compat. layer: couple fixes, sending now works with PCNET. enabled ifmedia_ioctl, and when opening a device, set it down, change media to ETHER/AUTO and set it back up so it sees a IFF_UP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 03:20:58 +00:00
Hugo Santos
0bdff52467 freebsd compat. layer: instead of disabling the IRQ, disable the device's interrupts on real interrupt request as suggested by Travis. This solves potential issues with shared IRQs. The check & disable interrupts function is part of the required glue code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 22:40:19 +00:00
Michael Lotz
4b3d0fcfda Implemented transfer cancelling for EHCI by reworking the previously unused CancelPendingTransfer() into CancelQueuedTransfers() with the pipe based semantic.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:55:26 +00:00
Michael Lotz
3dc77d1dc9 Prepare cancelling transfers from the stack side. The actual handling will happen in the HCD modules where transfer management has to be done anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:22:12 +00:00
Michael Lotz
a49633c222 * Moved around some initialization to avoid problems when deleting incompletely created objects
* Also move waiting for the first explore to run through out of the constructor to reduce delays
* Remove the old device when a new one is connected to the same port - this could happen when you very quickly un- and replug a device

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:17:00 +00:00
Michael Lotz
3f2288a41b Fixed wrong deallocation of device resources which caused KDL when unplugging devices with more than one interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 12:48:38 +00:00
Hugo Santos
3d09a7e4e8 Added FreeBSD 6.2's PCNET driver (original source, no modifications). It's what i'm using to develop and test the compat. layer right now, since it's one of the possibly devices VMWare emulates. although probe() already works, there's still a lot of work ahead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 00:47:39 +00:00
Hugo Santos
62a21143be fixed a race condition in TCP's WaitList Wait/Signal that was preventing Connect() from awake when it should. Reported by Francois Revol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 18:43:30 +00:00
François Revol
ec8bd525ca Add api_version.
Moved #define DEBUG after the lock.h include, as it wants to find lots of header I'm too lazy to track.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 14:35:01 +00:00
François Revol
232467aa4e Hook virtual/ to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 14:33:49 +00:00
Hugo Santos
8c5520d67a use a appropriate naming for structure fields.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 12:04:34 +00:00
Hugo Santos
968afe3f95 renamed fxp to ipro100.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:27:11 +00:00
Hugo Santos
785e7ef7dd renamed TCP's TSval/TSecr
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:27:00 +00:00
Hugo Santos
336ce7039c freebsd compat. layer: some initial glue code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:26:37 +00:00
Axel Dörfler
a5667a5b8b * Renamed nv.driver to "nvidia", nm.driver to "neomagic", and mga.driver to "matrox";
also renamed their accelerants and settings files accordingly.
* Added Mandelbrot and GLDirectMode as demo applications.
* Moved CortexAddOnHost to /bin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 07:49:53 +00:00
Ingo Weinhold
122723c33b Unbreak the build. No idea what that was supposed to mean. No Jamfile
(exceptions might be obscure ones in src/tests/...) should directly refer
to anything outside of the build system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 07:39:01 +00:00
Axel Dörfler
8c40c83fa1 Renamed net_device::{add|rem}_multi() to {add|remove}_multicast for consistency and clarity.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 06:57:26 +00:00
Hugo Santos
246b7a47b9 Added FreeBSD's 6.2 fxp driver (Intel Pro Express 100) to the source tree (original source, no modifications). It already builds and links but it is still a bit far from working.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 21:42:09 +00:00
François Revol
835ec57dc2 Fix building in Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 21:18:45 +00:00
François Revol
ff517f433e Only publish configured devices.
Implemented write(). Not sure it works as it KDLs here on shutdown :^)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 20:38:09 +00:00
Jérôme Duval
65c84f154b clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 20:30:11 +00:00
Jérôme Duval
7743c49897 added support for B_RGB32
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 20:29:05 +00:00
François Revol
7f66887bc3 (not working) kludge to allow mountign with a single connection in BeOS (mount open()/close() twice).
Implement correct settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 14:40:42 +00:00
François Revol
a0062874c5 512 as block size. Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 06:37:38 +00:00
François Revol
3ca76df52e Implemented request funcs. Done read(). It's working \o/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 06:06:10 +00:00
François Revol
637cbfeeef Add debug output.
Implement connect/teardown.
Added a workaround for BONE wanting to keep locked pages around when connect() fails (TCP teardown-> "trying to delete area in use!"). But doesn't seem to wait long enough.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 03:37:04 +00:00
François Revol
771c6b9355 Locking for Haiku & R5. Init stuff (driver_settings, not finished). open/free().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 01:08:36 +00:00
Jérôme Duval
218b5bbcc3 clean
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 19:04:44 +00:00
Axel Dörfler
b8db3933b1 Fixed a bug reported by Stippi: when a report from the USB device contained a key up
and a key down event at the same time, the key repeat timer didn't work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 16:48:21 +00:00
Michael Pfeiffer
ce3a2228e7 Changed __ZETA__ to B_BEOS_VERSION_DANO as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 15:46:25 +00:00
Hugo Santos
f6cfc5af19 set ValueIterator's fIndex to the next slot so OpenHashTable's Iterator properly gets it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:08:55 +00:00
Hugo Santos
2b1c2dd349 when 0 is specified as the interface index with the generic multicast delta API, the stack should select an interface for the application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 12:41:00 +00:00
Hugo Santos
ab7e05a39b also dump filter mode and sources in 'ipv4_multicast'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 12:40:50 +00:00
Hugo Santos
7015d5deaa couple fixes to make MDR addons build with gcc 4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 10:57:27 +00:00
François Revol
e96eef09e4 Find the device and point the cookie to it on open().
Comment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 01:04:36 +00:00
François Revol
4d1cc41eb3 skeleton for an fmap driver (IMAGE.BE). Start of an Network Block Device driver. NBD server python script I foundon the net for testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 00:38:45 +00:00
François Revol
55b368036c don't provide get_vnode_name as we don't know how to do it. just set it to NULL and let the VFS handle it.
This should fix oddities in Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 00:22:39 +00:00
Hugo Santos
09b89797af added ADDMULTI/REMMULTI support to ipro1000. Also cleaned up the compat. layer a bit to reuse some of the system's definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 00:10:00 +00:00
Marcus Overhagen
96575d053e delay device publishing by 1 second, for better testing of possible input server race condition
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 23:03:40 +00:00
Marcus Overhagen
512d703b90 reduce timeout to 150ms inside close hook, the mouse might already be gone
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 19:57:18 +00:00
Hugo Santos
bbcf6596ec select the default interface to be used for multicast through a routing table query.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 15:15:47 +00:00
Hugo Santos
dfc2cabe43 call the callbacks with ->next (...)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:57:26 +00:00
Hugo Santos
89361fb14e ethernet_device's add_multi/rem_multi now call into the driver using the ETHER_ADDMULTI/ETHER_REMMULTI ioctls.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:41:44 +00:00
Hugo Santos
954038303d added add_multi/rem_multi to net_devices. Glued the interface protocol multicast handling with net_device via add_multi/rem_multi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:26:03 +00:00
Hugo Santos
8465a06910 added a ValueIterator to MultiHashTable to present a limited view in result of Lookup()s.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:16:36 +00:00
Hugo Santos
8aa4c7e370 prepared the ipv4 multicast code for full multicast support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 11:38:59 +00:00
Hugo Santos
1a41adbcd2 added join_multicast/leave_multicast to datalink protocols, preparing for full multicast support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 11:38:39 +00:00
Michael Pfeiffer
5d1514bdd9 Replace ostringstream with BString.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 07:58:54 +00:00
Michael Pfeiffer
f57432d8c2 Support building on Zeta with BeIDE or make.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 07:54:40 +00:00
Hugo Santos
73f1548be1 some getsockopt/setsockopt and multicast fixes.
* allow an ipv4 bind() to a multicast address.
 * bumped getsockopt/setsockopt kernel driver buffers to 256 bytes to at least handle structures which take one sockaddr_storage.
 * convert generic multicast delta API names to IPv4 ones before handling the specific option.
 * changed ipv4_getsockopt/ipv4_setsockopt a bit as the code gcc 2.95 was generating was a bit too funky.
 * properly pass setsockopt/getsockopt to handling protocols.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 19:42:12 +00:00
Axel Dörfler
d3437fec0e * Fixed warnings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:57:00 +00:00
Hugo Santos
0086fe2095 possibly fix to #1190, the endpoint wasn't being unlinked on Free().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:04:38 +00:00
Hugo Santos
57967505c2 fixed getsockopt/setsockopt callchains. also fixed the cleanup of multicast filters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:32:08 +00:00
Hugo Santos
3df919a7a0 added 'ipv4_multicast' debugger command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:31:57 +00:00
Hugo Santos
0e30c21c70 ipv4: changed the multicast filter to use an hash table to keep source states.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:31:31 +00:00
Jérôme Duval
eb58b5e020 now uses _get_key_map() and check offsets against the size of the array
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 10:09:06 +00:00
Jérôme Duval
e7e4c08faf starts monitoring after recursive scanning
node monitoring requires the node directory to exist
this fixes PS2 keyboard node monitoring when unpublishing/publishing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 09:53:31 +00:00
Hugo Santos
6b783773bf use OpenHashTable in IPv4's MulticastGroups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 20:55:33 +00:00
Hugo Santos
15945a11c6 added 'tcp_endpoints' and 'tcp_endpoint' debugger commands.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 19:30:20 +00:00
Hugo Santos
cf5d9f4b8d added 'udp_endpoints' debugger command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 19:03:06 +00:00
Marcus Overhagen
f7c789146d Filter bad mouse data. This prevents random jumping of the cursor, as observed on some systems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 17:05:07 +00:00
Ingo Weinhold
9d6c014f66 Added very basic volume initialization support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 07:20:58 +00:00
Marcus Overhagen
f0fa19ce73 Implemented a kernel debugger command to force republishing of a ps2 device, to allow input server debugging using vmware.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 00:12:05 +00:00
Marcus Overhagen
81d40ece27 Implemented a workaround for broken hardware, multiplexed mouse port 0 will be ignored if it's not working after 100 ms
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:46:15 +00:00
Marcus Overhagen
22a5099144 Added an optional timeout to ps2_dev_command,
Changed hotplug handler to use the republishing service.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:44:43 +00:00
Marcus Overhagen
ad6c0f399b implemented republishing of devices with a 2.5sec delay. However, the new device isn't noticed by input server, don't know why.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:42:45 +00:00
Hugo Santos
11b5020f2f rewrote the object cache (slab) implementation a bit, preparing for further integration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:53:58 +00:00
Marcus Overhagen
3294d37f01 attempt to fix bug #1185
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 14:29:56 +00:00
Hugo Santos
4e8a1b331f miniature cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 09:37:26 +00:00
Jérôme Duval
7a93cf5a82 fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 19:52:43 +00:00
Marcus Overhagen
9a8812999e improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 17:04:36 +00:00
Hugo Santos
f1a5bab268 while iterating through the endpoint table, only do so for the port in context.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 15:59:31 +00:00
Hugo Santos
9cd3b980fd fixed a long standing binding issue with spawned sockets and TCP. also fixed bind() address checking rules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 15:49:00 +00:00
Hugo Santos
342444bc95 replaced TCP's Endpoint Manager manual handling of endpoint lists with MultiHashTable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 15:06:41 +00:00
Hugo Santos
e2200e347d call ProtocolSocket::Open() for accept()ed sockets. This fixes a regression introduced earlier today.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 14:47:43 +00:00
Ingo Weinhold
87ac9f1d46 Fixed boot loader BFS build which I broke with my recent changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 14:31:18 +00:00
Ingo Weinhold
c391f84b2c * Prepared the BFS sources to be used with the new FS shell:
- Moved all inclusions of system headers into a new
    system_dependencies.h header, which conditionally either includes
    these or the FS shell headers.
  - Fixed compiler warnings related to printf-like functions (int32 is
    int, not long on non-BeOS platforms).
* Build a new bfs_shell. Compiles and links, but does nothing ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:25:49 +00:00
Hugo Santos
727ad0b0a5 completed UDP's locking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 11:30:03 +00:00
Ingo Weinhold
5b1cb74b86 Even more correct return value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 10:47:21 +00:00
Ingo Weinhold
93ed453113 More correct return value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 10:45:57 +00:00
Hugo Santos
40bbf8600e made UDP use OpenHashTable for the endpoint table, part of the lookup is now inlined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 08:07:45 +00:00
Hugo Santos
5084c83901 addressed Axel's suggestion regarding SocketAddress' GetPort() name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:20:43 +00:00
Hugo Santos
25a2744f9e adapted UDP to use AddressUtilities, for readability.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:10:11 +00:00
Hugo Santos
c72ab92d84 adapted UDP to use ProtocolSocket which it already derived through DatagramSocket.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:10:03 +00:00
Hugo Santos
4b55736dde added new helper ProtocolSocket. Moved some stuff together to achieve better inlining.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:09:46 +00:00
Marcus Overhagen
e3c5e99110 comment changed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 18:43:37 +00:00
Hugo Santos
5d6551d69f removed some of the slab's initial heavy debugging. we now merge the links into the slab itself resulting in zero overhead per buffer with MergedLink strategy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 15:40:53 +00:00
Hugo Santos
e6fb3d3947 more slab fixes, also introduced a new strategy optimized for medium sized buffers (64 >= x < 512) with lengths other than power of 2 (has an overhead of 2 words per buffer).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 11:38:24 +00:00
Hugo Santos
dd89ad0e7e added locking to slab's Cache<>. Now we react to system's low memory conditions freeing up empty slabs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 07:31:19 +00:00
Hugo Santos
457b03ecb4 net_buffer is the first user of the new slab allocator, let's see how it goes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 06:05:23 +00:00
Marcus Overhagen
fc92527647 added some workarounds for haiku, needs to be fixed later...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 22:22:21 +00:00
Marcus Overhagen
2b30a321fe Workaround for bug report #1175. This is hardware bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 21:28:45 +00:00
Marcus Overhagen
b0b3cab0fd improved stream format detection
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 20:58:09 +00:00
Hugo Santos
77e70865e1 moved the storage requirements (i.e. ParentType *) to OpenHashTable's Definition which we now instantiate per OpenHashTable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 19:21:06 +00:00
Hugo Santos
226bb7a9d4 fixed a nice C-induced issue which was making us rewrite stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:55:27 +00:00
Hugo Santos
2586c25e31 use Chaining in OpenHashTable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:55:05 +00:00
Jérôme Duval
f96df43ff5 code style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:34:20 +00:00
Jérôme Duval
43404c50c4 open() fails with -1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:19:25 +00:00
Hugo Santos
66a4a42802 added Recv-Q/Send-Q output to netstat.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 17:41:18 +00:00
Hugo Santos
585195c28d introduced SocketAddress wrappers and use them in TCP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 17:41:01 +00:00
Hugo Santos
a1a9e858a2 tiny TCP cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 16:28:20 +00:00
Hugo Santos
53f23f85a2 partially rewrote TCP's endpoint manager. Fixes #1173
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 16:14:14 +00:00
Axel Dörfler
c845a2964e Don't try to write back symlinks that don't have a data stream. This fixes bug #1179.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 16:12:42 +00:00
Axel Dörfler
1d63cfdc5b Now makes use of the new block_cache_etc() function to sync data streams without a file cache attached.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 12:11:21 +00:00
Axel Dörfler
5c03270bea Added block_cache_sync_etc() that allows you to sync single blocks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 12:07:30 +00:00
Axel Dörfler
cb0572cac5 * Changed Inode::WriteAttribute() so that it no longer reads from the old
attribute when its size was 0 - this also fixes calling Index::Update()
  with invalid values, and therefore bug #1178.
* Style cleanup: honour 80 column limit a bit more, use doxygen style comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 10:47:24 +00:00
Marcus Overhagen
0f87fab03a fixed small memory leak, added debug output to close hook
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 21:47:04 +00:00
Marcus Overhagen
099c5d288c reproduceable testcase for bug #1168
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 21:41:24 +00:00
Jérôme Duval
7cfdfca2e2 GLView :
window_bounds are now coordinates of the view on the screen (was the window before)
this eases dramatically the drawing of the clip from the buffer
now allocates m_clip_info whenever needed as some apps call EnableDirectMode() after DirectConnected(), ie GLTeapot.
MesaSoftwareRenderer:
implemented DirectConnected() support in Mesa Software Renderer
tested with GLTeapot on QEmu, B_RGB16 mode only


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 17:37:51 +00:00
Hugo Santos
f8486a0219 fixed an issue where a TCP connection would fail if the first expected segment of data was lost. Reported by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 16:14:35 +00:00
Axel Dörfler
8b4bb46952 "Ported" wavelet denoising code from dcraw - not tested, probably won't work yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 22:23:53 +00:00
Hugo Santos
006e498fa9 transmit our timestamp in network order. Fixes a problem with sending data to Linux and BSD hosts which Travis helped debug. Also only update SRTT when data has been acknowledged.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 22:15:20 +00:00
Marcus Overhagen
849f7af437 a test driver for driver testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 19:09:08 +00:00
Marcus Overhagen
fcb9bdc0c9 added Jamfile for dvb.media_addon and fixed compilation problems after refactoring
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 19:03:05 +00:00
Marcus Overhagen
175eb4f0de A BMediaDecoder wrapper that uses a callback for GetNextChunk()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 19:00:15 +00:00
Hugo Santos
39faeeba38 when sending pure ACKs, use an artificial window of 0.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-21 03:11:05 +00:00
Hugo Santos
204aa45b0b allow window updates to be sent after consuming data from the receive buffer. This fixes an issue where people were experiencing hangs in TCP downloads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-21 02:37:17 +00:00
Hugo Santos
f1b088e623 fixed an issue with TCP where it possibly could not recover from a retransmission as the RCV.NXT was wrongly updated. When appending data we now set it to the sequence in the end of the receive queue.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 23:18:06 +00:00
Hugo Santos
739e994278 TCP: added SACK definitions and option processing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 20:50:24 +00:00
Hugo Santos
530017c6c9 check option length when processing TCP options.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 19:04:08 +00:00
François Revol
d6532617dc Fix (again) the tokens used to parse google's brain dead html code. Why are they swapping class and href in the <
a/> tag anyway ???


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 15:22:50 +00:00
Hugo Santos
c70d3bafd3 more TCP fixes, we should now be able to send large amounts of data through congestioned links.
- fixed BufferQueue's RemoveUntil.
 - reset SND.NXT on third duplicate ACK (fast retransmit).
 - on retransmit reset SND.NXT to SND.UNA (it will be updated back when we get good ACKs).
 - fixed effective window calculation.
 - relaxed SWS checking a bit, don't send partial packets on retransmission as the window might have been reduced due to congestion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 09:21:55 +00:00
Hugo Santos
8a819b17e4 retrieve the incoming interface on the domain_receive_adapter(). This should fix potential issues with packets addressed to the IP broadcast address, such as in with some DHCP implementations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 04:40:53 +00:00
Ingo Weinhold
40844fe526 Ouch! sleep() != snooze()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 02:17:03 +00:00
Hugo Santos
74b0e85845 merged a bit more of functionality into DatagramSocket so we don't require a custom ReadData in the link protocol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 02:13:54 +00:00
Hugo Santos
2445c00e64 some internal reorganization of getsockopt()/setsockopt() handling. TCP is now able to fully use the application requested sender/receiver buffer sizes for improved performance.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 01:58:14 +00:00
Waldemar Kornewald
727b80e38e Fixed a memory leak.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 18:21:19 +00:00
Hugo Santos
421a4def57 some TCP tweaks.
- check the effective window against the flight size.
 - start the RTT estimates relatively high.
 - introduced a TCP PROBE debug message for offline processing and TCP debugging.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 10:23:04 +00:00