Commit Graph
683 Commits
Author SHA1 Message Date
Axel Dörfler 81c323a767 unregister_elf_image() didn't call unregister_image(), so images never got
unregistered.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:30:18 +00:00
Axel Dörfler d14f9aac93 Cleanup to better match our coding style guide; renamed variables, etc..
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:29:19 +00:00
Axel Dörfler 7e323e80d6 Kernel images are now registered, so the ToDo item is fulfilled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:27:59 +00:00
Axel Dörfler a364fba7d4 Is now using a hash for the images instead of a singly linked list.
Now registers its images as it should do (so you can use commands like
listimage in userland).
Added new debugger command "image".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:18:02 +00:00
Axel Dörfler 11a5baaf67 Updated the private kernel image API to be more efficient (no longer needs
to acquire the team spinlock).
Renamed the user syscalls to the new style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 15:04:36 +00:00
Axel Dörfler fd1f6b7f01 Fixed a bug in elf_load_kspace(): the image structure and the pheaders were
freed in the wrong order in case of an error (could have crashed the kernel).
Implemented insert_preloaded_images() which prepares the preloaded images
for later use in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 14:22:00 +00:00
Axel Dörfler 797647691a elf_region already had a field to store an area_id; we now use this one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 13:54:13 +00:00
Axel Dörfler 1f4fa35b00 Now creates text/data areas for all preloaded images.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 19:02:41 +00:00
Axel Dörfler c396c39fc5 Changed the "stat" related syscalls to have an additional parameter that specified
the size of the stat structure to allow extensions of that structure.
Renamed those syscalls to the new naming scheme.
Updated the syscalls to support stat extensions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:33:17 +00:00
Axel Dörfler 7a7c7d9c2f Added current device manager built-in modules - the device manager itself will
probably be available as public kernel API as well (or rather, only).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:29:47 +00:00
Axel Dörfler 9bd10a87c7 The device manager is now initialized as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:28:21 +00:00
Axel Dörfler 8d1b721ad5 Added device_manager to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:27:20 +00:00
Axel Dörfler 6aed83b39c Removed all references of pnp_bus.h (its contents are now temporarily included
in device_manager.h).
Fixed some comments.
Removed realpath() from probe.c for now - mechanism will be changed, and that
prevented it from being built as part of the kernel; it's currently not functional.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:26:42 +00:00
Axel Dörfler 38fdd0ca47 node_lock variable was replaced by gNodeLock (in nodes.c).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 00:25:43 +00:00
Axel Dörfler b36321870c Renamed some global static variables to match our style guide.
Changed some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 00:09:21 +00:00
Axel Dörfler 1792829685 Fixed prefix handling; previous version was broken. It now allows the prefix to
be any size, not just full path names (even without the file name...). Optimized
it to only traverse paths that match the prefix.
The built-in modules now honor the prefix as well.
Renamed module_iterator::path_stack to stack.
The system add-on path was even wrong (but that didn't matter yet, as we're
still do a recursive search for modules).
The user add-on path now matches the real one - but that should probably be
retrieved from calling find_directory(), anyway...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 00:02:20 +00:00
Axel Dörfler 0a4a7dee30 open_module_list()/read_next_module_name() now take built-in modules into account as well.
The prefix will obviously ignored currently!
Fixed get_next_loaded_module_name(); it will now work correctly (doesn't check, though,
if the module is currently loaded...).
Removed the module_test() function - doesn't belong here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 00:41:19 +00:00
Axel Dörfler 3ad71e9d7e Rearranged the device_manager init/module stuff; it's now initialized from
main, not by getting the module any longer.
It now also creates the root node directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-07 00:34:00 +00:00
Axel Dörfler 637f662399 The node lock was missing in action.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-07 00:32:45 +00:00
Axel Dörfler e5d9d14f90 Added the root node of the device tree to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-07 00:16:46 +00:00
Axel Dörfler df0dd8a5dd Removed test code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-06 01:44:14 +00:00
Axel Dörfler f7e706a409 Separated initialization of standard file systems from boot file system.
team_create_team() now uses the B_NORMAL_PRIORITY constant instead of the number directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-06 01:27:34 +00:00
Axel Dörfler 7f79432203 Separated the bootstrapping of the standard file systems from the boot file
system - it's now mounted a bit later.
Renamed vfs_register_filesystem() to vfs_register_file_system().
Changed return codes to status_t where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-06 01:25:36 +00:00
Axel Dörfler b14f8b5746 Removed some debug output (it's not only dumped if TRACE_ROOTFS is defined).
Updated the debug stuff a bit, fixed debug build.
Renamed vfs_register_filesystem() to vfs_register_file_system().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-06 01:23:58 +00:00
Axel Dörfler c947b674ee Renamed vfs_register_filesystem() to vfs_register_file_system().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-06 01:22:33 +00:00
Axel Dörfler 91d62d9f6a Removed stuff that's no longer necessary due to the stdio.h switch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-05 16:38:32 +00:00
Axel Dörfler 1bf27bb166 Removed no longer needed files from the Jamfile (they've never been part of the repository anyway).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-02 17:05:51 +00:00
Axel Dörfler b80d229ec2 Managed to compile all other needed files from the main device manager.
Added all of them - module_loader.c and boot_hack.c won't be needed anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-02 17:04:25 +00:00
Axel Dörfler fe01b8fa14 Start of the integration of Thomas' pnp_manager (which is now called device_manager).
Nothing is tested right now, and it's not yet complete, but it's changed so that
it does compile in our tree (and looks a bit more like the other files, too).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-30 16:42:58 +00:00
Axel Dörfler a44e28cc02 Fixed a possible buffer overflow condition in vfs_get_module_path().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-28 11:20:19 +00:00
Axel Dörfler caa910df64 Changed some function return codes to return a status_t where appropriate.
Removed all old NewOS error codes.
Cleaned up the includes a bit.
Now prints out a list of preloaded images.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-27 11:55:31 +00:00
Axel Dörfler ef44862bfd Now creates the usual links /bin, /tmp, /var, /system, ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-26 21:46:01 +00:00
Axel Dörfler 52b6744e8d bootfs now implements the read_fs_info() hook - it mostly reports a volume
name ("OpenBeOS").


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-26 21:43:12 +00:00
Axel Dörfler 179fd09879 Removed the unused argument from module_init().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-26 21:04:06 +00:00
Axel Dörfler 4b5782942c Removed the unused argument from module_init().
Implemented the possibility for built-in modules - they have to be listed
in sBuiltInModules in module.c to be registered automatically.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-26 21:02:27 +00:00
Axel Dörfler 04ba0ff394 Implemented support for the module_dependency structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-26 17:13:36 +00:00
Axel Dörfler 9fac193453 Partially implemented get_system_info(), courtesy of Jack Burton.
Added system_info.c to the build.
Added stats support functions to sems & ports.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 22:57:39 +00:00
Axel Dörfler 8af4cf5fba Replaced addr with addr_t.
Some minor other cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 01:28:40 +00:00
Axel Dörfler 185df3d6bd Added a comment about why we are copying the passed in kernel args.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 01:25:23 +00:00
Axel Dörfler c93599a8ae Replaced addr with addr_t.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:47:52 +00:00
Axel Dörfler 7b1a988f65 Fixed a warning due to the change in elf_priv.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:46:39 +00:00
Axel Dörfler d018f3568f Implemented rename_thread() and _user_rename_thread() (as pointed out by Jack Burton).
The syscall is not yet connected, and the code has not yet been tested.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-06 21:38:45 +00:00
Axel Dörfler 2b75cca8d2 Added a dummy implementation of call_all_cpus() that will at least work on
single CPU machines.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-30 13:05:24 +00:00
Axel Dörfler 725c92923a Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-28 23:52:11 +00:00
Axel Dörfler 1ed3192432 find_command() did not return NULL if it couldn't find a command, courtesy
of Jack Burton.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-23 15:42:39 +00:00
Axel Dörfler 56c7aeaee8 Fixed a typo, thanks to Jack Burton for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-23 15:37:48 +00:00
Axel Dörfler 6e1d8b671a Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:30:43 +00:00
Axel Dörfler 0f00c4fff9 Renamed global variables to match our coding style guide.
Removed thread_kill_thread_nowait().
Renamed thread_init_percpu().
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:29:45 +00:00
Axel Dörfler bd3f643494 Renamed thread_init_percpu() to thread_per_cpu_init().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:28:08 +00:00
Axel Dörfler 0cec1c047b No longer calls thread_kill_thread_nowait() but sends the signal directly
(because the former function doesn't exist anymore).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:25:43 +00:00