Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold 5ddfffd44a Removed left over debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 13:48:07 +00:00
Ingo Weinhold 21da033912 Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 12:32:45 +00:00
Ingo Weinhold 45bf6259ad Fixed libbe_test app server build. ServerPicture.cpp uses the storage kit
private OffsetFile.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:27:33 +00:00
Ingo Weinhold 8e9ec2905a Added Samuel Rodriguez Perez to the list of contributors. Without him
FreeBSD wouldn't be a supported build platform.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:17:43 +00:00
Ingo Weinhold 047b4d3cc8 Patch by Samuel Rodriguez Perez (slightly modified): Make the new
bfs_shell build on FreeBSD. ioctl() is defined in a non-standard header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:16:00 +00:00
Ingo Weinhold 1ba4119dda Get more features on glibc host platforms, among those ISO C 99
definitions (like LLONG_{MIN,MAX}).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 09:55:31 +00:00
Ingo Weinhold 81149059e2 Removed kludge that was only necessary for building the old bfs_shell.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 07:59:47 +00:00
Ingo Weinhold 122723c33b Unbreak the build. No idea what that was supposed to mean. No Jamfile
(exceptions might be obscure ones in src/tests/...) should directly refer
to anything outside of the build system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 07:39:01 +00:00
Ingo Weinhold 19d7a2a162 * Moved the syscalls into the FSShell namespace, so that they don't
collide with the functions defined in libroot_build.so.
* On BeOS incompatible platforms fssh_open() and fssh_close() use the
  libroot_build.so _kern_open() and _kern_close() respectively, so that the
  attribute support works also when using the generic attribute
  emulation.
* Use fssh_open()/fssh_close() instead of open()/close() for the cp
  command, so that we get attribute support on BeOS incompatible
  platforms when the generic attribute emulation is used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 16:59:10 +00:00
Ingo Weinhold d4c02c0171 Memory leak spotted by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 16:50:25 +00:00
Ingo Weinhold 8dcb250c8a Thou shall not leave a blank line between copyright header and header
guard.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:26:29 +00:00
Ingo Weinhold 991a7f3309 Create the Haiku image using the new FS shell. Successfully tested on
BeOS R5 and x86 Linux so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:12:04 +00:00
Ingo Weinhold cc70cbe297 Reduced number of unused vnodes the VFS keeps around. We were hitting
the maximal number of (emulated) semphores on Linux before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:09:03 +00:00
Ingo Weinhold da66f026fd Buffed maximal semaphore count.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:07:09 +00:00
Ingo Weinhold 84498b0ddc Incorrect vfs_put_vnode(). Missed that one when changing from
vfs_get_vnode() to vfs_lookup_vnode(). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:45:17 +00:00
Ingo Weinhold 46a92976fd Missed this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:13:36 +00:00
Ingo Weinhold ca6586d9a3 Changed grist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:10:52 +00:00
Ingo Weinhold d0a2ff1303 Obsolete file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:07:54 +00:00
Ingo Weinhold 1fd66793e6 Link against libhaikucompat_build.a and the STL library.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:26:19 +00:00
Ingo Weinhold a3615ef1e2 * Fixed build under BeOS.
* Added "sync" command.
* The input_loop() notifies the external command client also, if parsing
  the command line failed or the command didn't exist. It doesn't no longer
  try do so, when in interactive mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:24:26 +00:00
Ingo Weinhold 655195fec9 Don't use headers/build headers under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:20:17 +00:00
Ingo Weinhold c3c6ad0a0b BeOS build fixes:
* On BeOS compatible host platforms we must not include
  BeOSBuildCompatibility.h, but HaikuBuildCompatibility.h.
* Fixed errno usage in command_cp.cpp.
* Fixed fssh_ioctl().
* fssh_set_sem_owner() doesn't invoke BeOS's set_sem_owner() anymore or
  otherwise the FS's semaphores are assigned to the kernel.
* Commented out <string.h> functions that don't exist under BeOS (and aren't
  used anyway).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:19:19 +00:00
Ingo Weinhold a4d337d5dd Undefine macros defined under BeOS before redefining them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:11:04 +00:00
Ingo Weinhold 4b32170efd Work-around for an obscure gcc 2.95.3 bug: It complained about ambiguity
of fssh_stat struct and function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:09:47 +00:00
Ingo Weinhold b245b1a838 Missing POSIX macro under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:04:26 +00:00
Ingo Weinhold f067335f51 Added atomic_*() functions missing under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:02:53 +00:00
Ingo Weinhold 6c19139d0e Fixed external command related code. Increased the command line length to
100 KB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:02:13 +00:00
Ingo Weinhold aeb215184f Also quote the quoted string characters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:00:43 +00:00
Ingo Weinhold 1b7b59db11 Added libhaikucompat_build.a, basically being a libhaikucompat.a just not for
BeOS compatible target, but for a BeOS compatible host platform. Added atomic
functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:58:12 +00:00
Ingo Weinhold 4ce381e26c Fixed "jam run" feature for older shells.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:55:27 +00:00
Ingo Weinhold dac7faad8d Added volume initialization support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 07:22:22 +00:00
Ingo Weinhold 9d6c014f66 Added very basic volume initialization support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 07:20:58 +00:00
Ingo Weinhold f6233d2330 * Quieted down success output.
* Added non-interactive (external commands) support. The BeOS
  implementation needs some more work; well, the whole FS shell will
  probably have build issues on BeOS ATM.
* Added reasonably complete argument processing in main(). Options are
  similar to the old FS shell.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:47:03 +00:00
Ingo Weinhold 3b8715d804 Provide a way to convert FS shell error codes to host platform error
codes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:40:04 +00:00
Ingo Weinhold 2842773aa5 Added support for changing the host platform cwd to the cd command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 21:34:54 +00:00
Ingo Weinhold fd62d01f27 Add cp command source file too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:48:52 +00:00
Ingo Weinhold 1137bb03cc Added cp command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:47:50 +00:00
Ingo Weinhold a9a4bc6e1c Copy'n'paste oversight.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:46:58 +00:00
Ingo Weinhold 4f7504e31e * The command functions return actual error codes now.
* Added commands ln, mkdir, mkindex, rm.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 13:13:30 +00:00
Ingo Weinhold c94089f5db Use vfs_lookup_vnode() instead of vfs_get_vnode() when creating a file
cache, so we don't run into a "vnode ... is not becoming unbusy"
problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:56:19 +00:00
Ingo Weinhold a49b91c957 Segfault when panic()ing -- simplifies debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:54:41 +00:00
Ingo Weinhold f7d4785d7a Fixed debug build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:53:22 +00:00
Ingo Weinhold ada99c21af * Init kernel IO context.
* Added command management, an interactive input loop, and a few basic
  commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:33:23 +00:00
Ingo Weinhold 90c0876839 FS shell changes:
* Added basic built-in module support.
* Added rootfs.
* Added "kernel" initialization.
* Exposed the FS syscalls.
* Mounting/unmounting the FS works now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 22:37:01 +00:00
Ingo Weinhold 4fc054f504 POSIX strdup() is not required to handle a NULL argument gracefully (and
it doesn't under Linux), on BeOS it has to, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 22:26:04 +00:00
Ingo Weinhold 17d0be4cad Fixed atomic_add().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 22:23:57 +00:00
Ingo Weinhold 87ac9f1d46 Fixed boot loader BFS build which I broke with my recent changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 14:31:18 +00:00
Ingo Weinhold c391f84b2c * Prepared the BFS sources to be used with the new FS shell:
- Moved all inclusions of system headers into a new
    system_dependencies.h header, which conditionally either includes
    these or the FS shell headers.
  - Fixed compiler warnings related to printf-like functions (int32 is
    int, not long on non-BeOS platforms).
* Build a new bfs_shell. Compiles and links, but does nothing ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:25:49 +00:00
Ingo Weinhold a38a92c955 Beginnings of a new, better portable FS shell with Haiku FS interface.
Doesn't do anything ATM, but already provides the required system
interface (VFS, caches, POSIX functions).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:17:22 +00:00
Ingo Weinhold f38eff6aa2 Added a few more functions to the host platform BeOS compatibility layer:
* thread related functions,
* semaphore related functions,
* atomic_*() functions,
* readv_pos(), writev_pos().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:11:30 +00:00
Ingo Weinhold 5b1cb74b86 Even more correct return value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 10:47:21 +00:00
Ingo Weinhold 93ed453113 More correct return value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 10:45:57 +00:00
Ingo Weinhold 40844fe526 Ouch! sleep() != snooze()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 02:17:03 +00:00
Ingo Weinhold ca615cfc7a BRoster::Launch() didn't send a B_SILENT_RELAUNCH message to an already
running app. Fixes bug #1162.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-18 02:15:19 +00:00
Ingo Weinhold d619e89985 Fixed incorrect use of the sort() function. It expects a "less than"
compare function with bool return value, not a -1/0/1 returning
compare function. Fixes bug #1158 (registrar crash on shutdown).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 05:39:33 +00:00
Ingo Weinhold e1d3054a28 Patch by Urias McCullough: Revived jam package for rtl8169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 10:54:17 +00:00
Ingo Weinhold 315cfc48ca The ":" to identify a target for the "run" feature must be at the
beginning of the string; it was formerly matched anywhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 02:21:10 +00:00
Ingo Weinhold 4f4e5272fc Under Linux it is now possible to emulate the BeOS attribute support via
xattrs. It can be enabled with the configure switch "--use-xattr". Note
that the amount of data stored in attributes may be limited by the used
file system -- e.g. AFAIK ext3 has a limit of one block (usually 4 KB)
for all attributes of a file, which might not suffice. XFS should be
fine, as should ReiserFS 3.6 (or any FS which stores attributes in
hidden files).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 02:19:01 +00:00
Ingo Weinhold 055fa4f22f Assigning values to errno would not work; the next invocation would
overwrite them with the host platform errno again. We do now track
changes and use a hopefully reasonable strategy for updating the host
errno.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 02:04:21 +00:00
Ingo Weinhold d307e81230 Added ENOATTR.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 02:01:07 +00:00
Ingo Weinhold a9bf6ecbab libroot_build.so:
* Reorganized sources a bit:
  - The descriptor support is in a separate file now.
  - Disentangled the attribute support from the other stuff.
* Removed broken xattr use for attribute support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-07 19:01:21 +00:00
Ingo Weinhold ea3f7d3d8d Added an "isExecutable" parameter to the Translator rule. All
translators pass "true" (was used before), but I suppose most of them
don't really need it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-07 01:42:47 +00:00
Ingo Weinhold 1acbe440b8 Removed the obsolete second argument ("relpath") of the Addon rule and
shuffled "isExecutable" to the end. The new order favors the common use
cases. Adjusted all Addon invocations and while at it also removed
separate LinkAgainst invocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-07 01:27:19 +00:00
Ingo Weinhold afed18de79 New build system feature to shorten the turn-around times when working
with image files. E.g.

  jam -q update-image libbe.so kernel_x86

will only build libbe.so and the kernel (if necessary) and copy them
onto the already existing Haiku image. The MIME DB will not be
reinstalled, and only those source directories will be copied for which
the AddSourceDirectoryToHaikuImage rule is given a second argument
(e.g. "1"). The image will otherwise remain unchanged.

The "update-vmware-image" and "update-install" work similarly for the
VMWare image and the directory installation respectively. Note that, due
to the way the VMWare image is created (prepending a header to the
standard image), the file itself is fully rebuilt, i.e. changes made
during the emulation will be lost after updating the VMWare image.

The feature requires Haiku's jam. With other jam versions a similar
effect can be reached by accordingly setting the HAIKU_IMAGE_UPDATE_ONLY
and HAIKU_INCLUDE_IN_IMAGE in the UserBuildConfig file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 21:13:35 +00:00
Ingo Weinhold 2c24a1a9f6 New handy build system feature: It is now possible to pass a command
line to jam that contains build targets and that will be executed by
the build system after building the targets and replacing their
occurrences in the command line by their paths. The keyword indicating
such a command line is "run", targets are marked by a leading ":".
E.g.:

  jam -q run ':<build>xres' -l :libtracker.so

This builds the xres tool for the host platform and libtracker.so for
Haiku, and afterwards lists the resources libtracker.so contains. Note,
that this feature requires using Haiku's jam version.

The functionality is implemented by the new RunCommandLine rule, which
can, of course, also be used in the UserBuildConfig.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 03:14:58 +00:00
Ingo Weinhold f51c147043 Added rules NextID, which returns an numerical ID incremented with each
invocation, and NewUniqueTarget, which returns a unique target name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 02:39:37 +00:00
Ingo Weinhold 25b12e83ae Added rules for performing basic integer arithmetics (+, -, *). The rules
operate manually on digit lists, so they are certainly not fast and shouldn't
be used excessively, but at least it's possible to do calculations in Jam now,
should the need arise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 02:37:12 +00:00
Ingo Weinhold 8338b05a30 More FS interface documentation. All FS hooks required for writing a basic
read-only FS are documented, now. Be encouraged to review and add more. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 23:46:05 +00:00
Ingo Weinhold 3458a335ab Started documenting the FS API a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 01:27:50 +00:00
Ingo Weinhold ed07b9c7e3 The last missing hooks -- get_vnode_name(), write_attr_stat() and
rewind_query() -- are passed to the userland. get_vnode_name() has an
emulation in userland, in case the client FS doesn't implement it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 04:40:54 +00:00
Ingo Weinhold 610f8dbb5f Utterly obsolete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 04:31:30 +00:00
Ingo Weinhold 53b742e1bb Define debug output prefixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 04:30:22 +00:00
Ingo Weinhold 1e768ed1d3 get_vnode_name():
* read_dir() is supposed to return B_OK and and a count of 0 when
  reaching the end of the directory. In case the node in question could
  not be found, we were looping infinitely.
* free_dir_cookie() was not invoked.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 04:29:24 +00:00
Ingo Weinhold 6a83347f52 Synchronized with kernel file cache changes in r20509.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 23:44:24 +00:00
Ingo Weinhold 962b0b887d Added a wrapper function for the invocation of debugger commands. It
sets a fault handler, so that an invalid memory access while executing
the command (address typos always do the trick :-) won't result in
another KDL session on top of the current one, which wouldn't even be
"cont"able.

All pieces of code setting a fault handler do now save and reset the
previous one, so that e.g. a user_memcpy() in a debugger command doesn't
disturb the mechanism.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 17:15:37 +00:00
Ingo Weinhold 9bf1f552d9 Enabled setjmp()/longjmp() support in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 17:05:26 +00:00
Ingo Weinhold c26c2ab28a Fixed TARGET_PLATFORM r5 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 13:41:19 +00:00
Ingo Weinhold fd93718c93 BFS can be built for the userland. And it even seems to work. :-P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 00:19:40 +00:00
Ingo Weinhold b5975dbf4e Disabled stealing an unused page from some cache. Unfortunately this
introduced a locking problem, since vm_page_allocate_page() is invoked
with a locked cache. I guess I have to rethink the design. :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 00:16:36 +00:00
Ingo Weinhold c1316c8dd3 Synchronized with recent kernel file cache changes up to r20483.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 23:52:05 +00:00
Ingo Weinhold 6e442c70cb Reversed locking order of sImageLoadMutex and sImageMutex in
unload_kernel_add_on(). The former one could lead to deadlocks with
load_kernel_add_on() (e.g. occasionally the boot process would hang).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 23:06:09 +00:00
Ingo Weinhold 57a860987a A few more changes to pages_io():
* Added a few comments.
* Simplified the nested while loops by dropping the special handling for the
  first iovec and restructuring the innermost loop. This also rules out
  the possibility of a zero-length temporary vec. IMHO the readability
  has improved quite a bit (YMMV :-). Hopefully without introducing new
  bugs; please review!
* Corrected computation of totalSize in case less than size has been
  read/written.
* Also set *_numBytes in case all fileVecs have been processed. Only
  relevant in case the request extends beyond the end of file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 22:44:01 +00:00
Ingo Weinhold 08e7fb4054 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 20:27:39 +00:00
Ingo Weinhold 27d37d4d24 * Optional debug feature for tracking which page queue a page should be
in.
* New debugger command "find_page", which searches all page queues to
  find out, which one a page is actually in.
* Solved nasty race condition between the page scrubber and
  vm_page_allocate_page_run(): The page scrubber didn't mark the pages
  it was processing busy, so that vm_page_allocate_page_run() could claim
  them in the meantime. They would end up in the clear pages queue,
  although being assigned to a cache at the same time. This should
  finally solve bug #1056.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 19:48:51 +00:00
Ingo Weinhold e04bcee997 Made sources UserlandFS friendly. Can't be used with the fs_shell ATM,
anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 23:04:31 +00:00
Ingo Weinhold 563a8c4749 * file_cache_ref::lock was not initialized and destroyed.
* Fixed locking problems.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 23:02:10 +00:00
Ingo Weinhold f5a324b063 * Fixed iteration in block_cache::RemoveUnusedBlocks() as in r20459 for
the kernel implementation.
* block_cache::allocated_block_count was not initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 22:58:02 +00:00
Ingo Weinhold 3e414ec314 Fixed broken iteration in block_cache::RemoveUnusedBlocks(). The loop
would start with the first block in the unused blocks list, but then
continue with the blocks that share the same hash table slot, thus
freeing potentially used blocks. Could theoretically have caused
BFS to see and write incorrect meta/administrative data on certain
occasions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 22:53:45 +00:00
Ingo Weinhold 2e474644c7 * Added dprintf() to the kernel emulation interfaces for BeOS and Haiku
style FSs.
* Fixed an infinite recursion in the base dprintf() implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 22:18:59 +00:00
Ingo Weinhold 3f86eca54a Removed glibc's dprintf() from libroot.so. It clashes with the dprintf()
defined by the UserlandFS server and is of no real use anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 22:15:11 +00:00
Ingo Weinhold 9449be79e7 GCC 4 fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 21:14:40 +00:00
Ingo Weinhold 62d61ee675 Reformatted to respect 80 columns/line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 16:39:29 +00:00
Ingo Weinhold f332f5da9e Patch by "kaliber" (slightly modified): Adds
cardctl, compress, diff3, dump_cis, dump_cisreg, fmt, fold, ident,
install, installsound, merge, prio, pack_cis, pc, patch, rlog, unexpand,
updatedb, uudecode, uuencode, zipgrep
to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 16:29:51 +00:00
Ingo Weinhold 3f51dabd08 Another fault handler instance where we have to trick gcc4 not to
optimize our code away.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 15:59:51 +00:00
Ingo Weinhold 492271435a Patch by Hugo Santos:
* added additional address family names
* support dumping the contents of ifreq (only interface name right now)
  and of ifconf (dumps the maximum of 8 interfaces)
* added <sys/sockio.h> ioctl names and type handling


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 15:26:37 +00:00
Ingo Weinhold b8ba8f58d7 Added the disk device API to the libbe_haiku.so, so that libtracker.so builds
again for target libbe_test. Added respective syscall stubs and other functions
to libhaikucompat.a.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 15:20:08 +00:00
Ingo Weinhold 073ddff0ad Copy'n'paste ...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 13:27:44 +00:00
Ingo Weinhold de71c58165 Added parse_expression() to the kernel emulation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 13:20:53 +00:00
Ingo Weinhold 369e45856b Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 13:04:50 +00:00
Ingo Weinhold 5682fde439 OPTIM is reset for each subdir anyway. No need to do that manually.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 12:15:01 +00:00