Commit Graph

902 Commits

Author SHA1 Message Date
Axel Dörfler
38e937ca8e Removed superfluous htons()/htonl() functions (we already have the
standard byte order functions in the kernel).
Small cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:49:06 +00:00
Axel Dörfler
5cc177f4d6 Replaced all "addr" with "addr_t".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:58:18 +00:00
Axel Dörfler
52823d0c3d Added debugger command for dumping all symbols of the specified kernel image.
Fixed warnings when compiled with TRACE_ELF.
Changed elf_lookup_symbol_address() to returning more useful information.
It now also scans the extended debug symbol table if present - for now, this
only works with preloaded images except the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:47:34 +00:00
Axel Dörfler
73e40f2d6e Small hack to get create_area() to create valid r/w areas in the kernel
(in BeOS, all kernel areas are r/w).
If you use B_READ_AREA/B_WRITE_AREA flags, you make the area readable
or even writeable from userland!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:43:57 +00:00
Axel Dörfler
9d9a07acd8 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:41:39 +00:00
Axel Dörfler
4a88dcb2cd Changed the "sc" output to be more useful.
Now uses the extended possibilities of the elf_lookup_symbol_address() call.
Fixed a bug in dbg_stack_trace(); it could crash at the top most stack frame.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:40:43 +00:00
Stefano Ceccherini
0bedbce52c Fixes the build when TRACE_SCHEDULER is defined
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-27 14:46:10 +00:00
Axel Dörfler
6d7ccae449 Separated exported from private functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-26 15:11:39 +00:00
Axel Dörfler
5aacd7f134 Fixed the PPC kernel build; now in sync again with the changes made
to arch/thread.h and arch/smp.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-25 16:33:47 +00:00
Axel Dörfler
0865e4b204 Added syscall for rename_thread(), courtesy of Jack Burton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 12:12:58 +00:00
Stefano Ceccherini
9b167d37f1 Added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 09:06:20 +00:00
Stefano Ceccherini
389b7216d6 Fixed "team" debugger command (should be the last one)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-21 10:17:08 +00:00
Axel Dörfler
adbaa7817e It's now B_MAX_CPU_COUNT rather than SMP_MAX_CPUS.
Removed unused headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 09:42:13 +00:00
Axel Dörfler
f9ba8a1b61 Last patch was broken, thanks to Jack Burton for notifying me.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-17 10:01:17 +00:00
Axel Dörfler
70cdc7af60 If you call get_fd_and_vnode() you need to free it with put_fd(), not
put_vnode() - thanks to Ingo for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-16 11:55:42 +00:00
Axel Dörfler
0b8a2c94ce Introduced sUsedPorts/sUsedSems variables that can make it more efficient
to deny further port/sem allocation (and also simplifies port/sem stats).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-13 19:35:49 +00:00
Axel Dörfler
78ab9987c3 Modules out of preloaded images will now be registered and can be used
like any other module (yeeha!).
You can even unload preloaded images later on (to replace them with a
more up-to-date on disk version).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:44:58 +00:00
Axel Dörfler
8590e919fc Now maintains the new preloaded_image::id field.
If an image cannot be created out of a preloaded_image, its resources
are freed now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:43:30 +00:00
Axel Dörfler
b918b5035f Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).
Fixed missign file system unload.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:52:38 +00:00
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
Axel Dörfler
15edae152e Completed find_thread() implementation, courtesy of Starr Kline.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:08:36 +00:00
Axel Dörfler
a206c3746f Lowered the thread priority boost on death.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 00:43:16 +00:00
Axel Dörfler
8e14887212 Moved some dprintf()s to use the TRACE() macro.
Also fixed compilation with tracing enabled.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 03:14:48 +00:00
Axel Dörfler
a9e1ba1d5b Fixes due to the team/thread.h separation and minor header cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:53:41 +00:00
Axel Dörfler
974982d56d Factored out two functions out of thread_exit() (in team.c).
Incorporated NewOS change 1930: sends the parent SIGCHLD if the team
goes away.
create_thread() now returns B_BAD_TEAM_ID when the team is in death state
instead of ERR_TASK_PROC_DELETED.
Cleaned headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:50:25 +00:00
Axel Dörfler
074af04cf2 Factored out two new functions (team_remove_team() and team_delete_team())
from thread_exit().
Removed team_remove_team_from_hash() as it's no longer necessary.
Also incorporated NewOS change 1930: maintain the parent/children lists.
Cleaned up the headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:46:28 +00:00
Axel Dörfler
b721e8fd26 Gained knowledge from NewOS change 1930 and fixed the sig_block_mask change
as already suggested in my earlier comment.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:23:32 +00:00
Axel Dörfler
a7b6bd943e The bootloader now takes this region into account, no need to do that manually over here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-15 02:02:25 +00:00
Axel Dörfler
4a2e872cca Applied NewOS change 1914: moved APIC setup into the kernel due to a
problem with the APIC clock speed test.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 22:54:00 +00:00
Axel Dörfler
7ec81f4c11 Disabled debug output for arch_int_enable_io_interrupt().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 22:50:41 +00:00
Axel Dörfler
03c1062163 set_real_time_clock() is supposed to set the hardware clock as well.
Fixed dump function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 21:53:48 +00:00
Axel Dörfler
09e395fbe3 Applied ages old cleanup patch from Jack Burton.
Took the chance and cleaned it up even more; this change is not a functional change.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 18:02:22 +00:00
Axel Dörfler
743c42a747 arch_setup_signal_frame() must not access the user space stack without
using user_memcpy(); therefore it can now fail.
Taken from NewOS, thanks to Travis for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 17:59:42 +00:00
Axel Dörfler
48847a2aab You must not copy a list in that way; it's now using the new list_move_to_list()
call.
"testapp" now works fine with the new port code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 21:36:02 +00:00
Axel Dörfler
ed3f63ae37 Added a call to move the contents of one list to another.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 21:34:20 +00:00
Axel Dörfler
28f42fcecc get_port_info() is not supposed to succeed on a closed port.
Saved the port_entry.closed member and now set the capacity to 0, since
it is not used any longer (reduces the size of the port table).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 05:28:50 +00:00
Axel Dörfler
85b89008bd Replaced the MAX_PORTS constant with the gMaxPorts variable, so that it
could be changed at startup (adapted to system properties).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 05:09:29 +00:00
Axel Dörfler
b672b21619 Renamed some variables to match our style guide better.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 05:06:13 +00:00
Axel Dörfler
b3d07d6550 Rewritten the msg queue code to use a doubly linked list of port_msgs.
Right now, it allocates/frees the msgs from the kernel heap for every
message sent - that might be too slow for real world usage.
Also removed all known race conditions from the code.
Not tested at all yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 04:57:38 +00:00
Axel Dörfler
2f6684aaee Fixed _user_find_thread(NULL), courtesy of Jack Burton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-09 15:45:34 +00:00
Stefano Ceccherini
805bba9456 Fixed the debugger "region" command (still looking for others like that one)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-09 09:53:54 +00:00
Axel Dörfler
349b01808e Seems like I'm getting old: fixed a similar typo in pipefs (like the one I
did in ports.c), thanks to Jack Burton for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-08 12:08:06 +00:00
Axel Dörfler
89ea3ca9d6 Fixed a stupid typo, thanks to Bill Hayden for pointing this out :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 23:55:19 +00:00
Axel Dörfler
135d20a96e Now properly shuts down the thread message cache in thread_exit(),
its semaphores get deleted, thanks to Jack Burton for reporting.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 12:55:27 +00:00
Axel Dörfler
5fd77dc430 Moved a few functions around to have a better separation between public
port API and private functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 02:28:37 +00:00
Axel Dörfler
7fb4c29b80 port_buffer_size_etc() was horribly broken in a lot of ways, it even read
the info from the wrong end of the queue.
find_port() did not return the correct error codes.
write_port_etc() checked incorrectly for a deleted semaphore.
B_WOULD_BLOCK would let various functions print out a warning for no reason
(the comments in the code actually didn't fit to the implementation).
"total_count" was counting the number of messages written, not those that
have been read (as the BeBook says).
Thanks to Bill Hayden who reported a lot of these.
Added TRACE macro and moved some of the dprintf()s to that.
Added/fixed some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 01:23:43 +00:00
Axel Dörfler
7b83e8b24c Made find_port() less heavy; it no longer disables interrupts for the whole
run. Also create_port() now changes the port ID only when the port lock is
grabbed, so that we don't need to acquire the port list lock in find_port().
Removed setting lock to "0" in create_port() because if it's not 0 in the
first place, there is something seriously wrong (should add an assert there).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-04 20:43:13 +00:00
Axel Dörfler
b752b6bb02 Fixed port & sem debugger commands, fixed sem.c compilation with tracing
enabled, courtesy of Jack Burton.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-04 12:14:48 +00:00
Axel Dörfler
0efc0b5804 Forgot to remove some parts of the previous read lock.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 18:58:54 +00:00
Axel Dörfler
76946b95da Fixed the pipefs. It now should work without any problems.
I don't know which part of me has written the previous version, but
it seems not have been supervised by a brain while doing it.
The read requests are now maintained per inode (as it has to be),
and there is one read lock per request.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 18:57:52 +00:00
Axel Dörfler
acfdb017dd team_kill_team() is now called kill_team().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:02:08 +00:00
Axel Dörfler
0ff38616f4 Renamed syscalls to new scheme.
Changed thread_kill_thread() to the BeOS compatible kill_thread() function.
Added missing _user_kill_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:00:16 +00:00
Axel Dörfler
564ffd3da7 Renamed thread/team syscalls to new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:58:19 +00:00
Axel Dörfler
98d68e7085 Renamed syscalls to new scheme.
Moved wait_for_team() into the exported kernel API region.
Added missing call for _user_get_current_team().
Made the team_kill_team() call to the BeOS compatible kill_team().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:57:00 +00:00
Axel Dörfler
1748ad5db7 Added find_thread() (does not yet work with name != NULL).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 17:40:14 +00:00
Stefano Ceccherini
7667c061fe Simplified an expression (which was even wrong before)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 16:29:04 +00:00
Stefano Ceccherini
b2fece1ec0 renamed some global variables to have the "g" prefix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 16:16:11 +00:00
Axel Dörfler
f9e9fb76f0 On second thought, it would be strange if the pattern used everywhere
else is not found here. The BeOS kernel also exports these two *_etc()
functions, and we might want to do that, too.
{receive|send}_data() are now interruptible from userland, but not when
called from the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 06:29:59 +00:00
Axel Dörfler
510a1ab1e9 Removed arch_cpu_user_strncpy()/strcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:18:51 +00:00
Axel Dörfler
775470756b On second thought, also removed user_strcpy().
Copied over the function description of user_strlcpy() from x86/arch_cpu.h
to this file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:13:31 +00:00
Axel Dörfler
f4d747d77b No longer uses user_strcpy(), and it's even slightly faster.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:08:17 +00:00
Axel Dörfler
26b91cb6ec No longer use user_strcpy() but user_strlcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:03:04 +00:00
Axel Dörfler
083d73d739 No longer uses strncpy(). Removed the user_strncpy() call - we don't want
to have it in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:40:02 +00:00
Axel Dörfler
0d6f9a67e5 Banned strncpy(), switched return type from "int" to "status_t" for vfs_get_vnode_from_path().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:31:51 +00:00
Axel Dörfler
c0601b3a79 Cleaned up _get_sem_info() and _get_next_sem_info().
Implemented the B_CURRENT_TEAM mechanism for _get_next_sem_info().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:26:44 +00:00
Axel Dörfler
faeac94982 Removed <kerrors.h> and the last occurences of ERR_* codes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:12:34 +00:00
Axel Dörfler
48f31b9581 Replaced team_get_team_struct() with its safer friend team_is_valid().
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Banned strncpy().
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:08:09 +00:00
Axel Dörfler
3402b15625 No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:05:47 +00:00
Axel Dörfler
70f0602f2d Cleaned up the _get_port_info() and _get_next_port_info() calls, factored
out the port_info setup to fill_port_info(), implemented the B_CURRENT_TEAM
behaviour as described in the BeBook (well, almost, since B_CURRENT_TEAM
is not defined in R5, it's just "0"), improved error checking.
Cleaned up user syscalls.
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Banned strncpy().
Added our license.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:02:24 +00:00
Axel Dörfler
492e5970b0 Cleaned up the user syscalls: no longer uses strncpy(), replaced SYS_MAX_OS_NAME_LEN
with B_OS_NAME_LENGTH, make use of the IS_USER_ADDRESS() macro, etc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:54:00 +00:00
Axel Dörfler
592a6437f2 receive_data() is now interruptible (as reported by Starr Kline) - not tested!
Cleaned up _get_thread_info() & _get_next_thread_info() - factored out
the thread_info setup into fill_thread_info().
Is now using team_is_alive() instead of team_get_team_struct().
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Banned strncpy() in favor for strlcpy().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:46:42 +00:00
Axel Dörfler
2a3ec096a4 Replaced usage of team_get_team_struct() with team_is_valid().
Replaced some old error codes.
Explained a bit more how to solve a race condition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:31:08 +00:00
Axel Dörfler
07f317bf6a Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Removed old error codes.
Replaced the DEVFS_IOCTL_* with their Be equivalents. Note, the related
functions are not user space safe yet. But since the devfs will be
almost rewritten, there is no point in changing it now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:21:59 +00:00
Axel Dörfler
677e35664d Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:19:02 +00:00
Axel Dörfler
38afe35e66 Renamed CHECK_USER_ADDRESS() to IS_USER_ADDRESS() to make its function more clear.
Added our license to the updated source files.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-22 14:52:59 +00:00
Axel Dörfler
b8c2776bb7 Moved some more functionality into create_new_vnode() to reduce code duplication.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-02 15:09:21 +00:00
Axel Dörfler
daf0126bb2 alarm_event() has sent the signal to the currently running thread instead
of the one that issues the alarm - it now does an ugly cast to get the
real thread structure. It would be nice if we had an additional user
parameter to a timer event.
Thanks to Travis for reporting this one!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-26 02:01:46 +00:00
Axel Dörfler
016f7b6f32 Fixed compilation when you can't add private/kernel to your include headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 18:31:04 +00:00
Axel Dörfler
86228d9f03 Applied NewOS change 1914: fixes small bug (one page off), calls
{get|put}_physical_page_tmap() directly.
Also replaced all occurrences of "addr" with "addr_t".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-06 16:12:52 +00:00
Tyler Dauwalder
581cfaf2c0 - Added declaration and definition of std::nothrow
- Wrapped everything but #includes in #if _KERNEL_MODE to keep from
  redeclaring/definining operator new and nothrow in userland.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-06 00:27:34 +00:00
Axel Dörfler
11e38cc1d9 Applied the unmount() fix from NewOS change 1906.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-05 01:03:14 +00:00
Axel Dörfler
462e4bb4fa That restriction was superfluous.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-29 02:29:27 +00:00
Axel Dörfler
caeef6fada Fixed the broken use of read_request::PutBuffer() - the team's address space
is now honoured: the shortcut is now only made if it's okay to do it. Added
a comment what we could do to further improve performance.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-29 02:27:22 +00:00
Axel Dörfler
6994475d83 Added a comment about a stupidity I did with pipefs - I seem to have completely
forgotten about different address spaces with direct (unbuffered) pipe transfer,
shame on me.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-28 15:27:24 +00:00
Axel Dörfler
4a4fcca956 Forgot to check the fix... it now compiles again, and there is a new
accessor method Inode::BytesInChain().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-15 15:15:54 +00:00
Axel Dörfler
5eb712b2dd Now correctly returns the available bytes in the pipe in st_size.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-14 13:21:37 +00:00
Axel Dörfler
57b3bc3b9c Added _kern_debug_output() syscall.
Fixed warning about missing user_strlcpy() prototype.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-13 22:08:30 +00:00
Axel Dörfler
f2eb00db1e Fixed and simplified the user_*() team syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-12 15:37:44 +00:00
Axel Dörfler
e81f0e1f79 Added "where" as alias of "sc" as in BeOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-11 04:49:15 +00:00
Axel Dörfler
1e065e6132 dbg_register_file[][] now reserves space for SMP_MAX_CPUS CPUs, not only 2.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-11 04:02:54 +00:00
Axel Dörfler
b196064201 dbg_init() no longer sets sCommands to NULL - variables in the BSS are
always zeroed anyway.
cmd_help() is now able to print out help about the specified command
only - it will also print out all aliases of that command. Reduced
the distance between the command name and its description; NULL
descriptions are now also allowed.
There is now a find_command() function that's used throughout the
module. Like in the Be debugger, it will now also accept partial
matches, i.e. "co" will most probably match "continue" (as long as
there is no new "co*" command added by another component). It will
first try to find an exact match, and only if that failed it will
search for a partial match.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-11 03:47:14 +00:00
Axel Dörfler
91d35b5f62 Removed dbg_set_serial_debug() - there is now only set_dprintf_enabled().
Disabled dbg_get_serial_debug(); it's only used temporarily in the keyboard
device (and I removed its usage there, too).
Added "continue", "exit", and "es" commands as in the Be kernel debugger
(they will all exit the debugger and try to continue normal kernel execution).
Reordered the sources so that public kernel API is together.
Added a _user_debug_output() syscall (not yet activated) which dumps to the
kernel's serial output.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-11 03:07:53 +00:00
Axel Dörfler
36c3931c38 Added quick implementation of real_time_clock() and real_time_clock_usecs() -
it might even be correct, but we also might want to have this stuff somewhere
else (libroot).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-08 02:13:19 +00:00
Axel Dörfler
5f1ee2313e vm_translation_map_quick_map() has been slightly changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 22:01:18 +00:00
Axel Dörfler
d70e4e5163 vm_translation_map_quick_map() was slightly changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:17:19 +00:00
Axel Dörfler
9e54ef1458 system_time() is implemented in libroot/os/arch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:16:36 +00:00
Axel Dörfler
cff2375bba Added a comment about where to find the implementation of the
arch_int_{enable|disable|restore}_interrupts() functions and
friends.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:15:27 +00:00
Axel Dörfler
9e617097ee arch_thread_switch_kstack_and_call() is already defined in arch_asm.S.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:13:53 +00:00
Axel Dörfler
d31fdd0e3c Added, fixed, cleaned and slightly optimized the assembly arch_int_*()
functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:12:19 +00:00
Axel Dörfler
9fd568e2e9 Rearranged the code a bit, made private functions static, removed wrong
comments.
Fixed warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 18:23:31 +00:00
Axel Dörfler
2e011afa86 Renamed arch_int_is_interrupts_enabled() to arch_int_are_interrupts_enabled().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 17:54:25 +00:00
Axel Dörfler
7530b569ec Finally fixed all warnings (we probably won't really need bootfs later anymore
for the standard boot process).
Removed the STREAM_TYPE_* definitions, it's now using the stat definitions
instead.
Cleaned the source a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 13:46:48 +00:00
Axel Dörfler
939f7fbaca Implemented the set_real_time_clock() syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 13:29:29 +00:00
Axel Dörfler
cc9992caa1 Removed rtc_set_system_time() but forgot to change internal calls to
set_real_time_clock().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 13:12:13 +00:00
Tyler Dauwalder
a03a04e027 - Added/moved ddm string-length and buffer-size constants to DiskDeviceDefs.h
- Converted all uses of B_{FILE,OS}_NAME_LENGTH in ddm_userland_interface.cpp
  to appropriate ddm constants.
- Made module names B_PATH_NAME_LENGTH long.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 00:13:11 +00:00
Tyler Dauwalder
937144690c Made disk device type strings B_FILE_NAME_LENGTH long, and fixed
a few partition name constants that hadn't been changed from B_OS_NAME_LENGTH.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 22:45:15 +00:00
Tyler Dauwalder
e176a055ac Added max parameter-string buffer-size limit of 32KB.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 08:10:52 +00:00
Tyler Dauwalder
de5a94dbc6 - Updated partition name and partition content name length limits
to B_FILE_NAME_LENGTH.
- Added partition [content] name copy-out code to
  _kern_validate_{set_partition_name,set_partition_content_name,
  intialize_partition}.
- Added parameter security to _kern_supports_moving_partition().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 07:28:55 +00:00
Waldemar Kornewald
cdc2ad89b1 Changes for kernel land (added set_sem_owner and kernel_cpp.h/cpp).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-25 13:24:59 +00:00
Tyler Dauwalder
229c00c5a7 - Added parametersSize param to all functions taking a parameter string.
- For functions where name strings are both input and output parameters that
  may be truncated if too long, updated copy-in procedure to allow truncation
  without returning an error.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-25 08:35:27 +00:00
Tyler Dauwalder
8768d15c6e - Fixed lack of proper error code checking on calls
to user_strlcpy()
- Changed all remaining instances of SYS_MAX_PATH_LEN
  to B_PATH_NAME_LENGTH.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 23:09:43 +00:00
Axel Dörfler
8da0ad81bf Removed rtc_set_system_time() and introduced the public Be kernel call
set_real_time_clock().
I am not sure if this call is supposed to set the hardware clock.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 14:53:02 +00:00
Axel Dörfler
60f9bd4a57 Adds an empty arch_real_time_clock.c for the PPC build. The Pegasos may
need the same RTC code as x86 (but using the ISA bus manager instead of
in/out).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 12:38:07 +00:00
Axel Dörfler
d7f7d209ed Renamed the global secs_per_month[] to sSecsPerMonth[] and made it static.
Added a comment about how to make computing the seconds passed since 1/1/1970
more efficient.
Some slight other changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 12:24:10 +00:00
Axel Dörfler
05ca50f27d Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 12:09:20 +00:00
Axel Dörfler
f328aeecb6 Applied our style guide.
Commented the debug welcome message in rtc_init().
Moved the seconds per year calculation into a separate function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 12:01:25 +00:00
Axel Dörfler
2218f79ede Added real-time clock support written by Jeff Ward (for the kernel).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 10:21:10 +00:00
Tyler Dauwalder
27b54f4499 Finished up most of remaining kernel-saftey stuff, and fixed previously "safe" code that accessed userland memory directly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 09:37:20 +00:00
Tyler Dauwalder
0d2558589a Added platform specific boot headers to search path for libdisk_device_manager.so, as ddm_userland_interface.cpp apparently needs them now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 09:36:15 +00:00
Axel Dörfler
f5ab9c12ce Fixed arch_cpu_global_TLB_invalidate() - it only invalidated the first
256K of the available address space.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-21 03:39:47 +00:00
Axel Dörfler
622405014e The init routine doesn't have to make sure that the IP bit of MSR is
set since the boot loader already takes care of that.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-21 03:38:39 +00:00
Axel Dörfler
6f634c19b6 Fixed a potential overflow bug in ppc_set_page_table().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-21 03:37:15 +00:00
Axel Dörfler
c72672b624 Made the computation of the page table hash mask easier to read.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-21 03:36:22 +00:00
beveloper
ca16f5cb03 start of media kit codec plugin API
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 23:55:19 +00:00
Axel Dörfler
b912581792 new_file_system() returned a status code, but should have returned
a pointer to the file system.
Renamed all static g* variables to s*.
Renamed "mount_id" fields to the higher level "device" (to be able
to compile the file).
Fixed all casting warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 14:47:15 +00:00
Axel Dörfler
9559a50771 Renamed vfs.c to vfs.cpp to prepare and ease working with the disk
device manager (and have more warnings).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 14:45:07 +00:00
Axel Dörfler
bd77051dc3 Changes due to renaming of vm_translation_map_get_pgdir() to i386_*().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 14:35:29 +00:00
Axel Dörfler
7221a58854 Fixed some warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 14:05:05 +00:00
Axel Dörfler
4ef2438290 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 14:01:16 +00:00
Axel Dörfler
f8e89e479d Adoption of Travis' PPC code. Changed to our VM structures and slightly
different arch-specific CPU functions. Fixed some bugs. Not tested.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:57:28 +00:00
Axel Dörfler
14d9cc14d9 Updates caused by renaming vm_translation_map_get_pgdir() to
i386_translation_map_get_pgdir().
Fixed some warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:47:12 +00:00
Axel Dörfler
61897ef2b1 Stub implementation no longer needed, real implementation will be C++.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:06:24 +00:00
Axel Dörfler
3b912ee405 Stub implementation no longer needed, real implementation will be C++.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:00:07 +00:00
Axel Dörfler
112bea4bac Added the arch_cpu_sync_icache() function for x86 from NewOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 12:54:34 +00:00
Axel Dörfler
35270fa7d4 Removed unused makefile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-16 18:42:38 +00:00
Axel Dörfler
b858732b90 Fixed a scoping bug in the elf_load_kspace() function (non-critical under
normal circumstances, though).
Updated the comment why we have to create the read-only segment as read-write.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-16 18:28:10 +00:00
Axel Dörfler
7a17e3aeea Some fixes because of the elf32.h header cleaning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-16 17:56:05 +00:00
Axel Dörfler
b8be90d5fb Now works with GCC 3 as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-12 00:46:30 +00:00
Axel Dörfler
aaaceca81b Added more CPU functions, fixed the get_sr() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-11 19:00:59 +00:00
Axel Dörfler
e2367e8fcb Added some PPC helper functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-08 01:24:01 +00:00
Axel Dörfler
c8ec205b7b Include kernel_args.h instead of stage2.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:12:37 +00:00
Axel Dörfler
b55d9c74f1 Renamed fields of the kernel_args structure.
Commented out the page_daemon to remove a warning.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:09:21 +00:00
Axel Dörfler
33dc59abd3 Don't include the isa bus_manager when compiling on PPC.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 21:51:48 +00:00
Axel Dörfler
c12bec104e Did not compile before.
Fixed some style issues.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-06 02:04:53 +00:00
beveloper
5a40812eab removed bus manager
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 16:57:53 +00:00
Axel Dörfler
20b82fcf5b Minor change: corrected the debug output in wait_for_thread().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:38:00 +00:00
Ingo Weinhold
283e146548 Aesthetical change.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:45:22 +00:00
Ingo Weinhold
58b7de1cda Implemented the resize job.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:44:47 +00:00
Ingo Weinhold
b0814f61c3 Implemented Resize() and ResizeChild().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:44:21 +00:00
Ingo Weinhold
77fe5e61a5 Another fix of the code that updates which partitions are still busy. Hopefully the last one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:43:59 +00:00
Ingo Weinhold
541c05cc85 We always resize the partition contents.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:43:11 +00:00
Ingo Weinhold
3acc9a051b Moved the validation functions out of ddm_userland_interface.cpp into ddm_operation_validation.{cpp,h} for re-use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:40:36 +00:00
beveloper
90157e6a02 Removed bus_man.c from build since it no longer compiled after removing pci_bus.h :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:57:14 +00:00
Ingo Weinhold
6c27ff9492 Define some macros telling us, that we compile for R5 and userland.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:47:10 +00:00
Ingo Weinhold
11ef678c43 We don't need to mark/unmark shadow partitions busy separately anymore, since they should automatically remain in sync with the physical ones.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:06:54 +00:00
Ingo Weinhold
2998edc39b Added KPartitionListener.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:04:37 +00:00
Ingo Weinhold
58bdbab626 Added a KPartition listener mechanism and made use of it to keep shadow partitions with the corresponding physical ones in sync.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:04:13 +00:00
Ingo Weinhold
373c8e3751 Implemented Do(). Looks like it works.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:33:23 +00:00
Ingo Weinhold
0ee064b1fb KPartition::UninitializeContents() returns an error code now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:31:49 +00:00
Ingo Weinhold
bce1e50726 Some fixes concerning job queue handling.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:30:57 +00:00
Ingo Weinhold
70f0555bce Debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:30:12 +00:00
Ingo Weinhold
583f8c1d02 Added set_disk_device_job_error_message() for setting an error message, when an error occurs while executing a job.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:29:36 +00:00
Ingo Weinhold
ac8b60ce67 Added setter/getter for an error message. Should be set to something informative when while executing a job an error occurs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:28:27 +00:00
Ingo Weinhold
69cb08c01c UninitializeContents() returns an error code now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:26:18 +00:00
Ingo Weinhold
ccb29adbec Fixed (and documented) _kern_get_disk_device_data(). It is now properly relocating the disk device data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 15:16:42 +00:00
Ingo Weinhold
f3a589c2ce Added support for relocation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 15:15:20 +00:00
Ingo Weinhold
752ad410c3 Made the disk device manager stuff compilable again. Doesn't link yet, since user_memcpy() and user_strlcpy() are still missing in kernelland_emu.cpp. Tyler?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 00:43:40 +00:00
Ingo Weinhold
d3f24d18b6 Added missing return.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 00:41:19 +00:00
Ingo Weinhold
867d3753c3 Wrong data were copied back to the userland cookie in user_get_next_port_info().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-27 11:37:09 +00:00
Tyler Dauwalder
453ee0db01 Updated user_read_link() to return the same values it used before the
user_strlcpy() return value semantics change.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-27 05:29:04 +00:00
Tyler Dauwalder
702b8e7ed9 Made first half of so of ddm syscalls kernel-safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-27 05:19:37 +00:00
Tyler Dauwalder
2f0734d8ec Included kernel headers in search path for ddm.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-27 05:14:58 +00:00
Tyler Dauwalder
1eebd1e00a Updated user_strlcpy() to return length of source string instead of 0.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-27 05:14:22 +00:00
Ingo Weinhold
bc2d9db133 Creates resize and uninitialize jobs now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 22:04:03 +00:00
Ingo Weinhold
6a2a273d12 Aesthetical changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:46:48 +00:00
Ingo Weinhold
032e49d571 Partially implemented the class. Well, save the entirely unimportant Do() method, which prints only some debug output for now. ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:46:00 +00:00
Ingo Weinhold
f7779c94eb Some important fields weren't cloned from the physical partition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:44:19 +00:00
Ingo Weinhold
aa915a05bd Joined the methods generating the delete child and uninitialize jobs -- otherwise we'd delete children of partitions that are uninitialized. Fixed several small bugs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:43:13 +00:00
Ingo Weinhold
557cfcdb26 Carried out a incredibly complex TODO. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:28:30 +00:00
Ingo Weinhold
6e855f0317 Removed the resizeContents/force from the resize/move syscalls. Fixed resize/move related bugs (partition was not check for status uninitialized).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:26:12 +00:00
Ingo Weinhold
dafaf4c360 Added IsUninitialized() convenience method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:21:10 +00:00
Ingo Weinhold
50e3477b70 Added KUninitializeJob. Does nothing but printing debug output for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:20:27 +00:00
Ingo Weinhold
20c33ce79b Added syscall for uninitialization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 19:13:54 +00:00
Ingo Weinhold
5c699c6735 Add a field mount_cookie to the partition_data structure and
respective setter/getter methods to the KPartition class.
If a partition is mounted, the field will contain the cookie the
FS's mount() hook passed back to the VFS. This way the FS has
access to its internal data structures. We need the cooperation
of the VFS to get the cookie.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 18:25:42 +00:00
shatty
b89786b69e change to public resource.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-20 20:47:27 +00:00
beveloper
591d950f92 removed building of old pci module
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 20:32:45 +00:00
Axel Dörfler
75352278ce Fixed the build when DEBUG was defined: thread_wait_on_thread() is now
called wait_for_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 20:49:01 +00:00
beveloper
8a3b6e2cfd fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 20:44:45 +00:00
Axel Dörfler
b5a05a72fa Fixed some warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:36:52 +00:00
Axel Dörfler
d02898ade8 list.h is now in util/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:36:29 +00:00
Axel Dörfler
e4cf172727 Since Ingo found out that BeOS requires the module name and its location
on disk to match to be able to find it, changed the ToDo: comment in the
affected function, and added a test call to vfs_get_module_name(); our
bootfs cannot handle the path depth/length required to be a useful module
host, so we still have our recursive search algorithm in place for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 04:06:14 +00:00
Axel Dörfler
ad304a7ef7 Implemented a new vfs_get_module_path() call that returns the module path
of a given module name.
vnode_path_to_vnode() can now return the type of the file, changed the parameter
order.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 04:02:34 +00:00
Axel Dörfler
dbb3d1fc5b Fixed some warnings.
Added a comment about how to traverse the module path to find a given module -
could well be that we got that wrong (too loose, it will work perfectly, though,
just slower than it could be).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-06 17:35:05 +00:00
Axel Dörfler
080cec2518 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-06 17:31:33 +00:00
Axel Dörfler
e12302da4b Fixed a couple of warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:23:16 +00:00
Axel Dörfler
a7d21bad55 Fixed some warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:20:42 +00:00
Axel Dörfler
db310cf12e Added internal syscalls for fs_read_info() and fs_write_info().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:19:24 +00:00
Axel Dörfler
73d330cf0a Added some missing index functions, and ifdef'd them out, since that
functionality might not be accessible for R1.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:07:39 +00:00
Axel Dörfler
ad20736f2d Introduced new get_mount()/put_mount() calls to protect a volume against
"sudden unmounts" (as far as that can work). This replaces the weak
find_mount() call used at several places in the fs index functions.
Fixed a bunch of warnings, mostly unused prototypes and variables.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:01:25 +00:00
Axel Dörfler
854c22e257 Removed an unused function.
#ifdef'd a variable that's only of use with TRACE() on.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 03:29:13 +00:00
Axel Dörfler
99f9554253 Removed an unused variable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 13:08:48 +00:00