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
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
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.
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
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
Minor bug fixes.
fd_close() now doesn't have to call remove_fd() anymore - it's now called
in user|sys_close(), fd_close() is now only called in the last put_fd().
Cleanup, improved debug output (without any warnings).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@266 a95241bf-73f2-0310-859d-f6bbb57e9c96
manager module. As time goes on we can start fleshing these out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@217 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed some bugs in fd.c (how many more bugs can be in a small file like this? :-).
Added the syscalls for sys_open_dir(), and sys_create_dir().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@209 a95241bf-73f2-0310-859d-f6bbb57e9c96
functions. sys_create() now returns an fd of the open file (some code in the
kernel shell already depend on this).
Moved the seek functions to fd.c.
Updated all internal file systems to a new and updated API.
vfs.c is not cleaned up well, but also has some bug fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@208 a95241bf-73f2-0310-859d-f6bbb57e9c96
the warnings about sem_info and port_info (defined in kernel/OS.h)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@128 a95241bf-73f2-0310-859d-f6bbb57e9c96
Remove the iso9660 stuff from the build as it's no longer being
maintained and never did anything anyways :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@98 a95241bf-73f2-0310-859d-f6bbb57e9c96
use of the IOCPARM_LEN() macro to the ioctl() function in libc.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@61 a95241bf-73f2-0310-859d-f6bbb57e9c96