The OHCI stuff was done by Jixt (thanks)./installusb
All is still very much work in progress
Patches applied:
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--base-0
tag of Niels.Reedijk@gmail.com--haiku-2005/usb-busses--mainline--0.1--base-0
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-1
Set the PORT_STATUS_LOW_SPEED flag correctly (using the register bitflag for low speed devices, instead of the proper lowspeed flag)
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-2
Clean up transfers when they're done
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-3
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-4
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-5
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-6
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-7
Remove obsolete ehci.c
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-8
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-9
Completed memory allocation + initialization
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-10
First attempt at performing control transfers - failed miserably
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-11
Trying to read a 16bit value into a 8bit integer, stupid
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-12
nicer way of getting the base io address
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-13
Take over control from BIOS
* Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-14
Revert change for disabling USB BIOS support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11743 a95241bf-73f2-0310-859d-f6bbb57e9c96
Patches applied:
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--base-0
tag of Niels.Reedijk@gmail.com--haiku-2005/usb-busmanager--mainline--0.1--base-0
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-1
Start device addition procedure when a new device is connected
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-2
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-3
Create transfers on the heap.
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-4
Transfer supports synchronous and callbacks
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-5
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-6
Give Pipes a notion of what type they are
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-7
Improve the handling of speed within pipes
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-8
Add a new member to the transfer in which the hostcontroller can store private data
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-9
Made some changes inspired by a mail from Marcus Overhagen
* Niels.Reedijk@gmail.com--nielx-2005/usb-busmanager--development--0.1--patch-10
Fixed memory allocation model
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11741 a95241bf-73f2-0310-859d-f6bbb57e9c96
server accepts input (r5 method). This doesn't work yet, though, as our
input_server fires up the event loop too early.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11731 a95241bf-73f2-0310-859d-f6bbb57e9c96
just create an attribute directory.
Removed the now unnecessary UNSAFE_GET_VNODE lines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11724 a95241bf-73f2-0310-859d-f6bbb57e9c96
bfs_inode::InitCheck() tested INODE_NOT_READY before making sure the block is
an inode at all, resulting in spurious "inode is not becoming unbusy" errors.
Since there is now publish_vnode() we don't even have to return B_BUSY at all
anymore, though - INODE_NOT_READY is no longer used at all.
bfs_inode::etc is no longer used either (and for the same reason).
Inode::Create() no longer locks the whole volume, but only the write lock
of the parent directory (if any).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11723 a95241bf-73f2-0310-859d-f6bbb57e9c96
can now just do what it's supposed to do, even the bfs_inode::etc pointer is
no longer used.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11722 a95241bf-73f2-0310-859d-f6bbb57e9c96
hold the lock and still call subsequent Lock() and LockWrite() without
the deadlock penalty.
Added another constructor to WriteLocked so that you can also pass NULL
to it (in this case, nothing happens, of course :)).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11720 a95241bf-73f2-0310-859d-f6bbb57e9c96
function publish_vnode(). When calling new_vnode(), the node is only
reserved, but not yet accessible for others. Only when you call
publish_vnode(), it will become available. That simplifies new node
handling/locking considerably.
Note, you don't have to call new_vnode() before publish_vnode(); ie.
publish_vnode() acts exactly like new_vnode() did before if used that
way.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11719 a95241bf-73f2-0310-859d-f6bbb57e9c96
* user_debug_break_or_watchpoint_hit() into separate functions for
break- and watchpoints. The one for breakpoints gets another parameter
which indicates whether the breakpoint was a soft- or hardware
breakpoint. This info is also sent to the debugger.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11714 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Changed the index-based lookup of strings for debug message and
exception codes to a search through entry lists. A bit slower, but more
robust with respect to changes of the underlying enumerations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11713 a95241bf-73f2-0310-859d-f6bbb57e9c96
changes.
RootLayer.cpp: window tab was properly lit only when changing focus with
the mouse. Now the same happens when showing or hidding windows.
Desktop.cpp: normal windows created after floating windows did not had
B_FLOATING_APP_WINDOW_FEEL windows in their internal list, thus when such
a window was selected to become the front most it did not show floating
app windows in front of it. Fixed that now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11710 a95241bf-73f2-0310-859d-f6bbb57e9c96
(there's a separate B_DEBUGGER_MESSAGE_EXCEPTION_OCCURRED now).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11707 a95241bf-73f2-0310-859d-f6bbb57e9c96
condition when the traced team exits, but this seems to be a inherent
problem. The thread that calls _kern_exit_team() apparently still manages
to send the post-syscall message, but when the debugger tries to continue
it, it is already gone. Not really harmful. We'll probably find a remedy
later.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11706 a95241bf-73f2-0310-859d-f6bbb57e9c96
* No longer kill the time when a page fault occurs, but rather send a
SIGSEGV.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11705 a95241bf-73f2-0310-859d-f6bbb57e9c96
of a signal.
* Added sigaction_etc(). It's just a sigaction() for which the thread
in question can be specified.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11704 a95241bf-73f2-0310-859d-f6bbb57e9c96
not to be notified.
* Added debugger commands for setting/getting of thread signal ignore
masks and signal handlers.
* Renamed user_debug_fault_occurred() to a more correct
user_debug_exception_occurred(). It no longer sends a `stopped' message,
but the new one dedicated to exceptions. Additionally the number of the
signal is supplied that will be sent, when the thread continues (without
indicating to ignore the event).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11703 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added support for debugger handover. The current debugger need to send
a B_DEBUG_MESSAGE_HANDED_OVER message. The rest is completely
transparent to the new debugger. It simply calls install_team_debugger().
* Implemented _user_wait_for_debugger().
* Reworked a few bits to ensure that after a remove_team_debugger() or
after requesting a debugger handover the debugger doesn't get any more
messages.
* When the debugger is removed or dies, the debugged threads should now
cleanup their debug info and continue, instead of waiting at their
debug port forever.
All the new features are not tested. Will happen, when gdb will be
debugged.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11697 a95241bf-73f2-0310-859d-f6bbb57e9c96
(new `flags' parameter, flag B_WAIT_TILL_LOADED). This is the default
behaviour for load_image(), so it behaves like R5's implementation now,
i.e. errors while loading are reported to the caller.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11696 a95241bf-73f2-0310-859d-f6bbb57e9c96
* We no longer notify the debugger about a new image when it is registered,
but when it has been relocated.
* When the application image has been relocated, we notify the one who
initiated its loading.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11694 a95241bf-73f2-0310-859d-f6bbb57e9c96
it actually meant.
* Refactored the image initialization process (init_dependencies()) a bit.
topological_sort() is now more flexible.
* The image relocation is now done by relocate_dependencies(). The order
of relocating the images is the same as the initialization order, so
that the app image is the last to be relocated. After having relocated
an image the kernel is notified.
* The FATAL() macro has another parameter, an error code now, and calls
the new syscall _kern_loading_app_failed() instead of _kern_exit_team().
So the error can be reported to the team that called load_image().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11688 a95241bf-73f2-0310-859d-f6bbb57e9c96
second time for already loaded libraries, when a library/add-on is
loaded.
* image_t features now both, a path and a name. The name is the DT_SONAME,
if present, the leaf name otherwise.
* Modified find_image() to compare both path and name, if necessary.
Added a type mask parameter to specify what image types one is
interested.
* Refactored open_container(). We now also support DT_RPATH, a dependency
search path list that can be specified for the dependencies of a shared
object.
* Extended [un]load_library() to support add-ons.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11685 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When the target is a symlink, it is tried to be resolved before making
the decision what to do.
* If the (resolved) target is a file and the source is a file, we don't
fail anymore, if `-f' wasn't specified. We truncate the target file
instead and copy the source data into it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11683 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also removed team::user_env_base: environment variables are now changed on the app's heap.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11672 a95241bf-73f2-0310-859d-f6bbb57e9c96
malloc() currently cannot be used in initialize_before() in libroot.so,
and therefore a _after() call has been added for this.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11670 a95241bf-73f2-0310-859d-f6bbb57e9c96
made it thread-safe, although this is not required by POSIX.
Implemented unsetenv(), improved putenv().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11668 a95241bf-73f2-0310-859d-f6bbb57e9c96
added macros to use our standard posix call when possible instead of prefixed versions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11651 a95241bf-73f2-0310-859d-f6bbb57e9c96
generic files are used by archs with source search feature of Jam when no specialized version exists
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11643 a95241bf-73f2-0310-859d-f6bbb57e9c96
Jonas Sundstrom. I've worked over it so that it complies to our style
guide, and also has a better error handling/reporting (ie. errors are
now always printed and redirected to stderr).
Also changed command options - it's now using getopt_long(), and not
that weak mechanism it used before.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11640 a95241bf-73f2-0310-859d-f6bbb57e9c96
team IDs are now equivalent in Haiku, we don't need to print both.
Also, team paths are now truncated to fit into the list to give a better
visual appearance.
Added two options to turn off truncating and to show the team name
(instead of full path) only.
Applied our style guide, replaced C++ streams with nicer stdio stuff
(formatted output is not that nice in C++).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11638 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed a couple dozens of drawing problems (like multiple channels not drawn in the right place) and implemented the needed scripting functionalities into MessageReceived().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11637 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added some musings about what is missing, when a debugger is removed and
how _user_wait_for_debugger() shall be supported.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11636 a95241bf-73f2-0310-859d-f6bbb57e9c96