Axel Dörfler
11a5baaf67
Updated the private kernel image API to be more efficient (no longer needs
...
to acquire the team spinlock).
Renamed the user syscalls to the new style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 15:04:36 +00:00
Axel Dörfler
fd1f6b7f01
Fixed a bug in elf_load_kspace(): the image structure and the pheaders were
...
freed in the wrong order in case of an error (could have crashed the kernel).
Implemented insert_preloaded_images() which prepares the preloaded images
for later use in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 14:22:00 +00:00
Axel Dörfler
dc4eb9db8d
Removed unneeded code, updated comment.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 14:20:14 +00:00
Axel Dörfler
797647691a
elf_region already had a field to store an area_id; we now use this one.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 13:54:13 +00:00
Axel Dörfler
d07a6f89a0
Actually, elf_region already contains an area_id field...
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 13:43:39 +00:00
Axel Dörfler
ff76eb5cde
Boot loader BFS now has symbolic link support.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 12:16:26 +00:00
Axel Dörfler
450843b48f
New "symlink" command which can create a symbolic link on the file system.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 02:04:38 +00:00
Axel Dörfler
73b10c8f1e
Adapted the fstat/_fstat work-around to like the user boot loader build as well.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 01:07:54 +00:00
Axel Dörfler
259fd3cdfb
open_from() now also supports absolute paths, in which case it will ignore
...
the passed in directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 00:26:22 +00:00
Axel Dörfler
429fb127d3
Fixes the build until we have this _fstat()/fstat() thing worked out.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 23:04:52 +00:00
Axel Dörfler
071c01b136
This should fix the R5 build again.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 23:00:42 +00:00
Rudolf Cornelissen
1208ac278f
new modelist setup: added 16:10 aspect VESA GTF modes if WS panel found
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 22:30:46 +00:00
Rudolf Cornelissen
c9210b6f8e
new modelist setup: added 16:10 aspect VESA GTF modes if WS panel found
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 22:25:36 +00:00
Niels Sascha Reedijk
746ef8017d
Unbork the build
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 19:52:45 +00:00
Axel Dörfler
1f4fa35b00
Now creates text/data areas for all preloaded images.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 19:02:41 +00:00
Axel Dörfler
d15df01c72
load_modules() now actually load modules; it doesn't just print out their name any longer.
...
Now scans "/boot/home/config/add-ons/kernel/boot" as well as "/boot/beos/system/add-ons/kernel/boot".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 19:00:05 +00:00
Axel Dörfler
38f5c6bbc4
Corrected elf_load_image() prototype; it requires an object of the Directory
...
class as first argument.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 18:57:58 +00:00
Axel Dörfler
cdacbf022a
elf_load_image() always returned B_OK instead of the real status.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 18:57:12 +00:00
Axel Dörfler
c2c0779e26
Added two fields that ease the kernel initialization of the preloaded images.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:50:20 +00:00
Axel Dörfler
bf67cc9591
Now uses the correct heap to allocate the image path name (kernel_args).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:49:23 +00:00
Axel Dörfler
e883af3cda
Since we use the same includes as the real system, we now export _fstat()
...
with 3 arguments instead of fstat().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:48:33 +00:00
Axel Dörfler
007c81ec98
Added kernel_args_strdup() function as a strdup() replacement.
...
Added a ToDo comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:47:06 +00:00
Axel Dörfler
f6de96a7e6
Added kernel_args_strdup() function as a strdup() replacement.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:46:38 +00:00
Axel Dörfler
f4c303c472
Fixed some warnings.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:56:48 +00:00
Axel Dörfler
0204c9a360
Added device manager to the kernel.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:49:38 +00:00
Axel Dörfler
d93e356b51
Changed the "stat" related syscalls to have an additional parameter that specified
...
the size of the stat structure to allow extensions of that structure.
Renamed those syscalls to the new naming scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:36:05 +00:00
Axel Dörfler
94e11a83bb
Fixes POSIX and R5 compatibility of the stat structure; readded field st_rdev.
...
Added an additional field st_type and changed functions to allow for this
extension while maintaining R5 compatibility.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:35:11 +00:00
Axel Dörfler
c396c39fc5
Changed the "stat" related syscalls to have an additional parameter that specified
...
the size of the stat structure to allow extensions of that structure.
Renamed those syscalls to the new naming scheme.
Updated the syscalls to support stat extensions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:33:17 +00:00
Axel Dörfler
5ac1540121
Changed the "stat" related syscalls to have an additional parameter that specified
...
the size of the stat structure to allow extensions of that structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:31:16 +00:00
Axel Dörfler
7a7c7d9c2f
Added current device manager built-in modules - the device manager itself will
...
probably be available as public kernel API as well (or rather, only).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:29:47 +00:00
Axel Dörfler
9bd10a87c7
The device manager is now initialized as well.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:28:21 +00:00
Axel Dörfler
8d1b721ad5
Added device_manager to the build.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:27:20 +00:00
Axel Dörfler
6aed83b39c
Removed all references of pnp_bus.h (its contents are now temporarily included
...
in device_manager.h).
Fixed some comments.
Removed realpath() from probe.c for now - mechanism will be changed, and that
prevented it from being built as part of the kernel; it's currently not functional.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:26:42 +00:00
Axel Dörfler
06e37d1ea5
Fix missing identation.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:24:14 +00:00
Axel Dörfler
87611252cb
Temporarily merged former pnp_driver.h and pnp_bus.h into device_manager.h.
...
This will be changed at a later time.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:15:09 +00:00
Phil Greenway
a94fb8e252
SF's CVS screwed up and forgot to add these updated files by Michael Berg.
...
Sorry for any inconvenience this has caused.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 08:30:52 +00:00
Axel Dörfler
38fdd0ca47
node_lock variable was replaced by gNodeLock (in nodes.c).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 00:25:43 +00:00
Axel Dörfler
b36321870c
Renamed some global static variables to match our style guide.
...
Changed some comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 00:09:21 +00:00
Axel Dörfler
1792829685
Fixed prefix handling; previous version was broken. It now allows the prefix to
...
be any size, not just full path names (even without the file name...). Optimized
it to only traverse paths that match the prefix.
The built-in modules now honor the prefix as well.
Renamed module_iterator::path_stack to stack.
The system add-on path was even wrong (but that didn't matter yet, as we're
still do a recursive search for modules).
The user add-on path now matches the real one - but that should probably be
retrieved from calling find_directory(), anyway...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 00:02:20 +00:00
beveloper
3d546cd6e5
Replaced spin() by snooze()
...
The link change functions are no longer called from inside the interrupt handler.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 22:06:32 +00:00
beveloper
a05655eea6
Event thread sem can now be interrupted.
...
em_start() is no longer called from within interrupt.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 21:20:56 +00:00
beveloper
ec3efcdcac
don't exit timer loop on B_INTERRUPTED
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 21:01:14 +00:00
beveloper
6000570ec3
debug code cleanup
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 20:50:20 +00:00
beveloper
9b4b9246a3
replaced printf by dprintf
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 20:28:44 +00:00
beveloper
9924627a70
implemented timers
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 20:27:54 +00:00
beveloper
89739e8c0a
Added ASSERT() macro to debug.h
...
Cleanup of printf calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 20:22:28 +00:00
Philippe Houdoin
0b2d0f8217
Ooops, damn code templates!
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 19:42:10 +00:00
beveloper
0ec64b89a9
Added a new timer function which can be used similar to the BeOS kernel add_timer function.
...
The difference is that these callback functions will be executed in thread (not interrupt) context,
and that they shouldn't crash (as add_timer does).
Integrated the timer funtions into the timeout() and untimeout() FreeBSD emulation framework.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 18:58:17 +00:00
beveloper
25993bbe98
removed polling support
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 18:19:59 +00:00
beveloper
8012ca94e6
delay execution of em_82547_move_tail for 100 usec to compensate higher timeout resolution (might still be too small)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-09 18:04:36 +00:00