Commit Graph

1979 Commits

Author SHA1 Message Date
Axel Dörfler
14d1496a7f sysconf(), pathconf(), and fpathconf() now at least do marginally useful things.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-24 00:16:51 +00:00
Axel Dörfler
2f524aed3a Reworked some TTY support functions. Added tcgetattr() function.
tcsendbreak() now ignores the "duration" parameter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:52:36 +00:00
Axel Dörfler
98ac7a9709 Removed the termios subdirectory; it's replaced by posix/termios.c.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:49:53 +00:00
Axel Dörfler
cf46507317 The termios support is now part of the posix_main.o object file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:48:50 +00:00
Axel Dörfler
2627eeff81 Joined the former termios/termios.c and termios/tcsetattr.c together to termios.c.
Added it to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:45:03 +00:00
Axel Dörfler
a78a421de8 Renamed sleep() to spin() as that's what it does, and sleep() also doesn't
like unistd.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 13:43:57 +00:00
Axel Dörfler
fe29b8929a Some cosmetics for booting with qemu.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-21 12:09:36 +00:00
Ingo Weinhold
3b554981d3 * Corrected sMountMutex comment.
* Turned sMountOpMutex into a recursive lock.
* Re-inserted sMountOpLock locking in vnode_path_to_vnode(). It doesn't
  deadlock on mounting anymore. :-P
* Added a check in fs_mount(), whether the mount point is a directory. If
  it wasn't, in general it wouldn't be possible to get its parent
  directory.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-17 12:29:27 +00:00
Axel Dörfler
452ba3abd1 Just like any other mount point, "/" should not be remounted - dunno
why that was there before. Thanks to Ingo for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-16 15:34:26 +00:00
Axel Dörfler
fbb0ac2170 fork() now at least calls _kern_fork(), but would not even be complete
if that one worked.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:48:28 +00:00
Axel Dörfler
f845dd4e4f Implemented userland part of execve().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:46:56 +00:00
Axel Dörfler
41f37da0fd Added empty and non-working syscalls for _user_fork(), _user_wait_for_child(),
and _user_exec().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:45:37 +00:00
Axel Dörfler
25258635f7 Implemented waitpid() a bit more; it now calls the _kern_wait_for_child() syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:44:06 +00:00
Axel Dörfler
cd4e4d3383 Added wcsmbs to libroot.so, replaced posix_gnu_getopt.o with posix_gnu_ext.o
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:28:34 +00:00
Axel Dörfler
ac50932dae Moved the getopt() functionality from the getopt/ subdir to the new
extensions/ directory - which will contain glibc specific additions
to the POSIX standard (getopt() is here because of getopt_long() etc.).
Also added obstack functions.
Added wcsmbs to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:23:08 +00:00
Axel Dörfler
0dffa6c281 It's now allowed to use wchar_t - it doesn't hurt anymore :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:21:19 +00:00
Axel Dörfler
5e4171c975 Made a minimum subset build - mbrtowc() is currently a hack to make it work...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 12:20:03 +00:00
Axel Dörfler
1b41fce458 Added some rudimentary AMD CPU identification, courtesy of Brennan Cleveland.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 01:54:50 +00:00
Axel Dörfler
75e4b8694c Removed the STREAM_TYPE_ constants.
Now maintains uid/gid/mode, modification and creation time for all nodes.
Implemented rootfs_write_stat() completely. rootfs_read_stat() now fills
in all required values.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 00:44:57 +00:00
Axel Dörfler
31a726883b Now maintains uid/gid/mode/mtime/crtime, added pipefs_write_stat().
Access permissions are not verified.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 00:15:52 +00:00
Axel Dörfler
e4a0232cc7 Small bugfix: rootfs_read_stat() returned creation time instead of modification
time in st_mtime.
rootfs_write_stat() now properly locks the node access.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 00:02:55 +00:00
Axel Dörfler
a837c705f5 Now has a basic understanding of uid/gid/mode values and maintains it -
permissions are not tested, though.
Removed the STREAM_TYPE_ constants.
Now maintains a modification and creation time for all nodes.
Implemented rootfs_write_stat() completely. rootfs_read_stat() now fills
in all required values.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:42:14 +00:00
Axel Dörfler
f8cbad7b3e Implemented readdir_r().
Added note to dirfd() that it should be excluded from the kernel build
once the build system allows this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:10:29 +00:00
Axel Dörfler
ad21930ee8 Now exports the fflush_unlocked() symbol as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:02:44 +00:00
Axel Dörfler
316c0c3139 Added the dirent functions to the kernel as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 22:46:42 +00:00
Axel Dörfler
3901fa14bf Moved dirent.h functions from unistd/directory.c to new dirent.c file.
Added dirfd() call for BeOS compatibility.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 22:10:43 +00:00
Axel Dörfler
8141b62d5e Removed our old getopt.c - we're now using the one from glibc.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:44:59 +00:00
Axel Dörfler
7e24c69719 Added glibc's getopt() to the libroot.so build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:42:50 +00:00
Axel Dörfler
05cd7f3a98 Make it build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:41:46 +00:00
Axel Dörfler
ee3f1543b0 Added glibc's getopt() implementation for better compatibility with BeOS.
This normally resides in the posix/ directory in the glibc source repository.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:39:26 +00:00
Axel Dörfler
8bc22ef101 Error messages are now directed to stderr rather than stdout.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:19:50 +00:00
Axel Dörfler
30a0c00ded Some more debug output when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 17:43:53 +00:00
Axel Dörfler
81f2f81c21 If the kernel_args::cons_line field is not maintained (ie. is zero), the
console driver now clears the screen when it's initialized.
This improves the first impression of the standard boot process when
booting in text mode (which currently happens when you press "escape"
in the early boot stage).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 17:40:23 +00:00
Axel Dörfler
2ef444519e Work-around for buggy device drivers: some drivers (including our current
IDE drivers :-)) don't respect the total amount of bytes to be read in the
former readv() (now read_pages()) call. This can potentially fix all sorts
of strange errors in userland :)
Fixed the debug build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 17:37:43 +00:00
Axel Dörfler
aad5dc5b3d Removed holding the sMountOpMutex added by the last commit; although this
recreates a race condition, having it here breaks the kernel as fs_mount()
calls this function and already holds the mutex.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 15:46:02 +00:00
Axel Dörfler
82b76be31e Cleaned up the page alignment macros, incorporated NewOS fix #2022
(but with the correct semantics).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 18:59:25 +00:00
Axel Dörfler
04a280790e Added some debug output that's going through the kernel debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 18:17:47 +00:00
Axel Dörfler
a0f707f29e Fixed tab-output; usually, all characters after a "\t" would be ignored in the output.
Now panics if devfs_publish_device() fails.
Tracing can now be turned on and off (it's now completely silent in normal operation).
Some cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 16:25:47 +00:00
Ingo Weinhold
79c795cc5d * create_new_vnode() now also fails, if the volume is about to be
unmounted.
* Clarified a comment in fs_mount().
* Added a bit of documentation regarding the mutexes and the basic vnode
  functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 14:53:09 +00:00
Axel Dörfler
5a0da774a5 Fixed compilation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-13 11:44:58 +00:00
Ingo Weinhold
4ccf7da8d5 Added provisional implementation of system(). Requires a shell to be
available at /bin/sh (a symlink will do). Unfortunately there's some
problem with our shell that causes it to crash in most cases. :-(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 17:41:34 +00:00
Ingo Weinhold
9516afb70a Added `-c' option to execute a command line. Should work, but doesn't
always do. More often than not one gets page faults. As it happens
sometimes even before anything meaty has been done at all
(e.g. in main()->init_statements()->shell_var_set_text()->
shell_value_init_text()->malloc()), I believe that's a problem not caused
by me. And I wasn't able to track it down.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 17:37:42 +00:00
Ingo Weinhold
2c731698a2 Verified incorrect behavior of entry_ref_to_vnode() when hitting a mount point or the parent of a mount point.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 10:58:29 +00:00
Ingo Weinhold
1f8bfacc76 *_read_dir() now also returns "." and ".." Entries.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 00:06:37 +00:00
Ingo Weinhold
4f9e4fc932 * The VFS cannot just pass the result of fs_read_dir() calls back to
Userland. It must always set the d_pdev and d_pino fields and, if the
  Entry refers to a mount point even replace d_dev and d_ino.
* Added a TODO comment to entry_ref_to_vnode(). It should take care of
  mount points, as vnode_path_to_vnode() does, I believe. Will verify
  and fix that next.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 00:05:51 +00:00
Ingo Weinhold
119e5eeef8 *_read_dir() now also returns "." and ".." Entries.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-12 00:00:29 +00:00
Axel Dörfler
eab2037630 When a B_CONTIGUOUS area is created, its pages are now reserved upfront, as
this is the one thing most likely to fail - it now also handles this case
gracefully instead of dying.
Small cleanup, cleared some other ToDos: some user functions now delete
the area when they could not copy the target address.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 00:38:54 +00:00
Axel Dörfler
76faade4e7 Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 23:43:15 +00:00
Axel Dörfler
d79751261c Added write support for the cache - it only writes internally right now,
it never writes back dirty pages. Code is not tested!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 19:49:46 +00:00
Axel Dörfler
327981c3d8 Now includes arch_config.h instead of arch_cpu.h (because the info contained therein has moved).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 15:20:37 +00:00
Ingo Weinhold
61b83cc210 * Changed my doxygen comment markers from Qt to javadoc style, still
leaving the tags Qt style though. That's a bit weird, but that's the
  way Axel likes it, and we want to keep him happy, don't we? ;-P
* The common_[path_]read_stat() now fills in st_dev and st_ino in the
  result stat structure after the FS had its go. The information is
  readily available in the VFS, so why bother the FSs. In fact devfs
  didn't (and still doesn't) fill in st_dev which gave dev_for_path()
  some head ache.
* Modified _user_open_parent_dir() to accept a NULL buffer for the
  entry name and added a doxygen comment for it.

df now works properly on Haiku (save that printf() doesn't support
floating point numbers at the moment).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-09 23:21:09 +00:00
Ingo Weinhold
86170a3cd5 * Got rid of devfs_cookie::stream. It was superfluous since one can
always also access it through the devfs_vnode. This also solves an issue
  in devfs_read() where an access of a cookie->stream would crash the
  kernel, since cookie->stream was not set in devfs_open().
* devfs_open() now doesn't fail for directories and symlinks anymore.
  That prevented BNode to work for devfs dirs and symlinks.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-09 23:06:04 +00:00
Ingo Weinhold
1dae20235b If the /..' is /' then the name of the root node should consequently be
`.'. This fixes the _kern_open_parent_dir() syscall for the root directory.

I realized, that rootfs_read_dir() doesn't return the entries `.' and `..',
unlike Be's rootfs. Shall I add those, Axel?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-08 21:31:18 +00:00
Axel Dörfler
bd80f1c775 Now handles NULL cookies for the VM fs calls gracefully (in case someone
would want to mmap() a device directly).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-07 15:39:03 +00:00
Axel Dörfler
dc3089f8ff Added a "cookie" parameter to the fs_read|write|has_page[s]().
This has the advantage that the device can now be access in the right context.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 22:48:58 +00:00
Axel Dörfler
dd6cb90eac Added a "cookie" parameter to the fs_read|write|has_page[s]().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 22:34:08 +00:00
Axel Dörfler
68085f7cec Added a "cookie" parameter to the fs_read|write|has_page[s]().
Fixed the calculation of the amount of bytes read in bootfs_read_pages().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 22:32:00 +00:00
Axel Dörfler
2829b349c6 Added a "cookie" parameter to the vfs_read|write|has_page[s]().
Added an vfs_get_cookie_from_fd() call to at least temporarily support the
cookie as in the original devfs (not sure yet how this changes).
Implemented vfs_get_file_map() which calls the corresponding FS function.
Moved vfs_get_vnode_cache() around.
vfs_get_vnode() temporarily does its job unlocked - its only to be used (safely)
from within the file cache, but this should definitely be done better.
Fixed a bug in get_vnode_name() - it did not support getting the name of
a root directory; it didn't pass the call through to the parent file system.
Fixed a bug in _user_entry_ref_to_path() which would add another "/" for
files immediately under the root (ie. "df" showed "//boot" as mount point
for the boot partition).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 22:29:20 +00:00
Axel Dörfler
55efd37df7 Added the file_cache.cpp file to the build.
_KERNEL_MODE is already defined when using kernel build rules, no need
to do it here manually.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 22:05:46 +00:00
Axel Dörfler
e02c12f0b3 Added a "cookie" parameter to the vfs_read|write|has_page[s]().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 22:03:47 +00:00
Axel Dörfler
f72376a8dd The beginnings of a file cache. Read-only is already working fine; very
basic and with a temporary API.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 01:23:57 +00:00
Axel Dörfler
7f2ba8be02 Now clears out any remainders of the pages in the iovecs if the request
couldn't be satisfied completely (ie. because the file size is not a
multiple of the page size).
It's no longer necessary to implement this functionality in the file systems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-05 14:57:54 +00:00
Axel Dörfler
14d725bb50 The VM fs interface has changed to better match the one of the device interface.
Added a new fs call for the file cache.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:48:11 +00:00
Axel Dörfler
33657fc8ac No longer gets the old device_hooks but a pnp_devfs_driver_hooks structure
to be able to call device functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:47:08 +00:00
Axel Dörfler
f363b7231f Eliminated the internal device_info structure - the devfs will now store the
node and its interface directly. It will also convert the old interface into
the new one to simplify the implementation.
devfs_open() now contains the former pnp_devfs_open() as well.
devfs_publish_device() no longer passes the "ident" parameter to its lower
layers - it will be removed.
The VM fs interface has changed to better match the one of the device interface.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:46:10 +00:00
Axel Dörfler
26de720c84 The VM store interface has changed to better match the one of the device interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:41:42 +00:00
Axel Dörfler
c66a5d50b7 "Improved" a commentary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:36:50 +00:00
Axel Dörfler
b8d0a6779d pnp_node_info is now a little bit more public and can now be found in kdevice_manager.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:35:15 +00:00
Axel Dörfler
f6d0f5ea94 Accidently activated debug output with the last change.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 19:27:20 +00:00
Axel Dörfler
f3165b2826 Removed the vm_store::data field. Cleaned up the files a bit, removed
unused headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 19:08:47 +00:00
Axel Dörfler
80249479d4 No longer needed, we're now using the vnode store in ../cache/vnode_store.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 17:06:47 +00:00
Axel Dörfler
5ad8418606 Now uses the new vnode store.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 17:05:21 +00:00
Axel Dörfler
447a16653a Added a basic vnode store, more or less the same as the old one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 17:04:09 +00:00
Axel Dörfler
21c6ae44d3 vfs_get_vnode_cache() was pretty broken, and didn't returned the correct
cache pointer in most cases.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:55:41 +00:00
Axel Dörfler
103d0293a9 Moved this file to ../cache/block_cache.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:40:10 +00:00
Axel Dörfler
35df9fef55 Removed cache.cpp from the build.
Removed unnecessary grist from source files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:39:14 +00:00
Axel Dörfler
837e295821 Added the kernel_cache.o object to the kernel.
Added arch dependent POSIX stuff to libroot.so.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:38:05 +00:00
Axel Dörfler
e521a22974 Added the "cache" subdirectory to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:36:35 +00:00
Axel Dörfler
3a976c2844 Adds block_cache.cpp to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:35:32 +00:00
Axel Dörfler
125f4d5101 Implemented a "block map" that can efficiently map contiguous blocks to
addresses.
Not yet used - might be used instead of the vm_cache page caching for the file cache.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:34:24 +00:00
Axel Dörfler
6a3016d2ab Moved the block cache to this file (from ../vm/cache.cpp).
It still contains a very dump version of a BeOS compatible block cache.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 15:32:20 +00:00
Axel Dörfler
4872592920 Changed the way the vnode cache is set - it's now cleaner and can no longer
allocate a cache twice.
The VFS is now responsible for allocating the cache object - it will call
the VM to do that if necessary.
Added another accessor call to a pointer to the VFS private vnode object.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 14:11:04 +00:00
Axel Dörfler
2f1cbcf862 Changed the way the vnode cache is set - it's now cleaner and can no longer
allocate a cache twice. Now handles resource shortages gracefully.
Added small description to _vm_map_file().
Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 14:09:26 +00:00
Axel Dörfler
f8db8b97a8 No longer uses syscalls instead of POSIX calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 11:43:53 +00:00
Axel Dörfler
74cbf93e61 Added and improved lots of comments in vm_soft_fault().
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-02 15:13:15 +00:00
Axel Dörfler
05835518ae Added a function prototype and description on how the userland waitpid()
functionality could be supported.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-02 01:41:06 +00:00
Axel Dörfler
39536410a6 Added dumb group functions - they only know one group: "users" (should be pretty similar to R5).
Implemented and added functions from inttypes.h (not everything is working correctly, though).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-02 01:03:01 +00:00
Axel Dörfler
929525b836 Implemented wait() using waitpid() following the POSIX spec.
Added some more debug output for waitpid().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-02 01:01:02 +00:00
Axel Dörfler
d5b3917b25 Introduced new thread_entry_func type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 15:48:36 +00:00
Axel Dörfler
a52018b53b dev_for_path() should resolve symlinks.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 14:41:20 +00:00
Axel Dörfler
d3fe452749 A Jamfile for posix/arch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 14:40:06 +00:00
Axel Dörfler
9d91354201 Added empty setlocale() call, just to export it.
Removed unnecessary grist from source files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 14:39:01 +00:00
Axel Dörfler
f283d6c99e Added dummy strcoll() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 14:37:38 +00:00
Axel Dörfler
1676c18192 Added BSD style bcopy/bzero() functions to the build again - BeOS bash
uses them, too, and maybe others as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 14:35:20 +00:00
Axel Dörfler
7800e87a5a Added kill() implementation, user part of sigprocmask() now works.
Renamed syscalls.
Cleaned up files.
Removed unnecessary grist from source files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 14:06:27 +00:00
Axel Dörfler
d32f5c2e8b Added probably broken implementation of sigprocmask().
Renamed syscalls to the new scheme.
Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 12:05:09 +00:00
Axel Dörfler
532544a9a1 Added mktemp() and friends from FreeBSD - calls not part of the POSIX specs
are currently disabled.
Removed unnecessary grist from source files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 12:04:21 +00:00
Axel Dörfler
5be3370fe7 Added implementations of alarm() and ualarm() based on setitimer() (which doesn't
work yet correctly).
Added empty sbrk() for now - not sure what to do with this. Maybe we should remove
it completely (but BeOS bash needs it).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 12:00:00 +00:00
Axel Dörfler
d21f25079b Added missing function tzset() - doesn't do a lot yet, though. The source
file also contains the tzname symbol.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 10:28:25 +00:00
Axel Dörfler
f84671c1ca Added empty PPC jamfile - there are no arch dependent things yet for PPC.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 10:23:08 +00:00
Axel Dörfler
7be5564a86 Added setjmp(), sigsetjmp(), and friends from FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 10:21:54 +00:00
Axel Dörfler
6914fa8c77 Removed rlimit.c - we now have one in sys/ where it belongs to.
Added new "arch" subdirectory to the build.
Removed unnecessary grist from source files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 10:18:36 +00:00
Axel Dörfler
866a87e2b5 Added several missing functions - some of them work, some of them don't.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 10:14:12 +00:00
Axel Dörfler
7ac08f006f The user image ELF loader is now silent when compiled without TRACE_ELF defined as long as no serious error occurs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-31 04:56:15 +00:00
Axel Dörfler
1980b54a21 Fixed a stupid bug in list_move_to_list(): it did not work for empty lists.
The kernel no longer trashes memory when you delete a port without any
messages in its queue (i.e. you can now safely link against libbe.so :)).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-31 04:45:02 +00:00
Axel Dörfler
0ebb4701b9 fs_read_info() will now also succeed if the file system in question does
not support the read_fs_info() function - only the values that the VFS
does know about are filled in, then.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-31 03:41:29 +00:00
Axel Dörfler
b1cd9d2d94 Changed the resolution of the boot loader to a maximal width of 800 pixels to
have a smaller window in Bochs :)
Debugging output only if TRACE_VIDEO was defined.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-31 01:04:24 +00:00
Axel Dörfler
d885b0a17c Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-30 23:34:22 +00:00
Ingo Weinhold
d668899063 On success readlink() returns the number of bytes read, not 0.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 11:59:07 +00:00
Ingo Weinhold
48d046ac05 * Fixed usage of user_strlcpy() in several places.
* null-terminated the result of common_read_link().
* Fixed return value of _user_read_link().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 11:58:04 +00:00
Ingo Weinhold
f57dcf3200 Several follow-up changes required by the changes either to the VFS
syscalls or to the syscall mechanism (which exposed naming and parameter
inconsistencies).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:51:47 +00:00
Ingo Weinhold
383cdedbd2 Several follow-up changes required by the changes either to the VFS
syscalls or to the syscall mechanism (which exposed naming and parameter
inconsistencies).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:45:00 +00:00
Ingo Weinhold
9955b99a86 Several VFS related syscalls have been changed, added or removed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:38:39 +00:00
Ingo Weinhold
c46de31dea Renamed fs_query.c to fs_query.cpp and implemented the function. They don't work yet as the kernel part is not implemented yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:36:53 +00:00
Ingo Weinhold
6fec58934a We automatically generate what information are available from syscalls.h,
which from now on relieves us from the duty to maintain syscalls.S and
syscalls.c manually. Either includes a generated file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:34:43 +00:00
Axel Dörfler
a48a5ab889 devfs now supports the I/O scheduler mechanism and automatically uses it
for all raw disk devices.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 13:33:31 +00:00
Axel Dörfler
6e3462b57e Added I/O scheduler to the build.
Removed unnecessary grist from source files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 13:31:42 +00:00
Axel Dörfler
d3efd9a6ef Implemented the basic I/O scheduler architecture - doesn't schedule anything
yet, though (instead, it directly performs all requests, so there is no
functional difference to the previous mechanism).
devfs and the file cache will directly access the I/O scheduler. There is
one scheduler per raw disk device; devfs detects that automatically, and
all I/O will go through the scheduler, then.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 13:28:29 +00:00
Axel Dörfler
c96488c21d Now compiles fine as C++ file (fixed min() usage).
Added our license.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-27 17:57:43 +00:00
Axel Dörfler
ba74984309 Renamed devfs.c to devfs.cpp - it's now compiled as C++ file to allow usage
of kernel internal C++ API.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-27 17:46:48 +00:00
Axel Dörfler
ded78bc1ef Made changes to let this file be compiled as C++ file as well without warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-27 17:44:08 +00:00
Axel Dörfler
7fdfbc9850 No longer disables the floppy motor if it was booted from a floppy - that
somehow doesn't seem to work right with Bochs; after a reboot, the floppy
is not accessible (we might just need to turn the motor on again).
Not checked if this also happens on a real machine.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:40:51 +00:00
Axel Dörfler
d3a947b004 Now uses a macro to export global symbols.
Added the reboot() function from our kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:38:26 +00:00
Axel Dörfler
30f0f48a33 Added platform_exit() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:29:10 +00:00
Axel Dörfler
90b9284ea3 Fixed a warning when compiled with GCC 3.
Added currently non-working version of platform_exit().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:27:40 +00:00
Axel Dörfler
31f29a6f7e Added support for disabled menu items.
The target function of an item is now called upon every action, not only
if that item had a sub menu...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:26:40 +00:00
Axel Dörfler
f191528003 Added an InitCheck() method; if something goes wrong, the device won't be
added to the boot device list anymore. This is currently used to remove
devices that don't support the LBA access mechanism (since CHS support has
still not been implemented).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:25:08 +00:00
Axel Dörfler
b430068a23 Implemented the enabling/disabling of menu items.
"Continue boot" will now be disabled if there are no boot volumes.
Also, there will be an additional menu item "Reboot" in that case.
The boot device menu will now show a disabled "No boot devices found" label
then, and will be selected upon entry. Added a help text to "Rescan volumes"
which will also be selected upon entry if there is no boot device.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:23:28 +00:00
Axel Dörfler
a084c3cd69 No longer panics when it could find any boot volumes, but enters the
user menu in that case, too (to give the user the opportunity to rescan
the available devices).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:20:09 +00:00
Axel Dörfler
96a34bfa35 Improved debug output - you know get the exact address of a page fault, not
rounded to the page offset.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-24 21:47:11 +00:00
Oliver Tappe
c7000cc7b3 - fixed some issues when compiling with gcc-2.95.3. At least three more
problems remain, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-21 08:55:12 +00:00
Axel Dörfler
1085f3ae4e Implemented floppy start: the boot loader shell is now able to load the
whole loader from a floppy or CD-ROM and execute it as usual - and it
even seem to work, yaay :)
For now, the length of the boot loader is hard-coded, but it is compatible
with the "makeflop" command, i.e. it stores the length in bytes 3 & 4 in
the file.
Also, the maximum head number is currently hard-coded to floppies - ToDo
comments are in the text which insist on fixing this.
This makes testing the boot loader under Linux much easier, as it isn't
able to write to BFS volumes directly (and the copy_to_bfs_image command
doesn't build under Linux).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-19 06:22:32 +00:00
Axel Dörfler
7312c22b60 Now makes sure that the stack is set up correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-19 06:10:58 +00:00
Axel Dörfler
de28175b45 We need the whole 32 bit of the boot partition offset, not just the lower 16...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-19 06:05:55 +00:00
Axel Dörfler
e2d2417f0c Fixed missing header (malloc.h was including this for us before).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-18 00:25:28 +00:00
Axel Dörfler
6cd4801539 Just to be on the safe side: no longer tries to load non-loadable segments.
Improved error output in case something goes wrong.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-18 00:22:57 +00:00
Axel Dörfler
a468da6449 Fixed compilation error with GCC 2.95.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-16 16:18:48 +00:00
Axel Dörfler
d51a69a420 Removed some unneeded debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-16 15:51:08 +00:00
Axel Dörfler
9e8be53690 Fixed a GCC 3 warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-16 15:49:53 +00:00
Axel Dörfler
4db8c66409 Added empty platform_boot_options() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-16 15:38:38 +00:00
Axel Dörfler
8dd184dc16 Added (empty) missing video and menu functions to make the boot loader build again.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-16 15:21:23 +00:00
Axel Dörfler
5a2358d4ea Clarified output, so that you don't have to wait forever.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 19:29:08 +00:00
Axel Dörfler
c06b6654f3 _user_wait_for_team() no longer tries to copy the return code if its storage location is NULL.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 19:08:35 +00:00
Axel Dörfler
f947748c74 Fixed wrong function export that made every app crash on exit...
Renamed static variables to have the 's' prefix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 18:36:54 +00:00
Axel Dörfler
7d1a7f96ff _kern_debug_output() no longer accidently accesses unsafe user memory.
It now accepts strings of any size, reduced the stack consumption.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 17:45:54 +00:00
Axel Dörfler
8093fd8e2b Removed possible name collisions for temporary kernel test apps.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 17:37:15 +00:00
Axel Dörfler
93ad6cdf73 When DEBUG is defined, it adds a debugger command to list all images from
the current team.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 16:31:02 +00:00
Axel Dörfler
a97726f081 Registered userland images now contain a bit more information: the text/data
addresses and their sizes are now set correctly in image_info as well, as
well as the device/node fields.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 16:27:29 +00:00
Axel Dörfler
670f23dab5 The kernel now maintains device and file system names as well in order to
be able to fill the fs_info structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-13 04:20:06 +00:00
Axel Dörfler
9050d1ee48 Changed the way the kernel libroot objects are built; we are no longer
reusing the standard libroot objects, but build them all again to make
sure they are compiled with the proper flags (i.e. -fno-pic).
That saves a lot of headaches: as a side effect, the kernel runs fine
again, and even the node monitor test works nicely now. Go figure.
Only the string functions remain separate, but that should be changed
as well one day (it's not problematic, right now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-10 12:46:19 +00:00
Axel Dörfler
b42cb57bba Added some casts and removed the static *_internal variables.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-10 12:19:23 +00:00
Axel Dörfler
3419b1d553 Fixes possible compiler warning, thanks to Bryan Duff for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-28 09:54:52 +00:00
Axel Dörfler
323fe5330d Fixed read/write return types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-28 09:49:29 +00:00
Axel Dörfler
87da2cf3fe Since the conversion factor calculation is now in place, there is no reason
to overwrite this value anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 17:03:29 +00:00
Axel Dörfler
c13f87c4ef Implemented functionality needed for the next_dev() call.
Device IDs now start at 1, and not zero anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 16:12:46 +00:00
Axel Dörfler
475708d278 Connected the _kern_next_device() syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 16:10:43 +00:00
Axel Dörfler
899141ba19 Added syscall for _kern_next_device().
fs_stat_dev() and next_dev() should now work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 16:10:25 +00:00
Axel Dörfler
3ed05ce147 Added empty __printf_fp() to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 12:54:48 +00:00
Axel Dörfler
34fa6b663f Added empty stub implementations of wait(), waitpid(), and waitid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 12:44:43 +00:00
Axel Dörfler
d871284db8 Added iopopen.c to the build and make it compile properly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 12:31:02 +00:00
Axel Dörfler
aa1ea490d0 Implemented _exit().
Added empty implementations of fork() and all the exec*() variants; the
latter currently all call execve() and may pass the correct parameters
(not tested).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 12:28:22 +00:00
Axel Dörfler
007a64beef Added empty implementation of sigprocmask() to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 12:22:50 +00:00
Axel Dörfler
ead2658b25 Implemented BeOS compatible ctype functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-06 00:30:37 +00:00
Axel Dörfler
21f50dd07d Added non-working version of strftime().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 23:09:59 +00:00
Axel Dörfler
c1b52847e2 Added a difftime() implementation (for 32 bit time_t).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 22:52:25 +00:00
Axel Dörfler
0718113e06 Added gmtime() and exported the timezone variable for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 22:45:56 +00:00
Axel Dörfler
efcd87fced Added parsedate() to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 22:44:55 +00:00
Axel Dörfler
41b2bdc260 Added working ctime() to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 22:43:39 +00:00
Axel Dörfler
f5a134ac42 Added empty and non-working versions of mktime() and localtime(). BSD code
is not in a good shape, Linux code is pretty ugly - we'll see which one
we'll choose :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 22:23:25 +00:00
Axel Dörfler
590013dad4 Now initializes some global variable defined in libroot_init.c.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:50:20 +00:00
Axel Dörfler
bc8ea5f145 Removed empty stubs already exported by libgcc.a (was needed to link properly before).
Added more global variables that are maintained by the BeOS startup code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:47:54 +00:00
Axel Dörfler
f46a8b5376 Now includes libgcc.a and exports its symbols (needed for BeOS compatibility).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:45:50 +00:00
Axel Dörfler
9acf941f15 Added syscalls for write/read fs info.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:28:31 +00:00
Axel Dörfler
e423368fa3 Connected syscalls for write/read fs info.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:27:55 +00:00
Axel Dörfler
27cbcfb000 Added missing load_image() call - does not work yet, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:01:24 +00:00
Axel Dörfler
c17a1f18a5 Added working sync() and fsync() calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 17:55:13 +00:00
Axel Dörfler
58131f940d Implemented syscall to get the path for a directory node_ref and made it available to userland.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 18:48:58 +00:00
Axel Dörfler
fa310b3a35 Added _kern_dir_node_ref_to_path().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 18:47:11 +00:00
Axel Dörfler
056f3c62e3 Now exports the __strtoXX_internal() functions from glibc, too - some
apps are using those.
Their implementation is currently not complete; they just call the
public functions, the group argument is ignored.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 17:54:40 +00:00
Axel Dörfler
8503a60446 Fixed typo that prevented compilation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:57:29 +00:00
Axel Dörfler
be874324a3 VFS syscall prototypes have been moved to syscalls.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:56:06 +00:00
Axel Dörfler
7b89ff958c Now uses kernel exported POSIX functions instead of their internal counterparts.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:55:24 +00:00
Axel Dörfler
9835b64792 Now use kernel exported POSIX functions instead of their internal counterparts.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:54:52 +00:00
Axel Dörfler
54f1ea35c7 Moved VFS syscall prototypes from vfs.h to syscalls.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:47:43 +00:00
Axel Dörfler
cfa218268b Moved VFS syscall prototypes from vfs.h to syscalls.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:38:03 +00:00
Axel Dörfler
f88314cbfc syscalls.h includes a little less than before...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:36:09 +00:00
Axel Dörfler
20e40af982 syscalls.h now includes less than before.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:34:36 +00:00
Axel Dörfler
477bb27551 Renamed node monitor syscalls to the new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:32:00 +00:00
Axel Dörfler
5ace7ebc02 Now uses the B_PATH_NAME_LENGTH constant.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:30:36 +00:00
Axel Dörfler
5f6aed4937 syscalls.h now includes a little less than before.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:29:11 +00:00
Axel Dörfler
26afb01fec Renamed image syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:27:53 +00:00
Axel Dörfler
0f579f8c6d Improved debug output when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 01:57:52 +00:00
Axel Dörfler
806586a704 Fixed compilation due to recent header changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 01:55:04 +00:00
Axel Dörfler
1084b3fc17 It's now _kern_null(), not sys_null() anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 01:53:36 +00:00
Axel Dörfler
e54c578346 Made the debugger() call a bit more useful - this is still no real implementation, of course.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-30 02:59:44 +00:00
Axel Dörfler
176a4ebc28 Added a proper assert() implementation, removed the old one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-30 02:39:29 +00:00
Axel Dörfler
50dbc6bcbd Renamed node monitor syscalls to the new scheme.
Added comments from storage/NodeMonitor.cpp to the syscalls here (they
will be removed from NodeMonitor.cpp), and adapted them where necessary.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-29 20:25:21 +00:00
Axel Dörfler
f004b0c15e Renamed image and node monitor syscalls to the new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-29 20:19:48 +00:00
Axel Dörfler
92726d601a Added the "other" stdio stuff to the build (stuff that's not from glibc).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-29 00:05:08 +00:00
Axel Dörfler
5ab2a9e4b4 Added missing functions from fs_query.h and fs_info.h, both not yet implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-28 12:36:13 +00:00
Axel Dörfler
e5948ee29a Resurrected posix_stdio.o: it now contains additional stdio functions not
covered by glibc's libio/stdio.
Added rename() and remove().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-28 12:27:39 +00:00
Axel Dörfler
e4901b9f4b "ls" now also prints the offset to the function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-26 03:08:36 +00:00
Axel Dörfler
5a23dcc80b find_image_at_address() now also takes the data section into account, so
that you can now also look up symbols in there.
load_kernel_add_on() now sets the text section read-only & execute after
having loaded the area - note, it currently doesn't have any effect anyway :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-26 02:15:48 +00:00
Axel Dörfler
a8441c4fd2 During early boot, put_module_image() will no longer unload anything when
there is no boot device available - this will prevent modules from getting
lost.
Added a comment to open_module_list() about its limitations while booting.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-26 01:40:46 +00:00
Axel Dörfler
00641fbdd8 Now maintains and exports a variable that points to the boot device.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-26 01:38:20 +00:00
Axel Dörfler
24e8f2c929 Fixed debugger command "dw" address translation, added better help output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-25 00:44:54 +00:00
Axel Dörfler
8ed11b38dc Fixed a stupid bug; malloc() was called with the wrong size - always use the "struct"
keyword in sizeof().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-24 23:48:44 +00:00
Axel Dörfler
a5fb7d4954 call_bios() can now also be called without having paging enabled (it now
recognizes this and doesn't enable paging after entering the protected
mode again).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 23:40:50 +00:00
Axel Dörfler
407c481dd1 Added strchr() to the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 04:13:27 +00:00
Axel Dörfler
a7aea4b86d Now shows the help text of a menu item while it's selected (up to two lines of
text, automatically wrapped correctly).
Added print_centered() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 02:55:51 +00:00
Axel Dörfler
447564cfea Added some help texts.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 02:53:34 +00:00
Axel Dörfler
649f65cc3a Added help text functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 02:52:38 +00:00
Axel Dörfler
a104674fdf Fixed typo, corrected video mode menu usage.
run_menu() now supports menu_item_hook for CHOICE_MENU submenu items.
Now selects the video mode chosen in the menu - it's broken right now
if you enter the boot menu without asking for it (i.e. when there is
no boot volume found).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 01:19:53 +00:00
Axel Dörfler
bc8add5da8 Now the menu items that can't be chosen are of type MENU_ITEM_NO_CHOICE.
Fixed a typo.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 01:14:45 +00:00
Axel Dörfler
c668dff52c A MenuItem now maintains a "user data" pointer.
Menu::Run() now calls platform_run_menu().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:39:40 +00:00
Axel Dörfler
81f569510c Now only switches to the boot logo if no boot menu was requested.
Calls platform_init_video() directly after the heap initialization - the
logo will now be shown before the VFS is initialized.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:37:46 +00:00
Axel Dörfler
f42302bcc8 Now maintains a list of possible video modes, and creates a real video
mode menu that even works.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:35:19 +00:00
Axel Dörfler
3be048bd11 Support for menus with more items than fit on screen; there will be a
scroll bar at the right side that shows you where you are.
"Page Up/Down" now jump one visible page up and down.
Support for MENU_ITEM_NO_CHOICE type.
Constants are now real constants :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:32:48 +00:00
Axel Dörfler
0ac3f5399f No longer initializes video - it will now be done by the platform independent
part of the boot loader (because then the heap is already working).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:26:33 +00:00
Axel Dörfler
ef9cf5ac1b platform_add_block_devices() no returns B_OK, but still does nothing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:23:15 +00:00
Axel Dörfler
3cdfe493ba What a great idea to remove the boot partition from the partition list...
It's fixed now; mount_file_systems() will just ignore the boot partition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 22:11:32 +00:00
Axel Dörfler
c54d49c275 Work in progress of the boot loader menu.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 15:57:56 +00:00
Axel Dörfler
689c94c815 Work in progress of the boot loader menu.
You can already use the menu, but your options currently don't have any effect.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 15:57:03 +00:00
Axel Dörfler
b045bd49f4 Kernel add-ons were not correctly registered (image_info was initialized
after the registration...).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 00:10:55 +00:00
Philippe Houdoin
ac9005b4bb s/OpenBeOS/Haiku/
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-20 15:47:22 +00:00
Axel Dörfler
d31902e857 The new logo for the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-20 00:49:23 +00:00
Axel Dörfler
5b82deb912 Now checks for boot options; if you press space, it will enter the boot menu
(when there is one), if you press escape, it will boot in console mode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:32:49 +00:00
Axel Dörfler
c89be553a6 Added keyboard.cpp to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:30:39 +00:00
Axel Dörfler
d0c5d9f9a8 Removed some debug output, no longer panics to be able to read the output :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:29:31 +00:00
Axel Dörfler
c28f7b9932 Removed platform_user_menu_requested() call.
Replaced its functionality by a new platform_boot_options() call.
The switch to the logo screen now comes a little later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:26:53 +00:00
Axel Dörfler
2ac69a4d66 Activated CPU speed conversion factor calculation again.
Added a spin() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:23:18 +00:00
Axel Dörfler
baf3145769 Fixed a big bug in the ELF loader: it didn't clear out the loaded segment
above p_filesz - that means it didn't clear BSS etc. - this was not noticeable
from Bochs, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:20:47 +00:00
Axel Dörfler
4c179368aa vesa_get_mode_info() no longer copies the buffer as well; it will now
write the contents directly into the buffer. If we'll ever intend to
store mode infos in kernel memory, this should be changed back.
vesa_set_mode() now sets the correct flags to get a linear frame buffer;
graphical boot now works in Bochs 2.1.1 as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 13:47:00 +00:00
Axel Dörfler
e70d4cb70e Added some VBE set mode definitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 13:41:38 +00:00
Axel Dörfler
ce5cf7b312 Simplified the VBE info block retrieval: we now use the intended target
address directly, and therefore, we don't have to copy the structure
and eventually relocate the pointers.
Made the boot logo location dependent on its size.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 13:29:32 +00:00
Axel Dörfler
7fe1bdeec9 Added some handy address conversion macros.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 13:23:34 +00:00
Axel Dörfler
fc17fe17eb Implemented the BIOS functions to access the keyboard buffer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 02:48:53 +00:00
Axel Dörfler
80180472db This fixes the PPC kernel build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:33:36 +00:00
Axel Dörfler
5829c4a2db Fixed warnings due to the changes in vm_translation_map.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:27:53 +00:00
Axel Dörfler
ae4a9c5f25 Fixed warnings due to the type changes in vm_translation_map.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:23:30 +00:00
Axel Dörfler
3ae898da8b Fixed the PPC boot loader build and added empty stub routines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 12:22:10 +00:00
Axel Dörfler
4adfc8f463 kernel.so and kernel targets now contain the same and correct objects.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 11:08:34 +00:00
Axel Dörfler
c8079ef9c9 Now switched to the boot logo and back when necessary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 01:03:36 +00:00
Axel Dörfler
eefe4b1d21 Work in progress:
- began to integrate the SMP/CPU stuff from the old boot loader; currently
  disabled, though
- began VESA/VGA support
- added temporary boot splash screen; it's a bit of a hack and only seem
  to work in Bochs 2.0.2 for now... (but hey, it looks good ;-))


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 01:02:40 +00:00
Axel Dörfler
754fdef3d7 panic() now calls hlt instead of spinning forever.
Added a ToDo comment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:59:02 +00:00
Axel Dörfler
842a265376 mmu_map_physical_memory() now accepts physical memory addresses that are not aligned to a page.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:56:45 +00:00
Axel Dörfler
1273cbedfc Added new function to map physical memory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:53:00 +00:00
Axel Dörfler
faad86a4aa Some more debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:49:34 +00:00
Axel Dörfler
d001f09162 Removed the directory contents dump in vfs_mount_boot_file_system().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 13:26:39 +00:00
Axel Dörfler
578257f77e Fixed read/write fd functions return type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 10:32:26 +00:00
Axel Dörfler
0e3f14ee1d Now return useful inode numbers. The BFS inode numbers match the ones from
the real kernel file system (as there is no amiga_ffs add-on yet).
The file systems now also return the module name of their kernel counterparts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:05:34 +00:00
Axel Dörfler
50ef9ecfb6 Now stores the module name of the modules handling the partition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:04:05 +00:00
Axel Dörfler
082a2195f0 fstat() now fills in the inode number as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:01:45 +00:00
Axel Dörfler
a1b4720e1a load_modules() will now also load all modules that are needed to identify
the partitioning and file system of the boot volume.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:00:52 +00:00
Axel Dörfler
d88c45c6f2 Now maintains the inode field in the preloaded_image structure.
It will now load all modules only once by identifying them using their inode number.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:59:59 +00:00
Axel Dörfler
4807cd86ea Now stores a link to the partition of a volume, and adds a new method
GetPartitionFor() to retrieve that information again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:58:50 +00:00
Axel Dörfler
f24066f694 Now checks the kernel args structure size and version, and bails out if
it's not known (it currently only support the current version, of course :-).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:57:13 +00:00
Axel Dörfler
201b3e6fd1 Now maintains the kernel_args size and version fields.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:55:45 +00:00
Axel Dörfler
0e67fb5a42 Now maintains the kernel_args size and version fields.
Removed unused code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:55:27 +00:00
Axel Dörfler
995a393e12 Unfortunately, -fno-pic must be set manually, even for kernel rules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:49:36 +00:00
Axel Dörfler
262923839e Made strrchr() available in the boot loader.
Relocated fortunes to the standard /etc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:03:35 +00:00
Axel Dörfler
67d9fe3273 Fixes fortune; it no longer crashes when there are no fortunes in the file.
Relocated the fortunes file to better match the usual Be locations.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:02:45 +00:00
Axel Dörfler
6f4ae5140d Renamed VFS syscalls to the new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:00:53 +00:00
Axel Dörfler
fc44d00f56 Added 8-bit palette mode.
It now sets the background color correctly in all modes (in hi/true color
currently only if its a gray/black/white color).
Renamed VFS syscalls to the new style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:51:41 +00:00
Axel Dörfler
b640ca789b Renamed VFS syscalls to the new style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:49:34 +00:00
Axel Dörfler
b1753651c6 Renamed VFS syscalls to the new style.
Improved returned types.
Removed dup2.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:42:17 +00:00
Axel Dörfler
b8599dec8e Added needed header when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:40:21 +00:00
Axel Dörfler
5d5716e614 Now calls the new devfs partition (un)publishing calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:38:55 +00:00
Axel Dörfler
0d961b9fbc The KPartition base class does not know anything about publishing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:37:46 +00:00
Axel Dörfler
affbc7ade7 Renamed VFS syscalls to the new style.
Improved returned types.
Added and initializes Disk Device Manager.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:35:10 +00:00
Axel Dörfler
bd2d09ddc3 Added empty implementations of the new partition publish/unpublish calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:32:22 +00:00
Axel Dörfler
9a0de43e56 Added private storage headers to be able to use disk device manager headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:30:59 +00:00
Axel Dörfler
c8a8e52f79 Renamed VFS syscalls to the new style.
Improved returned types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:29:37 +00:00
Axel Dörfler
244272ccb4 Renamed VFS syscalls to the new style.
Fixed read/write calls to use and update the descriptor position.
Removed the CHECK_USER_ADDR() macro; it's now using the usual (more readable) check.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:28:33 +00:00
Axel Dörfler
32dc7b6393 Renamed VFS syscalls to the new style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:26:22 +00:00
Axel Dörfler
e878738efd Fixed compilation with tracing turned on.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:25:25 +00:00
Axel Dörfler
143691ef36 New dup.c - it now contains dup() and dup2() which makes dup2.c legacy.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:20:38 +00:00
Stefano Ceccherini
6ed18b369b Fixes the build with gcc 3.2.2 (still has many warnings, though)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-14 08:46:38 +00:00
beveloper
20c1edc7d0 fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 21:53:07 +00:00
Axel Dörfler
e44da8eb5c Build was broken due to missing -fno-pic (have I mentioned that we need
a new build system? :-))


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 20:58:30 +00:00
Axel Dörfler
f6fed308e3 Rewrote KDiskDeviceManager::CreateDefault() to be easier to read and actually
return the correct error code in case there is one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 20:57:11 +00:00
Axel Dörfler
1314df1a0f Added disk device manager to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:31:55 +00:00
Axel Dörfler
c9690ffdd8 Changed the build so that all symbols are exported.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:25:23 +00:00
Axel Dörfler
499b29e3ea Made all necessary changes to build the DiskDeviceManager as part of the kernel.
Removed KFileDiskDevice functionality for now (since it would have required more changes).
Also disabled actual partition publishing/unpublishing, because this will
be done differently.
This change will temporarily break the DiskDeviceManagerTest build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:03:31 +00:00
Axel Dörfler
e27f9449fe Now uses spawn_kernel_thread() instead of spawn_thread().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 15:47:19 +00:00
Axel Dörfler
4a847f30c5 Added exit_thread().
Changed thread_atkernel_exit() to look less broken - the way and when it's
called should still be investigated: NewOS looks a lot cleaner here.
create_thread() now creates the kernel stack upfront, so that it can easily
bail out of that fails. The user stack creation now makes use of B_BASE_ADDRESS
and is therefore a lot better and simpler. In case user stack creation failed,
it should now be able to handle that a lot more gracefully - but that hasn't
been tested yet...
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 01:45:33 +00:00
Axel Dörfler
6e0526544a Now cuts off the path when it gives a team's main thread its name.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 01:36:29 +00:00
Axel Dörfler
80c27b7a53 Switched to opendir() and friends instead of directly calling VFS functions.
Now correctly ignores "." and ".." in a directory.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 00:56:26 +00:00
Axel Dörfler
7bdd1a7874 user_vm_map_file() was broken after recent changes; it didn't allow the
kernel to write to read-only userland areas.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 00:39:40 +00:00
Axel Dörfler
9b1718cc6c Fixed number()/snprintf(): the buffer length was completely ignored when
printing numbers.
Removed unused code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 05:27:48 +00:00
Axel Dörfler
fab1cad1b8 Now other code accounts for reserved regions in the standard region_list as well.
Introduced RESERVED_REGION_ID definition.
Some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 02:03:55 +00:00
Axel Dörfler
edfcb58323 Tuned message in case debug command "ls" fails.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 01:47:44 +00:00
Axel Dörfler
6f09e38dea team_create_team2() no longer panics if it couldn't create the userland
stack - it just fails now (since create_area() currently panics when it
fails, this is a cosmetic change anyway :-)).
Now correctly cleans up in case elf_load_user_image() fails.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 01:43:16 +00:00
Axel Dörfler
abd212c06a Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 01:39:17 +00:00
Axel Dörfler
6ee4a2f161 Removed B_EXACT_KERNEL_ADDRESS again.
Replaced "addr" with "addr_t".
Header cleanups.
There is no need to call set_tls_context() in arch_thread_init_tls().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 18:10:45 +00:00
Axel Dörfler
577402ea7e We now have text_region and data_region instead of the unclear array.
load_kernel_add_on() now protects the text area read-only (theoretically,
as set_area_protection() has not yet been implemented).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:55:54 +00:00
Axel Dörfler
9d256ebb6e We now have text_region and data_region instead of the unclear array.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:52:17 +00:00
Axel Dörfler
c9a96524d2 Modified load_kernel_add_on() to use the new address range reservation functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:24:51 +00:00
Axel Dörfler
500e879b20 Implemented vm_unreserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:18:18 +00:00
Axel Dörfler
76377cf3f5 - Removed B_EXACT_KERNEL_ADDRESS - doesn't make that much sense (it was a private
and (very) temporary extension, anyway).
- Fixed _user_create_area() - it will now also recognize B_ANY_KERNEL_BLOCK_AREA,
  and it will not access a kernel address for B_EXACT_ADDRESS.
- create_area() will now handle B_EXACT_ADDRESS correctly as well.
- get_memory_map() will now silently ignore the missing final entry if the map
  contains only one entry.
- The check for user memory was wrong in get_memory_map(); it worked, but it
  was not necessarily portable.
- vm_reserve_address_range() was not correctly initializing the region.
- find_and_insert_region_slot() will now search for reserved regions when
  B_EXACT_ADDRESS is used - not yet tested, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:04:51 +00:00
Axel Dörfler
98b3dfb3e1 Extracted the address specification stuff out of map_backing_store() and
created a call around find_and_insert_region_slot() that takes care of
everything. Fixed B_BASE_ADDRESS support (it now really works).
First shot at a new VM function vm_reserve_address_range() that will be
used to fix our ELF loader issues (which needs to create adjacent regions
which the VM cannot guaranty at this point).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 00:05:02 +00:00
Axel Dörfler
e243c52503 Now correctly handles B_BASE_ADDRESS, and probably B_ANY_KERNEL_BLOCK_ADDRESS,
too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:55:39 +00:00
Axel Dörfler
706d99ca73 This patch from Jack Burton should finally fix the interrupt problems on
thread exit - get_death_stack() now returns the interrupt state so that
it can be restored correctly later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:07:08 +00:00
Axel Dörfler
1d67f5a556 Fixed executable paths.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:02:44 +00:00
Axel Dörfler
9c642b6454 Adjusted paths.
The stack of the main thread is now called "{team name}_main_stack" instead
of primary stack.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:35:14 +00:00
Axel Dörfler
0b57ed842f Adjusted paths to new locations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:15:16 +00:00
Axel Dörfler
5fce212779 Adjusted the default library path to the standard Be location - added
a note that we should evaluate the LIBRARY_PATH env variable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:08:08 +00:00
Axel Dörfler
d26f311066 Moved the executable files to locations that better match the Be directory
hierarchy.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:01:02 +00:00
Stefano Ceccherini
f59a054710 Should always count to 10 before committing. Another comment
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 14:26:22 +00:00
Stefano Ceccherini
741f96a162 Added a comment
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 14:03:38 +00:00
Axel Dörfler
e2df52b7da The symlink traversion didn't balance the ref_count of the starting vnode
correctly when it entered the next recursion of vnode_path_to_vnode().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 11:34:49 +00:00
Axel Dörfler
c26e46469e Fixed warning I just introduced.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 10:17:32 +00:00
Axel Dörfler
618253640c Userland segments are now called _seg0rw/_seg0ro.
Replaced "addr" with "addr_t".
Made segment naming safe (could the buffer could overflow).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 10:01:24 +00:00
Axel Dörfler
3c20ebe8d7 Unified kernel loader area names (they now use "_text", and "_data" suffixes
only).
Userland segments are now called _seg0rw/_seg0ro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:56:51 +00:00
Axel Dörfler
dc991aec9e Removed REGION_WIRING_* and REGION_ADDR_* and replaced them by their
BeOS counterparts.
Improved output of dump_region_list().
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:45:50 +00:00
Axel Dörfler
ee7e4109ad Removed REGION_WIRING_* and REGION_ADDR_* and replaced them by their
BeOS counterparts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:33:51 +00:00
Axel Dörfler
3c9e531071 Removed NewOS LOCK_KERNEL and LOCK_RW - replaced by B_READ_AREA, and friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:24:53 +00:00
Axel Dörfler
1adfa388af Hardcoded vfs_mount_boot_file_system() to try to mount the first raw SCSI
device with BFS - if it succeeds, it will print out the contents of the
volume's root directory.
fs_mount() now makes the mount structure available when mount() from the
FS is called - so that new_vnode() and get_vnode() can work.
fs_mount() did not correctly clean up when something went wrong; it also
didn't notice if the mount's recursive lock couldn't be created.
Some minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:43:46 +00:00
Axel Dörfler
e08f7c4e6f Added stupid version of parse_expression() for the kernel debugger.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:24:35 +00:00
Axel Dörfler
f1613a0b1f Replaced libvm.a with kernel_vm.o.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:05:46 +00:00
Axel Dörfler
bd383ca361 Added simple and dumb BeOS compatible cache implementation - at this point
it's (almost) read only.
Added it to the build - libvm.a is now build as merged object file, since
the cache functions didn't get exported else.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:02:43 +00:00
Axel Dörfler
69debf9e84 get_module() didn't correctly maintain the module ref_count (in case
something went wrong) - this would have hidden circular dependencies
as well.
Recursive directory scan was broken, it didn't filter "." and ".." out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:58:23 +00:00
Axel Dörfler
39f34cf425 Fixed the broken ioctl() function. Unlike BeOS, it also passes the
eventually specified length parameter.
The IOCPARM_LEN() macro should be used by the device/file system
implementation only if applicable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:53:35 +00:00
Axel Dörfler
baae156b90 Added built-in file system modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:33:18 +00:00
Axel Dörfler
6fdd106e9a File systems are modules now, so the module initialization must come before
bootstrapping the initial file systems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:32:16 +00:00
Axel Dörfler
730f5a50cc No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:29:43 +00:00
Axel Dörfler
f8edd5ecee File systems are modules now; removed all those no longer file system add-on
things.
Added unremove_vnode().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:25:55 +00:00
Axel Dörfler
bc1f913e8b File systems are modules now.
Renamed gDeviceFileSystem to sDeviceFileSystem.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:22:32 +00:00
Axel Dörfler
093015033f File systems are modules now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:20:59 +00:00
Axel Dörfler
287704526b Don't panic for now if the PnP-root node cannot be registered; it doesn't
harm in case bootfs is used for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 15:17:02 +00:00
Axel Dörfler
a0c7420724 Changes due to renaming the public fs functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:30:56 +00:00
Axel Dörfler
a540a3f904 Renamed the public fs functions (removed the vfs_ prefix), and separated
them from other functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:25:22 +00:00
Axel Dörfler
47197929ca Temporarily disabled bus manager iteration - this might be done differently
anyway when it's all done.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:45:16 +00:00
Axel Dörfler
12373950ab Added header guards, cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:40:08 +00:00
Axel Dörfler
a6426a42d7 Better debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:35:53 +00:00
Axel Dörfler
8a0d571192 That word might even exist, who knows?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:33:39 +00:00
Axel Dörfler
c8d5cf78c9 Improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:28:51 +00:00
Axel Dörfler
d9918aa7e8 Added temporary hack to load the ISA bus manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:25:45 +00:00
Axel Dörfler
97dfc072d7 Added devfs module to the built-in modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:21:08 +00:00
Axel Dörfler
c920230fed Added device manager support - work in progress.
Updated debugging macros.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:18:56 +00:00
Axel Dörfler
2fa2a91f08 Fixed build conflict with new ISA bus manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:13:49 +00:00
Axel Dörfler
7c3d0ba1f5 get_memory_map() didn't take page offsets into account (i.e. didn't work correctly).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 16:39:03 +00:00
Axel Dörfler
2195a2522a Implemented get_memory_map().
lock_memory() and unlock_memory() will now silently fail and return success -
that's only to get things working.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 01:14:18 +00:00
Axel Dörfler
755b059fc1 Doh, Elf32_Word is unsigned, so st_size cannot go below zero.
Also made elf_lookup_symbol_address() less restrictive with respect to the
ELF symbol found (it now accepts all types, not only functions).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-01 00:35:55 +00:00
Axel Dörfler
6444e8f7bf Copied boot loader code to load symbol table into kernel as well - not yet
tested, though.
No longer copies the elf_header in insert_preloaded_image(); it's not used
at runtime (should be superfluous to keep in other kernel images, too).
dump_symbols() now ignores entries with invalid values - don't know exactly
what makes a good entry, but that should look okay.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-01 00:27:15 +00:00
Axel Dörfler
8b33111039 Updated ELF loader to use preloaded_image struct for the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:52:01 +00:00
Axel Dörfler
b1b1136ca3 No longer uses gKernelEntry.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:15:37 +00:00
Axel Dörfler
2f42f1cf3a gKernelEntry is no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:12:15 +00:00
Axel Dörfler
cbb2b6c19f The kernel image data is now maintained in a preloaded_image as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:54:43 +00:00
Axel Dörfler
bc6ab31951 (Almost) removed special handling of the kernel image, as it's now
maintained in a preloaded_image as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:51:01 +00:00
Axel Dörfler
38e937ca8e Removed superfluous htons()/htonl() functions (we already have the
standard byte order functions in the kernel).
Small cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:49:06 +00:00
Axel Dörfler
5cc177f4d6 Replaced all "addr" with "addr_t".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:58:18 +00:00
Axel Dörfler
52823d0c3d Added debugger command for dumping all symbols of the specified kernel image.
Fixed warnings when compiled with TRACE_ELF.
Changed elf_lookup_symbol_address() to returning more useful information.
It now also scans the extended debug symbol table if present - for now, this
only works with preloaded images except the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:47:34 +00:00
Axel Dörfler
73e40f2d6e Small hack to get create_area() to create valid r/w areas in the kernel
(in BeOS, all kernel areas are r/w).
If you use B_READ_AREA/B_WRITE_AREA flags, you make the area readable
or even writeable from userland!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:43:57 +00:00
Axel Dörfler
9d9a07acd8 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:41:39 +00:00
Axel Dörfler
4a88dcb2cd Changed the "sc" output to be more useful.
Now uses the extended possibilities of the elf_lookup_symbol_address() call.
Fixed a bug in dbg_stack_trace(); it could crash at the top most stack frame.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:40:43 +00:00
Axel Dörfler
fa1ddc4f0e For debugging purposes, the boot loader is now able to load an additional
symbol table into memory and hand it over to the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 20:30:20 +00:00
Stefano Ceccherini
0bedbce52c Fixes the build when TRACE_SCHEDULER is defined
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-27 14:46:10 +00:00
Axel Dörfler
6d7ccae449 Separated exported from private functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-26 15:11:39 +00:00
Axel Dörfler
5aacd7f134 Fixed the PPC kernel build; now in sync again with the changes made
to arch/thread.h and arch/smp.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-25 16:33:47 +00:00
Axel Dörfler
0865e4b204 Added syscall for rename_thread(), courtesy of Jack Burton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 12:12:58 +00:00
Stefano Ceccherini
9b167d37f1 Added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 09:06:20 +00:00
Stefano Ceccherini
389b7216d6 Fixed "team" debugger command (should be the last one)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-21 10:17:08 +00:00
Axel Dörfler
ce986d0759 Renamed the build target of the kernel's test "ls" app (to separate it from
coreutil's ls).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-19 15:21:29 +00:00
Axel Dörfler
88cfa4fb99 Applied Jack Burton's patch to fix the boot problems on many systems:
find_real_mem_size must not be called with interrupts turned off.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 10:27:28 +00:00
Axel Dörfler
adbaa7817e It's now B_MAX_CPU_COUNT rather than SMP_MAX_CPUS.
Removed unused headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 09:42:13 +00:00
Axel Dörfler
f9ba8a1b61 Last patch was broken, thanks to Jack Burton for notifying me.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-17 10:01:17 +00:00
Axel Dörfler
70cdc7af60 If you call get_fd_and_vnode() you need to free it with put_fd(), not
put_vnode() - thanks to Ingo for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-16 11:55:42 +00:00
Axel Dörfler
20b8926754 The -imacro header inclusion is no longer necessary, and also seems to have
been removed in more current GCC releases; thanks to Jack Burton for pointing
this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-14 15:28:49 +00:00
Axel Dörfler
0b8a2c94ce Introduced sUsedPorts/sUsedSems variables that can make it more efficient
to deny further port/sem allocation (and also simplifies port/sem stats).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-13 19:35:49 +00:00
Axel Dörfler
78ab9987c3 Modules out of preloaded images will now be registered and can be used
like any other module (yeeha!).
You can even unload preloaded images later on (to replace them with a
more up-to-date on disk version).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:44:58 +00:00
Axel Dörfler
8590e919fc Now maintains the new preloaded_image::id field.
If an image cannot be created out of a preloaded_image, its resources
are freed now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:43:30 +00:00
Axel Dörfler
d00edc2f92 Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).
Now requires a driver to export the api_version symbol.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:53:37 +00:00
Axel Dörfler
b918b5035f Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).
Fixed missign file system unload.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:52:38 +00:00
Axel Dörfler
81c323a767 unregister_elf_image() didn't call unregister_image(), so images never got
unregistered.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:30:18 +00:00
Axel Dörfler
d14f9aac93 Cleanup to better match our coding style guide; renamed variables, etc..
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:29:19 +00:00
Axel Dörfler
7e323e80d6 Kernel images are now registered, so the ToDo item is fulfilled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:27:59 +00:00
Axel Dörfler
a364fba7d4 Is now using a hash for the images instead of a singly linked list.
Now registers its images as it should do (so you can use commands like
listimage in userland).
Added new debugger command "image".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:18:02 +00:00
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
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
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
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
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
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
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
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