Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 1c1b484da3 Removed old notify_select_event() in fsproto.h - this fixes the build for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:40:15 +00:00
Axel Dörfler 565162d26f Now always defines COMPILE_FOR_R5 for now (since there is no Haiku version yet).
Removed notify_select_event() prototype from local fsproto.h file; it now builds
fine again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:38:03 +00:00
Axel Dörfler 18469286aa Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:36:59 +00:00
Axel Dörfler af91664416 Now makes sure that the index get_tty_index() returns is in a valid range.
Added some more conditional debug output, turned off debug output.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:36:47 +00:00
Axel Dörfler 7740b91858 Ported over consoled from NewOS. It's a very simple replacement for the
Terminal application that uses our TTY driver.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:33:29 +00:00
Axel Dörfler 9d1f6da844 line_buffer_read() did not properly remove the bytes read, it just bumped
the read offset.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:29:10 +00:00
Axel Dörfler 87df3fdab8 WriterLocker mixed up source and target and always locked the wrong one.
tty_write_to_tty() now takes the extra character into account that may be
inserted with OPOST and ONLCR and don't write more characters as there is
space.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 17:27:57 +00:00
Axel Dörfler 57549ff41e Removed vfs_types.h - it's no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 01:31:15 +00:00
Axel Dörfler 2c8b3014ef Moved select events to Select.h. Now includes that header, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:31:20 +00:00
Axel Dörfler 7f246a3068 Added proper select() support for R5 and Haiku.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:29:49 +00:00
Axel Dörfler 8384cc5c92 Moved the select stuff into its own header file for now which is now included
from both, Drivers.h, and fs_interface.h.
The latter no longer includes vfs_types.h for iovecs, but <sys/uio.h> for iovec.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:28:57 +00:00
Axel Dörfler a83233417d Fixed warning, small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:11:19 +00:00
Axel Dörfler 8b41e11557 Fixed a possible deadlock (the requests benaphore is now unlocked before
waiting on the write semaphore).
The write functions didn't change the buffer address on a partial write
which could lead to corruption in the pipe data.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 14:30:53 +00:00
Axel Dörfler a83d9efacf Some changes to debug output.
Fixed a warning that popped up if TRACE_VM was defined.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 14:24:44 +00:00
Axel Dörfler 2ff1ba0dc7 tty_input_read() was blocking until the whole buffer could be filled - that's
not really standard behaviour...
tty_input_putc() now also releases the reader semaphore if that hasn't been
done before.
tty_input_putc_locked() now does character processing and sends some signals -
not yet complete, though, especially VERASE and VKILL do nothing right now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:58:33 +00:00
Axel Dörfler 8b2f07b69e Removed sleep(), it now uses spin() from cpu.cpp - which is the exact same thing anyway.
This fixes the build as unistd.h defined sleep() as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:51:34 +00:00
Axel Dörfler a67dbcba14 reset_line_buffer() is actually called clear_line_buffer().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:21:21 +00:00
Axel Dörfler 005333c0d9 No more debug output for the driver part.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 12:20:31 +00:00
Axel Dörfler f3df760478 Fixed the return type of user_memcpy() and friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:47:46 +00:00
Axel Dörfler 85f6117e32 Moved the user_memcpy()/strlcpy()/memset() calls to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:29:00 +00:00
Axel Dörfler fafe5b8bdb Added two ioctl() values to set and get the TTY's process group ID.
Copied the old and ugly naming style, though...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:24:46 +00:00
Axel Dörfler 2f88663bae Moved the user_memcpy()/strlcpy()/memset() calls to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:22:34 +00:00
Axel Dörfler 9ade9e873d Added fields for process group and session IDs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 19:44:10 +00:00
Axel Dörfler f7bc46254a readwrite() was broken when it had to load more than one missing page at once.
It now prints a warning if the device driver doesn't handle iovecs correctly.
Again, this could lead to very strange behaviour.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 16:30:25 +00:00
Axel Dörfler fa42f1c2b9 Work in progress. Basic data exchange seems to work.
Only slightly tested (moved data to and from pty <-> tty).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 04:16:34 +00:00
Axel Dörfler 410c1c159f Calmed down the soon to be removed driver loader (to be replaced by a better
version in devfs directly).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 03:42:07 +00:00
Axel Dörfler da63fa920a device_open() gets the relative path from devfs mount point, not just the
name of the node.
devfs_read_stat() now (presumably temporary) sets the size of the device
for partitions and reports a block device rather than a character device
if the size unequals zero.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 03:22:56 +00:00
Axel Dörfler af069b1a47 isatty() and ctermid() now actually work correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-28 01:51:01 +00:00
Axel Dörfler 4c3d76fd9b Minor cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-24 00:21:53 +00:00
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 b67cd64e96 Almost rewrote the termios.h header file.
It's now much cleaner than before. Removed the tcgetattr() macro; it's now
a real function call again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 23:46:24 +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 6b30603314 Added the beginnings of our TTY layer.
After having had a look at our own Terminal code (former MuTerm), I even
copied the original mess in /dev/tt/ and /dev/pt/.
The /dev/tt/ entries could be created and removed on demand, though, but
that can't be done yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-23 13:54:20 +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 130b146f78 Added comments to definitions.
Added preliminary O_TEMPORARY flag.
Made it a bit more POSIX compliant.
Cleaned up header.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-21 22:45:08 +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
Axel Dörfler ffda28d2b5 Fixed warning of the debug build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 11:05:33 +00:00
Axel Dörfler f390e6a3f7 Fixed the build of the debug version of the driver. Thanks to Jerome for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 11:03:40 +00:00
Axel Dörfler 3b00a056c7 Be's native types are no longer allowed in this file (because of the gensyscall utility).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-19 18:55:33 +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 bfe052ed74 I accidently mixed up the parameter order of the ISA I/O calls, thanks
to Stefano for reporting this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-16 10:39:14 +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 367fa74ad9 Added needed syscalls for fork(), exec(), and waitpid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 15:42:02 +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 40f2ce7d20 Activated the index functions and ported it to the the new VFS API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 02:08:54 +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 d8b0b6fe51 Added readdir_r() function prototype. Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 23:08:21 +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 5e2d8bb9f7 Added a BeOS compatible header for the GNU getopt() extensions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 20:56:37 +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 c6e3ff2240 "rdtest" now dumps up to 1024 bytes, not only 512. Also, it now prints
out a message to indicate that only a part of the requested buffer is
dumped on screen.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 19:51:47 +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
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
Axel Dörfler c654468395 Cleaned up the stdint.h header.
Separated macros from the typedefs, removed macros for unsigned minima as
these are not part of the standard.
Added intptr_t/uintptr_t types. Added some comments what those types stand for.
Added a note that this header is mostly compiler/arch specific and should
be handled (adapted) like this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 18:31:36 +00:00
Axel Dörfler e03f6fcfe2 Added the arch_config.h file for PPC, moved some stuff out of arch_cpu.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-11 11:04:23 +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 be2703cb09 GCC 3 fixes. Doesn't work yet for some reason.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 18:29:52 +00:00
Axel Dörfler 53cf6d7a5c Added a BUILD_LIBSTDC++ variable for apps that have to run in the build
environment and have to link against libstc++.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 18:27:29 +00:00
Axel Dörfler 8ad7344829 gensyscalls.cpp should now build under Linux again.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 15:40:12 +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
Axel Dörfler c2d416e259 Partially covered by arch_config.h and support/ByteOrder.h now/already.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 14:18:46 +00:00
Axel Dörfler 1aaaa3689a Moved some arch dependent config information to this new file (from arch_cpu.h).
There is probably more that could be moved in here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 13:08:06 +00:00
Axel Dörfler 1c448f3551 Removed all inline functions.
Also no longer let getc()/putc() point to libio functions directly (they
were even only macros there, too...).
Should now be backwards compatible, too. Thanks to Waldemar for pointing this out!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-08 16:22:28 +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 df435e99c2 Now only prints out the path if the path was initialized successfully - else
the app would crash in this case (because BPath::Path() could return NULL
then).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-07 01:50:08 +00:00
Axel Dörfler 0f3697566d The fs_readlink() function must work a bit differently in the new VFS API
(ie. it needs to add the terminating null byte).
It now also properly fails if the link is too long for the provided buffer.
This allows us to resolve links on BFS volumes using Haiku again :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-07 01:47:08 +00:00
Axel Dörfler a4e05e618a Added a "cookie" parameter to the fs_read|write|has_page[s]().
Implemented bfs_get_file_map().
Now uses the brand new file cache for the file data streams.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 22:56:52 +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