This fixed a lot of ongoing segfaults which were both intermittent
and unpredicatble.
Also improve some logic so we take a shorter path in simple_module_info
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@323 a95241bf-73f2-0310-859d-f6bbb57e9c96
Essentially the code that the net stack used. the code is based on the
hash impl. in APR, that was itself based on a large number of different
people's efforts and various papers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@322 a95241bf-73f2-0310-859d-f6bbb57e9c96
that the net stack used but works in a different way than the existing code,
and has proved useful in the modules code where it cured the strange
segfaults that were being produced in seemingly random and unpredictable
places.
the naming could be improved :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@321 a95241bf-73f2-0310-859d-f6bbb57e9c96
Remove some duplicated build options
Comment out the beos section as it's not really of interest to people
not working on the modules/device code :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@320 a95241bf-73f2-0310-859d-f6bbb57e9c96
- make pci into a true module now.
- the pci module builds and keeps a linked list of devices it finds, with
a filled in pci_info structure
- pci module detects (at runtime) whcih config mech to use, though to date
only mech 1 is implemented
- pci module does sanity check and warns if it fails
- config manager loads pci module and calls get_nth_pci_info to iterate
through the list printing details
- pci is no longer called directly from the bus init function
there is still lots to do and I've tried to make sure that there are plenty
of comments in the pci.c file. I've also left the previous code in
place until we move on a little further when it will be removed.
This has been working with no problems on my system and doesn't change
any functionality as we don't have any devices that need PCI in our build
yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@319 a95241bf-73f2-0310-859d-f6bbb57e9c96
Move the building of the test apps into this dir's Jamfile as it seems
to make more sense that way. I'll be removing them from the one in
kernel shortly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@318 a95241bf-73f2-0310-859d-f6bbb57e9c96
thing dir_vnode_to_path().
But beware, it's not yet working correctly - will fix it later, I have no
time anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@315 a95241bf-73f2-0310-859d-f6bbb57e9c96
benaphores; benaphores aren't that beneficial in kernel land, the benaphores
are a way to reduce the number of kernel calls.
They can now only be released by the same thread who originally acquired it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@312 a95241bf-73f2-0310-859d-f6bbb57e9c96
benaphores; benaphores aren't that beneficial in kernel land, the benaphores
are a way to reduce the number of kernel calls.
They can now only be released by the same thread who originally acquired it.
Included other changes geist (change 1499) did to a) fix some bugs, and
b) reflect the changes made to the mutexes.
Cleaned the files a bit up, all the commented dprintf()s in elf.c are now
deactivated through a macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@311 a95241bf-73f2-0310-859d-f6bbb57e9c96
"fixes" (at least changes :-)) the calculation of the processor speed.
Also included some of geist's earlier changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@303 a95241bf-73f2-0310-859d-f6bbb57e9c96
change for the DispatchEvent() function. This will allow the input_server
to work with the current proto6 code in the cvs tree. It may even work
with the existing proto5.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@297 a95241bf-73f2-0310-859d-f6bbb57e9c96
remove_debugger_command() added.
Fix cmd_gdb() prototype according to new debugger command one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@290 a95241bf-73f2-0310-859d-f6bbb57e9c96
increase the length of names we can use for adding things to the floopy,
but it didn't work. Still, these changes seem to make sense.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@284 a95241bf-73f2-0310-859d-f6bbb57e9c96
a load of comments explaining why it does the things it does.
In the get_module code we now correctly
call the init function, which was being missed before if we got
the module via search_module.
If people can test and confirm this works. It works here and has solved
all the issues I was trying to fix.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@276 a95241bf-73f2-0310-859d-f6bbb57e9c96
Provide more info when a duplicate module name is detected during a scan.
Remove some code we no longer use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@274 a95241bf-73f2-0310-859d-f6bbb57e9c96