936 Commits

Author SHA1 Message Date
Ingo Weinhold
831841e1c0 Moved generic autolocking code to <util/AutoLock.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:09:57 +00:00
Ingo Weinhold
b6933d8acc Moved generic auto locking code out of
<disk_device_manager/KDiskDeviceUtils.h> into <util/AutoLock.h>.
Added instantiations for recursive locks (moved from vfs.cpp) and
mutexes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:09:06 +00:00
Ingo Weinhold
1fa9da350b Removed obsolete struct.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:11:33 +00:00
Ingo Weinhold
4a24ce3652 An alternative doubly linked list implementation which is far more complete and usable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:42:56 +00:00
Axel Dörfler
14771b1547 Added _kern_transfer_area() syscall.
Added team_id parameter to vm_create_aspace().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 07:06:49 +00:00
Axel Dörfler
f1a2f39517 Added arch_rtc_init() function prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:28:40 +00:00
Ingo Weinhold
c277ab01e6 Make the compiler happy. Shadowing super class methods with different signature is a very annoying C++ feature.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 14:57:35 +00:00
Ingo Weinhold
ea69d9d35f Moved the kMessageHeaderMagic constant into the class. Made BMessage a friend of KMessage.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:10:42 +00:00
Ingo Weinhold
0859d5e9ae Added B_USER_CLONEABLE_AREA to the kernel area protection mask.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:56:31 +00:00
Ingo Weinhold
647bed8f15 Added clarifying comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:47:22 +00:00
Axel Dörfler
f3cadd05dd Improved header - struct kernel_args was only defined in arch headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:24:01 +00:00
Axel Dörfler
dd5857c283 Added devfs_publish_directory() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:37:08 +00:00
Ingo Weinhold
fbca78bb8b Added messaging service syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:51 +00:00
Ingo Weinhold
244ddcf058 Added _user_unregister_messaging_service(). Fixed second send_message() proto.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:19:03 +00:00
Ingo Weinhold
59b9b48bb3 Added a service that will be responsible for sending messages from kernel
to userland applications. A userland server (probably the registrar) will
register as the server responsible for delivering the messages. The
messages are passed to it via shared memory.

The advantage over sending the messages directly will be, that they won't
need to be dropped, if the receiver port is temporarily full.

Currently only the kernel side is implemented. Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:54:19 +00:00
Ingo Weinhold
e81d2d2645 Added missing headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:43:32 +00:00
Ingo Weinhold
c3a3ddf246 Added KMessage, a data container pretty much like BMessage, but
append-only and hence has very compact storage and a comparatively small
footprint implementation. Can be used for kernel->userland messaging.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 19:19:36 +00:00
Axel Dörfler
a829700f98 Added missing arch_system_info.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 18:00:33 +00:00
Axel Dörfler
dca263620a Improved headers, updated license, made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 17:52:06 +00:00
Ingo Weinhold
9a6c828556 The return value of _user_read_port_etc() is ssize_t. Reported by Gert van Valkenhoef.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 14:13:44 +00:00
Axel Dörfler
28d9360f57 Removed no longer used SYS_MAX_* constants (we have B_*_NAME_LENGTH for this).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 17:18:01 +00:00
Axel Dörfler
f43c430864 No longer used.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:46:01 +00:00
Axel Dörfler
321231a056 Added prototype for probe_for_device_type().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 16:13:27 +00:00
Axel Dörfler
ceba105306 Added function prototypes for the kernel private load_module() and unload_module() calls.
Made the header C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 02:34:00 +00:00
Axel Dörfler
6de263b12e This can be useful at other places as well (originally came from the
BFS implementation).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 02:31:56 +00:00
Axel Dörfler
aedf4f4358 Changes because of renaming various data structures (pnp_node -> device_node, ...).
Also renamed children_next|prev to siblings_next|prev as I was confused by the former.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-11 23:23:20 +00:00
Axel Dörfler
3278ab8475 Made header C++ safe. Added new function prototype for arch_dbg_con_init_settings().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:43:48 +00:00
Axel Dörfler
0d4ea07bd7 Added driver_settings support to the kernel_args structure.
The driver settings are put into the kernel_args memory section and
copied on kernel startup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-10 07:36:08 +00:00
Axel Dörfler
4b0c008cc5 Added some definitions for the generic syscalls. Cache modules should currently
be located in the "file_cache" directory - this might or might be changed later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-07 00:56:50 +00:00
Jérôme Duval
5622a2e2c5 added get_rtc_info, needed in the kernel for services which use local timestamps such as the dos filesystem
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-15 09:23:50 +00:00
Axel Dörfler
dbef8d930c As suggested by Ingo, the "subsystem" parameter is now a string. That allows
modules to use their module name directly.
Also introduced a whole range of reserved syscall functions in case we want
to add some more.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 17:09:06 +00:00
Axel Dörfler
b793d2a2bc Cleaned up the disk device manager syscalls to look like the rest.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 17:05:56 +00:00
Axel Dörfler
2fe71062b7 Renamed the semaphore syscalls to the new scheme (_kern_ instead of sys_).
Small cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 16:06:34 +00:00
Axel Dörfler
c3c3d22f64 Implemented a generic syscall mechanism.
Minor cleanup in syscalls.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 15:46:53 +00:00
Axel Dörfler
c2c20b7848 Incorporated some code from NewOS to set up a double fault handler.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-14 01:46:46 +00:00
Axel Dörfler
97dda329ed Some header work to reduce dependencies. Also fixes the debug build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:22:45 +00:00
Axel Dörfler
5c143f85ad cache_node_closed() and *_opened() now accept a vm_cache_ref as first
parameter instead of a void pointer.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:21:51 +00:00
Axel Dörfler
d786bd1324 Renamed vfs_get_vnode() to vfs_lookup_vnode() as it doesn't grab a ref to the node.
Added new vfs_get_vnode() that actually grabs such a ref.
vfs_get_vnode_cache() now fills a vm_cache_ref instead of a void pointer.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:07:27 +00:00
Axel Dörfler
c00c141557 vm_create_vnode_cache() now fills a vm_cache_ref instead a void pointer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:04:26 +00:00
Axel Dörfler
21bf7339b1 Moved B_KERNEL_{READ|WRITE_AREA} from vm_types.h to KernelExport.h.
Small header cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:01:26 +00:00
Axel Dörfler
dfb71e0444 Added a query length parameter to _kern_open_query() - it's much easier to
do these things in userland.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:33:58 +00:00
Axel Dörfler
fafd79e5c1 Added a function to allocate a non-continuous page run.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-12 20:33:01 +00:00
Axel Dörfler
68b54c0db9 Introduced new arch_vm.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-10 18:48:31 +00:00
Axel Dörfler
c44645aa42 vm.h was not used anywhere.
Introduced new arch_vm.h ("public" arch headers have the arch_ prefix).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-10 18:43:26 +00:00
Axel Dörfler
a16bf97a7d Added preliminary support for cache modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 07:35:20 +00:00
Axel Dörfler
a32c8f261f Renamed _kern_exit() to _kern_exit_team(), just to avoid any confusion.
Added real _user_exit_team() syscall (it was previously incorrectly mapped
to _user_exit_thread()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 04:14:55 +00:00
Axel Dörfler
b385f97e3e Added our first x86-only syscall for get_cpuid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 03:54:23 +00:00
Axel Dörfler
545ecbe86d Extended the get_system_info() mechanism; it now gets info about threads/teams
as well as architecture specific stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-30 21:06:11 +00:00
Axel Dörfler
a3129fbc3b Added cpu_clock_speed field for now - might either be moved to the main
kernel_args; depending on how it'll be done on PPC.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-30 20:57:36 +00:00
Axel Dörfler
be505eacf5 Removed all error codes that are not used anymore.
Some of the remaining ones would be candidate for the standard Errors.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-30 18:32:02 +00:00