Commit Graph

7564 Commits

Author SHA1 Message Date
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