Commit Graph

2168 Commits

Author SHA1 Message Date
Axel Dörfler
f4a87ad575 As Ingo pointed out correctly, B_INTERRUPTED is never returned when a semaphore
goes away; therefore we must not return B_BAD_PORT_ID in this case.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-10 01:08:55 +00:00
Axel Dörfler
942d411b67 Fixed kernel version of load_driver_setting(): the lock was not properly
released under certain conditions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-09 17:56:21 +00:00
Axel Dörfler
b885799ce7 Support for the input_server (R5 style) instead of using the (old) keyboard driver
directly, done by Jerome Duval.
When the USE_INPUT_SERVER constant is defined, it will try to get its input from
there. Currently disabled since it's not yet working.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-09 17:53:16 +00:00
Axel Dörfler
29ad57a6c0 Renamed main.c to console.cpp and link it against libbe.so
(in anticipation of future changes).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-09 17:20:08 +00:00
Jérôme Duval
db3e07c9e8 implemented _xdebugPrintf and _debugPrintf
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-09 16:02:05 +00:00
Axel Dörfler
54d6c54090 Moved over to new node monitor API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 02:54:12 +00:00
Axel Dörfler
de8432edeb Moved over to Ingo's new DoublyLinkedList - I miss my static list::Remove() :-))
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 02:27:04 +00:00
Axel Dörfler
09e756fbf7 Moved over to the new notification API.
Fixed rename implementation - it should now actually work (and also notify
the move which didn't happen before).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 02:18:25 +00:00
Jérôme Duval
aafd5156d4 Updated to tzcode2005c.tar.gz
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 22:42:24 +00:00
Ingo Weinhold
9965d18a07 Implemented all notify_*() functions. As soon as no longer used anywhere,
notify_listener() and send_notification() can be dropped.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 15:19:35 +00:00
Axel Dörfler
f9c5546a16 unistd/open.c should be changed to contain this variable when it's compiled
for the kernel - but since we still compile libroot.so with kernel build
rules, I place it there for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:49:45 +00:00
Axel Dörfler
92ce7b918a Improved capabilities of the file cache modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:30:07 +00:00
Axel Dörfler
2ab3ff4495 _kern_open() now has one more argument.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:23:38 +00:00
Axel Dörfler
72b8a30907 _kern_open() now has an additional parameter and replaces _kern_create().
Fixed permission handling - the umask is now correctly applied.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:22:40 +00:00
Axel Dörfler
503950421d Added two more convenience VFS calls: vfs_stat_vnode(), and vfs_get_vnode_name().
Removed *_create() and *_create_entry_ref() syscalls - they are now handled by
*_open() and *_open_entry_ref() calls which get another parameter for the permissions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:21:31 +00:00
Axel Dörfler
faa1f9368a Changed return type of relocate_image() from bool to status_t.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:15:19 +00:00
Axel Dörfler
12691b61c5 That's how the build fix should have looked alike :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 06:11:27 +00:00
Nathan Whitehorn
46300880d2 Fixed a build error.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 05:50:15 +00:00
Axel Dörfler
9465cd7465 Got the separation between start_dyn.o and libroot.so wrong:
__libc_argc and __libc_argv are initialized in libroot's startup code.
That fix now makes BApplication::ArgvReceived() work as it should.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 04:36:16 +00:00
Axel Dörfler
b460825e1f Fixed the bug that prevented the boot loader from running on many current
systems: good old A20 gate was not properly enabled on all hardware. Even
if it's not perfect now, either, it seems to work on many more systems
(all I have access to, anyway).
Please report if you have any issues with the 0x92 port A20 gate method.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 03:15:26 +00:00
Axel Dörfler
5042346db6 Fixed broken conditional ENABLE_SERIAL handling.
Also added a comment about what ENABLE_SERIAL is for.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 03:01:39 +00:00
Axel Dörfler
21bdfb9cf9 Moved the "random spots" for the first two page tables to 0x91000 and 0x92000
respectively; the area from 0x9f000-0x100000 is not really usable anyway, so
we can safely cut down the maximum size of the boot loader to around 500 kB.
Therefore, the first free physical page is now at 0x100000 straight.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 02:59:04 +00:00
Ingo Weinhold
164d84bb10 Switched to new DoublyLinkedList class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 02:35:16 +00:00
Ingo Weinhold
b0f7c84522 Switched to new DoublyLinkedList class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 02:19:23 +00:00
Ingo Weinhold
be6294af4b Switched to new DoublyLinkedList class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:53:00 +00:00
Axel Dörfler
a82d0abbd6 "it cannot fail"?? Hello, we're in the kernel here :-))
Actually, it would be quite possible for another thread to specifically
ask for space in that reserved range, so we're playing safe now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-01 00:07:26 +00:00
Axel Dörfler
b18fc6654c transfer_area() now reserves the address range of the old area after removing
it, so that it can guarantee readding it again, in case the transfer is failing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-31 18:36:05 +00:00
Ingo Weinhold
242ebd2030 The reduced area size was used for testing only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 23:40:17 +00:00
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