Commit Graph

657 Commits

Author SHA1 Message Date
Axel Dörfler
704d6e100b Added stack special case to the anonymous store.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 17:46:39 +00:00
Axel Dörfler
99daf65959 Added definitions that describe the stack direction.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 14:43:28 +00:00
Axel Dörfler
4eaf08ab83 Added B_STACK_AREA and B_KERNEL_STACK_AREA protection values.
vm_store::fault() now returns a status_t.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 14:33:13 +00:00
Axel Dörfler
06db250916 vfs_mount_boot_file_system() now also gets the kernel_args.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-15 20:00:49 +00:00
Axel Dörfler
b193fcc716 Some work on the boot disk identification: the kernel_args structure has
now fields that carry information about the boot disk and partition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-15 17:59:15 +00:00
Axel Dörfler
0c3888b965 Add a method to get the partition's file descriptor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-15 17:56:55 +00:00
Axel Dörfler
a7e6b6f35b Added prototype for new hash_remove_first() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-10 01:59:09 +00:00
Axel Dörfler
d4f36305b0 Added a comment about the architecture dependency.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-09 13:34:09 +00:00
Jérôme Duval
78bda9a24d typo
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-09 12:53:12 +00:00
Axel Dörfler
921c7286c3 Added some missing consts.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-08 19:23:29 +00:00
Axel Dörfler
a49a5623f1 Got rid of regions - we're now back in area-land.
Renamed vm_area::lock to vm_area::protection to be less confusing - wiring
is still called wiring, though (might be renamed to lock later, as that's
how BeOS calls it).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-08 14:16:35 +00:00
Axel Dörfler
148a8e0c57 Renamed *_stack_region_id with *_stack_area, also replaced region_id with area_id.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-08 13:53:34 +00:00
Axel Dörfler
9e78877956 Added the real_time_data structure that extends Jerome's work on the
real time shared page (it contains the boot time offset and the system
time conversion factor for now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-08 11:35:00 +00:00
Axel Dörfler
d790daa3cc The status field is no system field; it has to be set by the disk system
(it will be maintained by the system afterwards, though).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-08 11:29:12 +00:00
Axel Dörfler
c9293f364f vm_get_region_by_id() and vm_put_region() are now private.
Removed vm_find_region_by_name() (superseded by find_area()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-08 11:14:32 +00:00
Axel Dörfler
4ce0cb439a The set_read_time_clock() syscall now returns a status_t to be able to
indicate failure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-05 16:06:28 +00:00
Axel Dörfler
8665123697 Added empty arch_fork_arg structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-04 16:46:02 +00:00
Axel Dörfler
024b8e7bd1 Relied on ktypes.h, but didn't include it (because on x86, some arch header
did that already).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-04 15:54:47 +00:00
Axel Dörfler
b38248e108 Fixed a warning in GCC 3.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-04 15:51:27 +00:00
Ingo Weinhold
90072e721d Always define the symbols needed for basic C++ features. If we link against libgcc.a the symbols from there are simply overridden.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-03 17:33:17 +00:00
Axel Dörfler
ba44a1e8e1 Changed the way the stores commit their memory: there is no special handling
for temporary memory anymore, it's the store's responsibility to do that
correctly now, and that functionality is reached via the vm_cache using
vm_cache_set_minimal_commitment().
Therefore, the vm_store commit() function now returns a status instead of
the size that could be commited.
Replaced the max_commit mechanism with one that cares about the available
memory, stores can reserve and unreserve such memory. The anonymous_commit()
will now fail in case it could not reserve the needed amount of memory.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-03 17:24:41 +00:00
Axel Dörfler
424f90aff9 Added prototypes for readv/writev() syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-03 14:55:44 +00:00
Axel Dörfler
ec5d706492 SetParent() is now a public function (could be made private again and friend of
add_partitions_for(), though).
The partition now also tracks if it refers to a partitioning system or not.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-03 02:10:10 +00:00
Axel Dörfler
eef5d24c90 Changed the last argument of _kern_mount() to be a string rather than a void pointer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 00:25:25 +00:00
Axel Dörfler
65026923e6 Added prototypes for the new devfs_[un]publish_file_device() calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:41:49 +00:00
Ingo Weinhold
8ae2a1ef21 Include <storage/DiskDeviceDefs.h> instead of <DiskDeviceDefs.h>. So noone including <syscalls.h> needs to explicitly add the private storage kit header dir to the include search path.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 01:36:07 +00:00
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
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
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
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
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
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
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
Axel Dörfler
3490a4becc No longer needs the arch_thread.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:54:03 +00:00
Stefano Ceccherini
9edda3ec6d cbuf.h now includes OS.h and not kernel.h anymore. This fixes a strange issue in building the ps2 mouse driver. Thanks to Axel for the advice
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 23:14:49 +00:00
Axel Dörfler
f3c2082a3d Added prototype for new team_get_address_space() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:26:34 +00:00
Axel Dörfler
024bab9721 Added vm_delete_aspace() again (although it works a bit differently then before).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 14:55:36 +00:00
Axel Dörfler
a2ff38d818 vm_page no longer keeps a pointer to the vm_cache_ref but to the vm_cache.
This cleans the page handling when having to make an area copy-on-write;
regions belong to vm_cache_ref, pages to vm_cache.
Added prototype for new call vm_copy_area().
Fixed some return types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 22:54:42 +00:00
Axel Dörfler
1d60efac72 Added a prototype for vm_cache_resize().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 15:07:57 +00:00
Axel Dörfler
301a2f29ba B_EXACT_KERNEL_ADDRESS doesn't make any sense.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 13:30:04 +00:00
Axel Dörfler
1a705b91b7 Removed team::_aspace_id since it already has a direct pointer to it.
Changed the way a vm_address_space is deleted: instead of having to explicitly
call vm_delete_aspace(), the last vm_put_aspace() will remove it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 17:11:54 +00:00
Axel Dörfler
b1018b0dca Added exec() support function vm_delete_areas().
Fixed some return types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:08:00 +00:00
Axel Dörfler
76dede71c7 Added exec() support function vfs_exec_io_context().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 14:46:32 +00:00
Axel Dörfler
6acb672431 New syscall for fcntl().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:28:48 +00:00
Axel Dörfler
2130a091c3 Added field for the size of the userland stack; a userland stack is allowed
to have any stack size, it's not a fixed value (well, at least that's what
will happen :)).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 22:37:44 +00:00
Axel Dörfler
57549ff41e Removed vfs_types.h - it's no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 01:31:15 +00:00
François Revol
4a02ef9f55 notify_select_event moved to headers/os/drivers/Drivers.h where it belong
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 23:47:40 +00:00
Ingo Weinhold
5f169e23f4 Added missing syscall _kern_restore_signal_frame().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 23:24:02 +00:00
Axel Dörfler
85f6117e32 Moved the user_memcpy()/strlcpy()/memset() calls to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:29:00 +00:00
Axel Dörfler
9ade9e873d Added fields for process group and session IDs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 19:44:10 +00:00
Axel Dörfler
a78a421de8 Renamed sleep() to spin() as that's what it does, and sleep() also doesn't
like unistd.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 13:43:57 +00:00
Axel Dörfler
3b00a056c7 Be's native types are no longer allowed in this file (because of the gensyscall utility).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-19 18:55:33 +00:00
Axel Dörfler
367fa74ad9 Added needed syscalls for fork(), exec(), and waitpid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:42:02 +00:00
Axel Dörfler
e03f6fcfe2 Added the arch_config.h file for PPC, moved some stuff out of arch_cpu.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 11:04:23 +00:00
Ingo Weinhold
b07e2ab15f uint32 -> unsigned int. No need to rely on defined types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 23:12:23 +00:00
Axel Dörfler
c2d416e259 Partially covered by arch_config.h and support/ByteOrder.h now/already.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 14:18:46 +00:00
Axel Dörfler
1aaaa3689a Moved some arch dependent config information to this new file (from arch_cpu.h).
There is probably more that could be moved in here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 13:08:06 +00:00
Axel Dörfler
cfd8ea7832 Added a "cookie" parameter to the vfs_read|write|has_page[s]().
Also added a prototype for the fs_get_file_map() fs call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 21:52:28 +00:00
Axel Dörfler
9f67399eea Made header C++ safe. Also replaced the old "addr" type with "addr_t".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 21:49:38 +00:00
Axel Dörfler
77ca57637e The pnp_node_info structure is now a bit more public and accessible
within the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:19:41 +00:00
Axel Dörfler
1b4746c270 Changed the VM store and VFS functions a bit to better match the corresponding driver hooks.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:18:36 +00:00
Axel Dörfler
3551420440 Eliminated the "data" field in vm_store - since VM stores allocate their structure
themselves, they can just subclass that structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 19:06:12 +00:00
Axel Dörfler
9d9c6d7de9 No longer in use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 17:07:35 +00:00
Axel Dörfler
5cf089d64f Start of the file cache. For now only exports a vnode store.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 16:33:32 +00:00
Axel Dörfler
8b3bd22a1d Added vfs_get_vnode() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 16:00:22 +00:00
Axel Dörfler
36ce5c0164 Changed the way the vnode cache is set - it's now cleaner and can no longer
allocate a cache twice.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 14:07:00 +00:00
Ingo Weinhold
75df143732 Introduced a macro specifying the type function parameters are aligned to. Not nice, but seems to help with the automatic generation of syscall code (at least on x86).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 20:15:19 +00:00
Axel Dörfler
655c4f0c99 Resolved the argument type change of _user- vs. _kern_spawn_thread() - introduced
a new thread_entry_func typedef in the kernel only. Unlike thread_func, it accepts
two arguments - that functionality is not exported to the user, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 15:47:47 +00:00
Axel Dörfler
46365ccea6 Added new syscall _kern_sigprocmask(), renamed other signal syscalls to the
new naming scheme.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 12:02:26 +00:00
Ingo Weinhold
383cdedbd2 Several follow-up changes required by the changes either to the VFS
syscalls or to the syscall mechanism (which exposed naming and parameter
inconsistencies).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:45:00 +00:00
Ingo Weinhold
9955b99a86 Several VFS related syscalls have been changed, added or removed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:38:39 +00:00
Ingo Weinhold
6fec58934a We automatically generate what information are available from syscalls.h,
which from now on relieves us from the duty to maintain syscalls.S and
syscalls.c manually. Either includes a generated file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:34:43 +00:00
Ingo Weinhold
d7206d7e3b Changes to allow gensyscallinfos to parse it easier (adding markers where the prototypes begin and end, and named all parameters).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:29:35 +00:00
Axel Dörfler
364b28a12a Added a call that should exit the boot loader in some way; usually that
would be by rebooting the computer.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:18:33 +00:00
Axel Dörfler
a1b7427b0a A menu item can now be enabled and disabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:17:38 +00:00
Axel Dörfler
c28c059292 Added all syscalls needed for the next_dev() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 16:07:25 +00:00
Axel Dörfler
5c996485b7 Added syscalls for write/read fs info.
Fixed the wrong numbering of the syscall comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:27:31 +00:00
Axel Dörfler
63e846d50d Added a syscall to get a path for a directory node_ref.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 18:46:36 +00:00
Axel Dörfler
645e138890 Moved vfs/fd _kern_*() calls to syscalls.h.
Removed some includes from syscalls.h where possible, minor style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 01:51:56 +00:00
Axel Dörfler
342e53f418 No longer used; we now have a BeOS compatible replacement in posix/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-30 02:34:59 +00:00
Axel Dörfler
bb45cbbb30 Removed some unneeded includes, making the header easier to swallow.
Renamed the image and node monitor syscalls to the new scheme.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-29 20:12:29 +00:00
Axel Dörfler
649f65cc3a Added help text functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 02:52:38 +00:00
Axel Dörfler
3b5e4b4978 New method Target() that returns the previously chosen target.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 01:16:43 +00:00
Axel Dörfler
355bc28f32 Added another menu item type (that cannot be chosen in CHOICE_MENUs).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:28:28 +00:00
Axel Dörfler
1511772218 Added platform_init_video() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:27:04 +00:00
Axel Dörfler
82fc8f393c You can now attach an arbitrary data pointer to a menu item.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 21:50:31 +00:00
Axel Dörfler
99192aa450 Work in progress of the boot loader menu.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 15:51:59 +00:00
Axel Dörfler
f10007bef5 Removed platform_user_menu_requested() call.
Replaced its functionality by a new platform_boot_options() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:25:32 +00:00
Axel Dörfler
746bb367c0 Replaced "addr" with "addr_t", improved other types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:22:05 +00:00
Axel Dörfler
9eed5c272c This fixes all "implicit typename" warnings when compiling with GCC 3.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 12:51:57 +00:00
Axel Dörfler
ede8809e4a This fixes several "implicit typename" warnings with GCC 3.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 12:37:40 +00:00
Axel Dörfler
6234c00a97 Added two more platform functions to switch between a logo screen and text mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 13:25:37 +00:00
Axel Dörfler
10937f43ff Changed the digit '4' to look better with the others.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 02:10:27 +00:00
Axel Dörfler
2158ae19ee The kernel_args structure version and size can now be checked and identified
in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:54:04 +00:00
Axel Dörfler
e07c1f2cc1 Now stores an inode number along with the other preloaded image data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:53:09 +00:00
Axel Dörfler
ad3b4b1fad The Node class can now return an inode number.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:52:19 +00:00
Axel Dörfler
7765cbf6f4 file_system_module_info now contains the module name as well.
The Partition class now maintains a module name, accessible via the new
method ModuleName().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:51:33 +00:00
Axel Dörfler
d96c1c567e Added new prototypes for publishing/unpublishing partitions.
Made the header C++ safe.
Removed old and no longer needed bootstrap_devfs() prototype.
Removed unused includes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:33:53 +00:00
Axel Dörfler
734893f6d2 Renamed all VFS syscalls to the new style.
Improved returned types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:18:04 +00:00
Axel Dörfler
57ef9ab8db Fixed return value of some functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:11:37 +00:00
Axel Dörfler
f28a7f852d Static variables do have the "s" prefix.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 20:59:52 +00:00
Axel Dörfler
960371b741 Replaced <new> with <util/kernel_cpp.h> - this is the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:00:10 +00:00
Axel Dörfler
c9df0d11c8 Added definition for reserved region's ID.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 02:01:59 +00:00
Axel Dörfler
3999c1f3ec Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 18:15:25 +00:00
Axel Dörfler
2705fb7df0 Replaced the regions array with the nicer text_region and data_region members.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:51:27 +00:00
Axel Dörfler
e1f53d9bbe Added prototype for vm_unreserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:17:16 +00:00
Axel Dörfler
11727a9c43 B_EXACT_KERNEL_ADDRESS is now the same as B_EXACT_ADDRESS; it will be
removed once it is no longer referenced.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:06:35 +00:00
Axel Dörfler
dd9e837ebd Added prototype for vm_reserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:05:32 +00:00
Axel Dörfler
ee7e4109ad Removed REGION_WIRING_* and REGION_ADDR_* and replaced them by their
BeOS counterparts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:33:51 +00:00
Axel Dörfler
dab1088ba3 "addr" to "addr_t", cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:35:39 +00:00
Axel Dörfler
3c9e531071 Removed NewOS LOCK_KERNEL and LOCK_RW - replaced by B_READ_AREA, and friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:24:53 +00:00
Axel Dörfler
56b4e8289c We temporarily need a BeOS compatible cache implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:59:53 +00:00
Axel Dörfler
2defe47a24 Removed no longer used system call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 21:12:30 +00:00
Axel Dörfler
aad3f70c86 Moved the public fs functions to fs_interface.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:21:51 +00:00
Axel Dörfler
35c681e031 Ah, that looks better (and actually works...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 02:06:04 +00:00
Axel Dörfler
67efc07974 MAX_BOOT_CPUS is defined in kernel_args.h so we better include it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 02:03:29 +00:00
Axel Dörfler
a8061da698 Removed system_time() prototype; it's already defined in OS.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:31:15 +00:00
Axel Dörfler
2c628d4aef gKernelEntry is no longer necessary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:11:47 +00:00