Commit Graph

2140 Commits

Author SHA1 Message Date
Ingo Weinhold
576ca13ddb Added debug output. No functional change. Surprisingly things seem to work.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 23:28:49 +00:00
Ingo Weinhold
d06fe82117 Exemplarily implemented notify_entry_moved(). Untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:13:35 +00:00
Ingo Weinhold
244f03dc1c * Moved the autolocking code for recursive lockers to <util/AutoLock.h>.
* Added resolve_mount_point_to_volume_root() version for external use
  (by the node monitor).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:11:46 +00:00
Ingo Weinhold
3424c4fea4 Renamed node_monitor.c to node_monitor.cpp and fixed implicit conversions from void*.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 14:09:01 +00:00
Philippe Houdoin
4220e676ba Added more fields length safety.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 15:24:49 +00:00
Axel Dörfler
04b59e02dd team_id == aspace_id.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 07:17:01 +00:00
Axel Dörfler
e6a3e8011c Added and implemented transfer_area() syscall; for now, transfer_area() is
not exported, only the syscall is.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 07:13:41 +00:00
Axel Dörfler
bde6836aff vm_create_aspace() now also get the team_id of the owner of the address
space to be created - this replaces the internal ID they had before.
Now, team_id == aspace_id.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 07:11:45 +00:00
Axel Dörfler
0b111f38f9 read_port() and write_port() must accept a NULL pointer as buffer if
the bufferSize is zero.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 07:08:17 +00:00
Axel Dörfler
82e4378f29 Added missing include.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 01:01:16 +00:00
Axel Dörfler
b15a05da82 Added empty arch_dbg_con_init_settings().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:40:57 +00:00
Axel Dörfler
6c59a0b5bd Added empty arch_cpu_shutdown() (just returns EOPNOTSUPP for now).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:40:16 +00:00
Axel Dörfler
4cf3e70f94 Added empty arch_system_info functions, added arch_system_info.c to the build.
Removed grist from libppc source files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:39:25 +00:00
Axel Dörfler
f2e40399c2 Moved initialization of the arch depending real_time_data fields into the arch
depending section by calling arch_rtc_init().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:30:50 +00:00
Axel Dörfler
72c01a1b3b Added arch_rtc_init() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:29:41 +00:00
Axel Dörfler
ca0b0a4857 Replaced old VM *_region() calls with current calls.
KSTACK_SIZE has been renamed to KERNEL_STACK_SIZE.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:22:38 +00:00
Axel Dörfler
8b2fa4d23c Added crti/n files for PPC - not tested, but they even might work.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 18:20:13 +00:00
Ingo Weinhold
7f1ee731a9 Using namespace std for nothrow.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 14:58:18 +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
ea3df577a3 After resolving the flag clash things work. Use our nice B_KERNEL_{READ,WRITE}_AREA flags for clarity.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 23:30:53 +00:00
Ingo Weinhold
aa50545364 As I recently learned making a kernel area B_READ_AREA/B_WRITE_AREA makes
it readable/writable for all userland apps. This is not what we want here.
We want to make the area cloneable for the registrar and hence use the
new flag B_USER_CLONEABLE_AREA. But there seems to be a bug that causes
strange things to happen, when using that flag only, therefore we go with
all of them until it is fixed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:18:23 +00:00
Ingo Weinhold
6e53f60e2c Added support for protection flag B_USER_CLONEABLE_AREA.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:13:10 +00:00
Axel Dörfler
f29e97d3ae Not at all needed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 21:23:51 +00:00
Axel Dörfler
72d7d28ef8 I accidently broke glibc's perror() - now it's working.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 21:20:35 +00:00
Ingo Weinhold
27bd55fdf3 * Improved initialization.
* The counter semaphore is now only released when writing a command into
  an formerly empty area. The userland part is aware of that. :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:51:06 +00:00
Ingo Weinhold
d7b6591345 Added initialization of the messaging service.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:48:34 +00:00
Axel Dörfler
0bfd48e555 Will now also publish directories for existing driver directories that
have subdirectories in order to find device drivers like /dev/audio/raw
without any drivers in /dev/audio.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:57:52 +00:00
Axel Dörfler
7ec59908da Added a devfs_publish_directory() function that just tries to make sure
that a path is available (like "mkdir -p").


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:17:02 +00:00
Ingo Weinhold
b5c8eaec52 Added messaging service header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:23:20 +00:00
Ingo Weinhold
65174bbf57 Added unregistration. Fixed MessagingService::RegisterService(): the semaphores weren't stored.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:03 +00:00
Ingo Weinhold
2c872c4fe5 Removed obsolete ancestor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 23:00:37 +00:00
Ingo Weinhold
4cacc85bae Prevent a linker error. It complains about multiple definitions of nothrow.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:56:19 +00:00
Ingo Weinhold
2d50eca728 Added the messaging service.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:54:46 +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
Philippe Houdoin
ce0c82200a Fixed the "no previous prototype" warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 21:23:33 +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
Ingo Weinhold
1e78d7ff9f That may be the wrong place, but R5's libroot prints 'Abort' when abort() was called. That's at least a helpful clue, when you see your program terminate spontaneously.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:34:57 +00:00
Ingo Weinhold
14a8f01955 Also call the initialization function of an executable's image. I don't know for what reason it wasn't done before, but not doing it at all breaks C++ exceptions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 17:29:40 +00:00
Ingo Weinhold
3e35b88903 Rather keep the .eh_frame section, if we want exceptions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 16:29:21 +00:00
Axel Dörfler
ba6aff63d0 The userland build now includes GCC's crtbegin/end.o as needed, surrounded
by our crti.o/crtn.o. In the future, we really shouldn't use kernel build
rules for userland applications/libraries anymore...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 14:13:39 +00:00
Axel Dörfler
5af708a20c Changed our nice crt0.c to something more GCC compatible; we're not calling
the global constructors/desctructors ourselves anymore, but let GCC do
that using crtbegin/end.o how it's thought to be done.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 13:36:31 +00:00
Axel Dörfler
9cc2fa71c5 The top-level stack frame now clears %ebp to mark the end.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 22:02:49 +00:00
Ingo Weinhold
984c3a2ec3 It's already 2005, isn't it. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 15:18:34 +00:00
Ingo Weinhold
61a9031bd0 Added get_stack_frame().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 15:03:08 +00:00
Axel Dörfler
60ec020574 Added a temporary fix to be able to boot using bootfs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 02:15:58 +00:00
Axel Dörfler
205c4c26e7 Use native types instead of "long".
Updated license.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 20:59:00 +00:00
Axel Dörfler
5195a9a892 Added __errno_location() when building under Linux - we might adopt this
as standard, though (and keep errnop() for BeOS compatibility only).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 20:12:10 +00:00
Axel Dörfler
2b9e2cec46 Fixed warning (GCC 3).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 17:58:58 +00:00
Axel Dörfler
623d7696c0 Added a platform_register_boot_device() stub function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 17:40:46 +00:00