Commit Graph

17957 Commits

Author SHA1 Message Date
Michael Lotz
17f83b219d * Switched from the old v2 callback status codes to the new v3 codes
This means that the usb_callback_func now takes a status_t instead of a uint32 status.
Also the error codes are now different. I don't see this as a real problem in binary compatibility, as the status codes were never really documented and most drivers just assumed that a nonzero status meant an error.
Source compatibility breaks for callback functions and error defines. I fixed (hopefully) all places in the tree that are currenty included in the image and affected by the change.
* Corrected error reporting in UHCI and EHCI using the new status codes.
* Fixed a memory leak in EHCI where the async advance interrupt was not triggered in time.
* Fixed another race condition in usb_raw that could cause a crash when a device is removed while a transfer is pending.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-24 20:17:56 +00:00
Michael Lotz
8a278a1bb7 * Fixing my previous attempt at fixing cookie handling. Device addresses cannot be used, since there may be devices with the same address across different busses. A linked list of usb_driver_cookies is maintained now that relates devices and cookies.
* Fixed endpoint halt clearing. The data toggle has to be reset when we clear a stall.
* Now using up to B_PAGE_SIZE * 4 sized buffers in EHCI. They are split automatically by the host controller. This further pushes throughput.
* Optimize memory allocator settings for the above case. Enlarging it's managed space to 1MB
* Ignore the transaction error bit in EHCI. It is only of informational character as it also idicates errors that were recovered automatically. If an unrecoverable error occures, other bits will indicate this.
* Fixed some more print formats in debug output.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-24 15:30:04 +00:00
Jérôme Duval
9f6275e0e4 fixed build for gcc4, from eNigMa
tested also for gcc2.95


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-23 22:02:21 +00:00
Michael Lotz
4205612012 * Made usb_raw more robust and correct when handling rescans and adding/removing devices
* Fixed warnings when debug output is on
* Disabled debug output

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-23 17:28:34 +00:00
Michael Lotz
90b9fb4fbc * Fixed notify cookie handling. There is not one cookie per device, but one per device/driver combination
* Fixed SetFeature/ClearFeature/GetStatus for interfaces by adding the respective interface number
* Added driver rescanning mechanism (taken from bin/rescan)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-23 17:24:23 +00:00
Jérôme Duval
c4cc0591f1 fixed some warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-23 14:05:40 +00:00
Jérôme Duval
0de38aa00b added needed symbols for gcc4 linking
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-23 14:01:49 +00:00
Bruno G. Albuquerque
7676dedf57 Fixed live query notification for new files being created. It seems using Inode::GetName() in the middle of a transaction is not a good idea.
Axel, can you check if we really need to keep the old code there as it is now or if we can
completelly remove it? I think we can but maybe there is some case I did not consider.


		// We have to special-case the name attribute here because
		// Inode::Getname will return NULL as we are in the middle
		// of the transaction at this point when a new file is
		// created. We just use newKey which happens to contain
		// the new file name anyway.
		//
		// TODO: Check if there is any sense in leaving this if
		// statement as it is or if we can completelly remove the
		// original code.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-22 02:55:54 +00:00
Marcus Overhagen
a3487fdca2 fix broken build (errno was undefined)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 15:57:37 +00:00
Marcus Overhagen
9993ff374a load stage 2 image at address 1MB and execute it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 15:53:43 +00:00
Jérôme Duval
9da04493a9 return errno on open() error
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 13:17:35 +00:00
Jérôme Duval
ee670e9ce2 simplified syntax
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 13:05:39 +00:00
Jérôme Duval
80f3aa2d2b style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 13:04:59 +00:00
Jérôme Duval
74ef7b9cb8 forgot these files, gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 12:39:49 +00:00
Jérôme Duval
310afb92a6 fixed gcc4 build: these modules stdc++ headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 12:35:21 +00:00
Jérôme Duval
03f56b4655 fix build with gcc4 because of libstdc++
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 12:31:46 +00:00
Jérôme Duval
c332e7f74e fixed build for R5 : now uses inttypes.h because it's present on R5 also
HaikuBuildCompatibily.h exposes INT64_MAX based on limits.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 12:29:49 +00:00
Niels Sascha Reedijk
5fe9705942 Fix the fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 08:21:55 +00:00
Niels Sascha Reedijk
1a2f476148 Build broke in r18896. Fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 06:57:22 +00:00
Andrew Galante
86780a1f7f Revamp of the net_buffer code, using a datastore. I removed the data_header struct, but this means having to malloc() all the data_node objects - There may be a speed benefit in storing these in a datastore as well. As a consequence, most of the buffer functions are much simpler, if recursive at times. I don't see this as a big problem, as most buffers will only utilize a few data_nodes at a time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 02:54:47 +00:00
Andrew Galante
b425ce77ad A helper datastructure for network buffers. Defines a fixed-size region of same-size data blocks, and maintains a reference count for each
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 02:40:20 +00:00
Marcus Overhagen
46564600a4 Fixed server IP detection. Implemented TFTP file size request and connection setup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 02:15:39 +00:00
Michael Lotz
7145ff1705 * Implemented compatibility workaround for BeOS to be able to write user memory from the kernel finisher thread
This fixes crashing of the USB Mass Storage driver under R5.  It is fully working there now.
I hope to be able to do this more cleanly under Haiku though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-20 21:12:51 +00:00
Ithamar R. Adema
d912bed187 Fix signature of network preference app
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-20 18:20:53 +00:00
Jérôme Duval
3347e0c60b links against stdc++ as it could be needed depending of the cpp headers implementation
found by eNGIMa on gcc4


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-20 15:53:55 +00:00
Jérôme Duval
7d725e0df4 added weak symbols for inet_addr and inet_ntoa, normally exported by libnet.so
should be enough for bug #860, feel free to drop them if a libnet.so is created


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-19 16:17:02 +00:00
Jérôme Duval
d75882bf8b finally add a good tmpfile function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-19 14:31:40 +00:00
Jérôme Duval
13510b4105 added oldtmpfile.c to libroot.so, hopefully should fix bug #857
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-19 13:41:01 +00:00
Jérôme Duval
992b9b2b8f improved tracing handling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-19 11:41:15 +00:00
Jérôme Duval
65afc3a011 also dump group and session ids
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-19 09:40:09 +00:00
Jérôme Duval
46a7b50c3b try to better handle signal for teams
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 22:51:07 +00:00
Marcus Overhagen
b8759025a9 PXE stage 1 bootloader for Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 21:51:07 +00:00
Jérôme Duval
0f15994178 fixed style
added copyright header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 14:31:11 +00:00
Jérôme Duval
64b776286e reordered declarations to match ACPI.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 13:36:54 +00:00
Jérôme Duval
edf0dccab5 added missing api_version symbol
fixed debug output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 13:24:05 +00:00
Jérôme Duval
a0e9b7d3ee added canna method in an optional directory of the HD image, for testing purpose
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 12:25:36 +00:00
Jérôme Duval
c49e0c68b0 dropped a useless arg of the KernelAddon rule, hope I don't mess anything
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 10:02:13 +00:00
Marcus Overhagen
5c7f19a073 new boot platform
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-18 00:19:11 +00:00
Marcus Overhagen
5858929e12 fixed previous fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 17:49:30 +00:00
Marcus Overhagen
891a127fec various gcc 4 related build fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 17:34:22 +00:00
Marcus Overhagen
3ec18e87d6 various GCC 4 build fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 15:08:41 +00:00
Stefano Ceccherini
d67b1efc99 Fixed broken endlines. This breaks a bit more 'password mode', but it wasn't 100% working yet anyway
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 13:34:15 +00:00
Marcus Overhagen
dad360027a switch back to local system gcc headers, the outcome is similar unuseable
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 13:32:53 +00:00
Stephan Aßmus
fd49bce12e * For DrawBitmap(), the bitmap rect needs to be aligned onto pixels
just like the view rect. This fixes bug 721.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 11:55:23 +00:00
Marcus Overhagen
6636d6b74f fixed two warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 01:06:23 +00:00
Marcus Overhagen
20e1d3e5e2 added _Unwind_* to make the gcc 4 linker happy, but I'm not sure if this is the correct way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 00:05:21 +00:00
Marcus Overhagen
12cf623f5c unified callback parameter definition of size_t and uint32, now uses size_t
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 23:35:26 +00:00
Marcus Overhagen
82029bdae8 added missing nothrow parameter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 23:25:56 +00:00
Marcus Overhagen
0ff6a5fd11 removed __declspec
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 22:44:35 +00:00
Marcus Overhagen
274b450ab8 gcc 4 only: modified the previous change to allow fallback to local C++ system headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 22:25:49 +00:00