Commit Graph

1140 Commits

Author SHA1 Message Date
Ingo Weinhold
af327271cc Made C-safe. Now no longer declares the syscall prototypes, but the prototypes for the respective _user_*() functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:33:59 +00:00
Ingo Weinhold
2956802960 Added the DDM syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:27:44 +00:00
Ingo Weinhold
7fb2963ae4 * Added vfs_normalize_path() service call.
* Added resolve_mount_point_to_volume_root() which does what
  resolve_volume_root_to_mount_point() did. IOW the latter one didn't
  do what it advertised.
* Fixed dir_vnode_to_path(). Basically broken due to the broken
  resolve_volume_root_to_mount_point(), but also compared potentially
  unrelated vnode IDs (belonging to different volumes).
* Fixed get_dir_path_and_leaf(). It didn't deal correctly with paths
  ending in '/' (including the root dir).
* fs_mount() does now accept a NULL fsName, getting the FS name from
  the DDM in this case.
* fs_mount() now also supports mounting file images; it lets the DDM
  create a file device for them.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:31:43 +00:00
Ingo Weinhold
c06238cbd6 * Reworked publishing/unpublishing of the device. This is now basically
done by (currently not existing) devfs functions.
* Overridden GetMediaStatus() and GetGeometry() to return useful data.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:22:04 +00:00
Ingo Weinhold
1e2e4b3c71 Re-added support for file devices.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:18:20 +00:00
Ingo Weinhold
cba3b01fdf Added support for path normalization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 22:16:41 +00:00
Jérôme Duval
fa1e0b9c50 added codes for adding and removing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 15:40:56 +00:00
Ingo Weinhold
0402530222 Extended Append() to also allow adding parts of path components. Added leaf component manipulation. Now always chop trailing slashes off the path.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 15:09:48 +00:00
Ingo Weinhold
5de8542789 Since the kernel links against libgcc.a and we use some C++ features that cause functions of libgcc.a to be included that use a couple of formerly undefined symbols (stderr, fprintf, abort, debugger) those had to be added to kernel_cpp.cpp. We don't build the kernel utils as static library anymore, since libgcc.a is listed at the end of the link command line and trying to change that would be a bit ugly. For C++ in the boot loader nothing changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 22:07:00 +00:00
Ingo Weinhold
92221d2425 KPath is used now where possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:56:05 +00:00
Ingo Weinhold
3f3f9cb61a Added Unlock() (an nicer sounding alias for Unset()) and Detach() (the lock is kept when the object is destroyed) to AutoLocker.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:54:12 +00:00
Ingo Weinhold
1b5f626633 * Changes to use KPath where possible now.
* Made GetMediaStatus() a bit more robust. If the ioctl fails (e.g. if it
  is not implemented as in Thomas' drivers), it gets the device geometry
  and does not fail, if the device is not removable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:52:33 +00:00
Ingo Weinhold
0707c10377 KPartition::GetPath() now uses the new KPath class, which makes it more convenient to use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:48:47 +00:00
Ingo Weinhold
1d5b7e0b23 _user_mount() now has a flags parameter, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:45:04 +00:00
Ingo Weinhold
ad6059d89f Added missing flags parameter to _kern_mount().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:42:13 +00:00
Ingo Weinhold
d68a188e6d Added class KPath. Convenient wrapper for a fixed-sized path buffer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:41:16 +00:00
Ingo Weinhold
42b568aeb5 Moved to headers/private/kernel/disk_device_manager, since it is included by KDiskDevice.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 21:38:01 +00:00
Axel Dörfler
7b5e243a4d Added prototype for the new vfs_get_fs_node_from_path() function. It's
currently only used in devfs for the publication of partitions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 15:22:00 +00:00
Axel Dörfler
f2ea9af307 The boot loader now can tell the x86 serial driver the serial port base
addresses as reported by the BIOS.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 01:02:05 +00:00
Axel Dörfler
e76877adae Added a function to find a menu item by label.
Added super item/menu getters, and a new fSuperItem field.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 00:56:46 +00:00
Axel Dörfler
cc67a158ee Added function for an early boot message before anything else (because of
an error, there is supposed to be one of these at maximum right now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-26 23:29:00 +00:00
Axel Dörfler
63be222e2f Added a arch_thread_init() function prototype.
Changed return types to status_t where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 22:08:48 +00:00
Rudolf Cornelissen
b012d900ee sorted a few defines :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 09:52:52 +00:00
beveloper
d0da902001 Added an extra thread for chunk extraction. Using the ChunkCache,
the ReadFrames call no longer needs to wait for the
extractor, but can read it from a cache.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-24 14:21:34 +00:00
shatty
a539f68be5 remove static from non-ARCH_x86 thread function prototypes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-24 09:08:37 +00:00
Axel Dörfler
2797f8cf8a Renamed heap_init_postsem() to ..._post_sem(). Added prototype for heap_init_post_thread().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-23 13:50:27 +00:00
Axel Dörfler
95e3a7215d Added prototype for vm_free_kernel_args().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-23 13:49:19 +00:00
Nathan Whitehorn
b502b561b4 Fixed spelling of instantiate_transport
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-22 22:35:59 +00:00
Rudolf Cornelissen
ce3ea11935 added two new register defines to make NV28 coldstarting work OK.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-22 20:54:24 +00:00
Axel Dörfler
b0d8e689ac Renamed some more init2 routines to init_post_vm() to make it clearer when
and why they are called.
Introduced a cpu_init_post_vm() that will now call arch_init_post_vm() instead
of letting main() doing it.
Fixed some return types (mostly from int to status_t).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-21 01:41:29 +00:00
Axel Dörfler
afad65ded7 Replaced all remaining PAGE_SIZE with B_PAGE_SIZE, addr with addr_t.
Removed the definition of PAGE_SIZE and addr.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-20 00:33:06 +00:00
Axel Dörfler
67a53f72af - the arch_vm_translation_map.c exported functions now have the arch_ prefix
- the above file now also exports a function to finally complete the kernel's
  address space translation map after semaphores became available (was just
  not done before)
- renamed some functions, especially the *_init2() functions are now called
  like *_init_post_area() to indicate they are called after the area functionality
  became available
- removed the _struct suffix from certain structures
- fixed some return types
- added prototype for vm_free_unused_boot_loader_range() to be called by
  arch code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-19 23:19:10 +00:00
Axel Dörfler
107f1a6a3f Added an addr_range array for kernel_args.
Removed the "str" field I have no idea what it could have been useful for.
Changed the frame buffer part of the kernel args - "already_mapped" is
no longer there, as it doesn't make a lot of sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-19 17:02:11 +00:00
Axel Dörfler
53ac60d4ea Added the prototype for insert_address_range() that can be used for the
various addr_range arrays in the kernel_args structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-19 16:57:19 +00:00
Axel Dörfler
4976718d0e We now have a memalign() call in the kernel, too (since there already was
some code that relied on malloc() to return memory with some alignment
restrictions fulfilled).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-18 15:23:34 +00:00
shatty
c811895a7e static functions need static prototypes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-18 09:10:20 +00:00
DarkWyrm
8373d74bdc Updated DrawString to modify the pen position in the DrawData parameter
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-16 22:38:43 +00:00
DarkWyrm
cf5f46ff73 Updated StrokeLineArray API to make life easier in calling on server side
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-16 01:57:13 +00:00
Axel Dörfler
e56c30d87d Replaced the old _kern_create_team() syscall with a BeOS style _kern_load_image().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 17:46:48 +00:00
Axel Dörfler
c2452435f2 The group must also know how many wait_for_child() are on it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 15:40:21 +00:00
Axel Dörfler
67c504a23a Added various session/group/process syscalls.
Changed team_remove_team() to support process groups.
Added new prototype for team_delete_process_group().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:34:30 +00:00
Axel Dörfler
07265ad7c5 Added new process_session/process_group structures, and added all fields
to the team structure to support these concepts.
Moved the dead_children stuff into a sub-structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:32:58 +00:00
Axel Dörfler
b821b7715a Added syscalls for various process/group/session related functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:31:31 +00:00
DarkWyrm
67e2a74dc6 Separated functionality of PortLink into LinkMsg* to avoid some *serious* code duplication
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 01:18:38 +00:00
Nathan Whitehorn
7aae187b23 Forgot to commit the Mach64 private headers directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 17:39:03 +00:00
Axel Dörfler
7533ce05e9 Moved the thread::sem fields into their own sub-structure for clarity.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 15:16:56 +00:00
Axel Dörfler
2500c27b92 Began work for waitpid() functionality.
Changed the way a dying thread propagates its exit status and reason: we
no longer abuse the semaphore mechanism to carry an extra status value,
instead, wait_for_thread() registers a death_entry with the thread that
will be filled upon exit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:50:52 +00:00
Axel Dörfler
210ac2cd85 Added some prototypes of private support functions for fork().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:28:25 +00:00
Axel Dörfler
709d033403 Added prototypes for __init_image() and __init_dlfcn() so that they don't have
to be defined in the source files anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:26:44 +00:00
Axel Dörfler
a8673f45bf Added prototypes for arch_{store|restore}_fork_frame().
Removed broken arch_thread::current_iframe field.
Introduced new arch_fork_arg structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:57:31 +00:00