Commit Graph

410 Commits

Author SHA1 Message Date
beveloper
5cd2d50a61 Allow using the kernel debugger from inside BeBochs using your local keyboard.
You need to enable BOCHS_INPUT_HACK and type inside the BeBochs window,
NOT inside the Terminal where the output is printed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 00:51:38 +00:00
Axel Dörfler
f4b41f88a2 The private data field in the file_descriptor is now a union to hold different
types of objects (currently fs_mounts, and vnodes).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 03:52:10 +00:00
Axel Dörfler
0a2bd16f7d find_mount() must not lock the gMountMutex - the caller must do this; that
also fixed a bug, because fs_read_info()/fs_write_info() already locked the
mutex before calling find_mount().
Implemented the file system API for attribute directories, and index
directories.
Introduced a new macro FS_MOUNT_CALL() to call fs ops directly from the
mount structure.
get_new_fd() now panics if it is called with an unknown fd type.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 03:50:14 +00:00
Axel Dörfler
d8f40dbc54 Moved bootfs.h and rootfs.h to src/kernel/core/fs because they are private
to the VFS, not to the whole kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 01:13:42 +00:00
Axel Dörfler
71c882e5f5 Included NewOS change 1642 (argument checking)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 01:01:54 +00:00
Axel Dörfler
5f20abf004 Changes due to name changes in the fs API.
Fixed some warnings in fb_console.c


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 16:39:42 +00:00
Axel Dörfler
dd36c5aa04 Renamed "calls" to "ops" (yeah, I know, that doesn't make really much sense :).
Completed load_file_system().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 16:34:33 +00:00
Axel Dörfler
e04fced505 The available file systems aren't load anymore on startup.
Reimplemented file system handling, it's now loading file systems on an
on-demand basis - code is not tested yet, but should work!
That also fixed a bug that was in that code before (the image was not
unloaded in case of an error in vfs_load_fs_module()).
Renamed fs_id to mount_id.
Renamed all global variables to have the 'g' prefix in vfs.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 14:10:50 +00:00
Axel Dörfler
62781e5bc4 Renamed fs_id to mount_id.
Some clean-ups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 14:05:44 +00:00
Axel Dörfler
99e81006d0 Added some tests against wrong values in simple names, like attribute names,
or entry_ref names (paths are safe).
Implemented attr_remove(), and attr_rename().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 12:13:09 +00:00
Axel Dörfler
0ee7f6972b Rearranged some functions to better fit in their context.
new_file_fd() is now called get_new_fd(), and can also create fds for other
types as well. Furthermore, it lost some memory if it couldn't allocate a
new fd.
Implemented most of the VFS attribute API (kernel internal only), only
remove_attr(), and rename_attr() is missing for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 02:18:20 +00:00
Axel Dörfler
570b6eaeeb Removed the fs_ prefix from the fs_calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 16:17:22 +00:00
Axel Dörfler
d98c7edc06 Fixed more warnings due to the int/int32/status_t change.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 00:08:50 +00:00
Axel Dörfler
e58fbc960b Adapted the VFS and internal file systems with respect to changes made
in fs_interface.h.
Fixed many warnings due to the int/int32/status_t changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 23:24:12 +00:00
Axel Dörfler
fcbbd36ed5 Fixed warnings in smp.c.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 03:06:24 +00:00
Axel Dörfler
f200ef51c2 Fixed status_t/int/int32 issues.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:58:03 +00:00
Axel Dörfler
633275adee Fixed some int/int32/status_t issues.
Also kernel/module.h was hidden by os/drivers/module.h - fixed; kernel/module.h
is now called kmodule.h and only contains the module_init() function for the
kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:41:52 +00:00
Axel Dörfler
beb8d9fd79 Removed bzero.c and bzero.c from the build for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:39:41 +00:00
Axel Dörfler
483f789643 Implemented the driver_settings API. Tested code, works fine.
Only implements access from within the kernel, not from the BIOS. Since
it requires malloc(), realloc(), open(), etc. in the kernel, you can't
currently link it, but it's added to the build anyway (it's just not
linked against the kernel).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-22 15:31:50 +00:00
beveloper
8271683e44 backport a bugfix from newos:
another terrible bug that managed to exist this long and not clobber everything.
  The io vector table was being created with an incorrect size, so all sorts of garbage was getting written to whomever was allocated after it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-22 01:00:26 +00:00
Axel Dörfler
32c655168b Added the new string files to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-17 15:02:37 +00:00
Michael Phipps
8aabdd2043 More improvements. Does not run all tests, though - still have some locking issues
around clone area, I think. Still, much improved...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 03:14:44 +00:00
Michael Phipps
5fb6c38b6e Another checkpoint. Big one, this time.
Changed the whole way locking was done. What was I thinking?
Many changes and cleanup ideas from Ingo (thanks!).
Not perfect yet, but much better. Still a few things left to implement
in the COW arena - mmap doesn't use it. Also need to finish the vpageManager
which will cause mmap and cacheManager to use the same vnodes where possible.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 17:03:16 +00:00
beveloper
2be429a65d add extended pointer check to kfree
also initialize newly allocated memory with non zero (0xCC)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-11 12:44:48 +00:00
beveloper
e6d02b3a8b fixed a few bugs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-11 12:25:47 +00:00
beveloper
ea736e689e moved strlen out of min macro to avoid calling it twice
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-11 12:23:56 +00:00
Axel Dörfler
6cf8d733aa just changed a comment in rootfs_open().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 09:51:51 +00:00
Philippe Houdoin
60d8f409a2 Fix a possible crash in rootfs_free_cookie(). Thanks to Thierry Delhaise (befree)
for pointing this one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 07:07:44 +00:00
Axel Dörfler
911a288d35 Fixed a missing pointer initialization (found by Thierry).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-05 11:18:38 +00:00
Michael Phipps
f89acd8e06 With this change, all memory except for the areaManager is allocated from the
one area that we allocate.
The areaManager should really be created when the process is created, so this
is something to wait for HW integration time.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-05 03:26:02 +00:00
beveloper
e4676f539b Removing the misplaced loop.c file.
The whole current/src/kernel/add-ons/ directoy should not be used.
The correct location for kernel add-ons is current/src/add-ons/kernel/


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-04 23:46:38 +00:00
beveloper
90abd04b34 Change int into status_t, and other changes for better BeOS type compatiblitly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 02:19:22 +00:00
beveloper
75c97114f7 Change int into status_t, and other changes for better BeOS type compatiblitly.
This change also introduces a lot of new warnings concerning printf format
anomalies. Please do NOT fix them. Currently, int32 (and also status_t)
is of type int, but it will be of type long (BeOS compatible) soon, and
these warnings will disasappear.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 02:09:48 +00:00
beveloper
b32c90d52b fix type mismatches
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 01:40:34 +00:00
Axel Dörfler
e1481ffc45 Two fixes from NewOS (change 1606 & part of 1612) that made it into the
VFS.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-02 14:57:33 +00:00
Axel Dörfler
3f8b94d3cd Incorporated the change 1619 into our tree. Cleaned up the source.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-02 14:49:20 +00:00
beveloper
d703ffc09c This fixes a bad memory corrupting bug that overwrote one byte in
memomry with 0 each time a semaphore was created


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-29 00:03:45 +00:00
Michael Phipps
a608664c47 Start of work to move static variables into pages.
A little more clean up
More items on the TODO list (take one off, add 3 more).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 03:26:23 +00:00
Michael Phipps
c7b613e84e Added explicit placement new. This may be a problem in kernel land, but it
basically allows me to manage memory and still use new to setup the object.
Fixed the constructors so that objects are properly setup. Tests now run.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 01:34:19 +00:00
beveloper
c541e4ebc2 Applying the changes from BeFree.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-26 23:34:43 +00:00
Michael Phipps
afea942ffa Added pooling, removing new and delete in most cases.
pageManager still needs special treatment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-26 20:14:54 +00:00
Michael Phipps
df6ee31838 Added reference counting to pages. Cleaned up some bugs.
More testing continues...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-26 03:12:35 +00:00
Axel Dörfler
12696848a1 Now includes StorageDefs.h to get B_FILE_NAME_LENGTH, and defines MAX_SYM_LINKS
as SYMLINKS_MAX (limits.h).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 11:00:54 +00:00
Axel Dörfler
544cb7d33a Added realpath.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 10:41:26 +00:00
Axel Dörfler
c071c40a72 Added the new files in libc/sys/ to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 02:41:43 +00:00
Andrew McCall
599a8de01a Added pwd to the Jamfiles, changed the returns to use B error codes rather
than exit()'s. Andrew McCall


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 13:13:25 +00:00
Andrew McCall
468048ccc3 A quick port of pwd, it compiles OK, but I haven't had chance to test it as
I am at work!

Can someone point out what I should replace err() with from err.h when its
called please! - Andrew McCall


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 11:31:16 +00:00
lillo
ec603fd345 forgot this
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 09:10:09 +00:00
lillo
615a79cc3c Implemented send_data/receive_data/has_data thread syscalls
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:28:39 +00:00
lillo
e196b7bbc5 added single-queue scheduler; the old scheduler is compiled by default - to enable the new one uncomment the #define at the beginning of thread.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 13:14:29 +00:00
Michael Phipps
53aaaf43d8 Make mmap work, more testing, fixed some bad bugs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 01:09:45 +00:00
Axel Dörfler
9b458ca3e7 Fixed some crashing bugs in the pci code - the kernel now boots again.
Added trace methods.
Cleaned up some code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-14 02:09:45 +00:00
Axel Dörfler
6057f25bc6 Fixed a typo; dbg_init2() called dbg_init() instead of arch_dbg_init(), causing
many kernel debugger commands to be removed accidently...
Added a message if you entered an unknown command.
Some cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-14 00:04:59 +00:00
Axel Dörfler
c65ac9cbe8 Disabled debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-14 00:02:37 +00:00
Axel Dörfler
5ca8da7a4b Backported the new stack crawl command ("sc", not "bt" like in NewOS) from
NewOS. Untested yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 21:42:53 +00:00
Axel Dörfler
ef8d7092e8 Turns out that the old and unused redir_vnode was also still included here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 21:41:33 +00:00
Axel Dörfler
4c405cbdd4 The fs interface functions should now return a "status_t" rather than an "int".
Added syscalls for, and implemented sys_create_link(), sys_remove_dir().
Implemented link(), unlink(), rmdir().
Fixed the inconsistent path buffer handling in the user|sys vfs functions; the
path buffer is now exactly SYS_MAX_PATH_LEN from userland (incl. terminating
null byte).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 20:39:25 +00:00
Axel Dörfler
854fc92a7c Implemented some more calls in unistd.h.
Replaced the unused syscall for getdtablesize() with one for access().
Implemented sys_access() and added it to the file system interface.
Removed the fs function interface from vfs.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 13:51:36 +00:00
Axel Dörfler
e867ec51af Added mount.c, implementation of mount() and unmount().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 20:48:30 +00:00
Axel Dörfler
beddff0f56 Replaced opendir.c with directory.c, implemented chdir(), fchdir(), and
getcwd().
Introduced new xyz(int fd, char *path, ...) style of functions for
sys_setcwd(), and sys_write_stat().
Added missing sys_fstat(). Removed duplicated prototypes in syscalls.h
Fixed some minor bugs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 20:20:28 +00:00
Axel Dörfler
63f16f88e2 Removed the getdtablesize() syscall hack.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 17:53:02 +00:00
Axel Dörfler
2f5118ccdc Changed the argument order of sys_read/write() to be more intuitive.
Fixed a bug in module.c that I caused due to changes in the VFS.
Added the sys_write_link() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 17:03:03 +00:00
Michael Phipps
148c5492ba Added another test thread and varied the timing. Still seems to work right.
Updated the TODO list.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 04:06:41 +00:00
Axel Dörfler
2de6c0e035 Initial driver settings - don't worry there is nothing implemented at all,
it just exports the API.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-07 22:25:03 +00:00
Michael Phipps
7bebb1dec3 Just to make Daniel happy... ;-)
swapfile blocks are now put on a free list and properly reused, so it
no longer grows out of control.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-07 03:21:02 +00:00
Axel Dörfler
c2f9230c91 For some strange reason, elf_relocate_rel() crashed and reported a high
rel type (111) when it tried to load the PCI bus manager - I've only removed
the crash, but I didn't dig any deeper yet.
Note, this only happens using bochs - on a real computer, the kernel runs
obviously without any problems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 06:41:57 +00:00
Axel Dörfler
1e3eaf3b95 Added the write_link() call (currently only local to the VFS).
Added a mode parameter to sys_create_symlink().
Added an open_mode field to struct file_descriptor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:37:17 +00:00
Axel Dörfler
fbc9a56c28 Added a missing return value.
Some code cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:26:52 +00:00
Axel Dörfler
267cf83fb3 Added a missing return value in port_init().
Cleaned up the code a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:25:26 +00:00
Axel Dörfler
7f88f899f4 Added a missing return value.
Cleaned up the code a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:23:23 +00:00
Axel Dörfler
75faf9fda3 Added a missing return value in vm_resize_region().
Cleaned the code a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:22:27 +00:00
Axel Dörfler
c931f4823d Added a missing return value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:20:40 +00:00
Michael Phipps
c70c326c96 Fixed a serious bug in list.h. :-(
Improved tests to be multi-threaded. Still needs a lot more testing.
Removed the nasty global variable in test.C.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 03:41:16 +00:00
lillo
91363a4278 Converted thread states to BeOS equivalents (excluding THREAD_STATE_FREE_ON_RESCHED, which will probably go away once the slab allocator is in). Converted priorities to BeOS equivalents; we now have 60 priority queues to map the 120 BeOS priority levels (which have a granularity of 2, thanks Axel) plus the idle queue. Fixed PS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-04 20:10:06 +00:00
lillo
854c31f835 finished implementing get_thread_info, get_next_thread_info, get_team_info, get_next_team_info. New ps command behaving like the BeOS one is here, but doesn't work as libroot seems to crash when loaded at process startup... :/
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-04 02:04:37 +00:00
lillo
aded06e0aa Second round of changes. Splitted thread.c into thread.c, team.c and scheduler.c. First kernel-only get_team_info and get_next_team_info implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 23:39:50 +00:00
Axel Dörfler
28cdc245d3 Added a "symlink" command that can create symlinks from the shell (like "ln -s").
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 02:04:50 +00:00
Axel Dörfler
ae372703ce Big commit: Added symlink support to the kernel.
- added needed syscalls to access symlink support from userland
- implemented lstat(), symlink(), and readlink()
- added dev_t to ktypes.h (for now - should be in a public header anyway)
- added symlink support to the "ls" command (now calls lstat() and shows the
  link target with the -l option)
- changed the sys_read_stat() call to support symlinks, and updated files
  using that function (it gets an extra argument: bool traverseLink)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 02:03:27 +00:00
Axel Dörfler
7d141659a6 Fixed some crucial bugs in the elf_load_uspace() function:
- if the path name exceeded about 56 bytes, the function would have seg-faulted
- the calculation to decide if there is an extra region for the bss needed was wrong -
  that caused the kernel to be not able to load certain executables

Also, fixed a warning, and cleaned up the above mentioned function a bit, added
some more comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 01:10:06 +00:00
lillo
3cfbecf1a6 First round of big changes: the term team has replaced proc all over the kernel, the few kern_* syscalls have been renamed to sys_* for consistency, and other small changes. The ps app is temporarily disabled until get_next_team_info is implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 00:41:27 +00:00
Michael Phipps
74407d8836 Some clean up, prep work to make more tests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-02 03:09:41 +00:00
lillo
c0f8c7be80 little scheduler fixes and made team death synchronized by a semaphore
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-31 20:08:27 +00:00
lillo
8f4dae6773 applied small patch to boost priority on sem block
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-31 20:05:24 +00:00
Michael Phipps
e03166f0e2 Added tests for and fixed freeArea. Note that this generated some more work to do.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-31 02:20:33 +00:00
Michael Phipps
1314ca6a7f Enabled saver thread.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-30 02:02:40 +00:00
Michael Phipps
fbafb4de2b Added more tests and we now start the thread for the page cleaner.
Verified (manually) that cleaned pages are used where possible.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-30 01:39:50 +00:00
Michael Phipps
8985112ee5 Fixing list.h (doh!) and some smaller changes.
Improved all of the printf's to have their method name, for easier tracking


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-30 00:29:00 +00:00
Axel Dörfler
847248db20 path_to_vnode() should now be able to resolve symbolic links (not tested
yet) - up to 16 symlinks are allowed in one path (following BeOS' restriction).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:39:49 +00:00
Axel Dörfler
b98a89a763 Forgot to set the stream type for the root directory...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 19:36:43 +00:00
Axel Dörfler
7be577a363 Beginnings of symbolic link support.
Cleanup of the code in many places.
Fixed bad bugs in dir_vnode_to_path(), and entry_ref_to_vnode().
Fixed some other bugs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 18:41:07 +00:00
beveloper
3fe5330ccb While Intel documentation lists PCI capability as 32 bit entities,
the PCI specifications lists it as two 8 bit entities, followed by
a unknown number of vendor specific data. It should be better to do
two 8 bit reads, instead of one 16 or 32 bit access.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 20:24:45 +00:00
beveloper
a4c97c95ce Fix the problem that resulted in a invisible shell on my system.
We were disabling the PCI to PCI bridge which is the connection
to the AGP port on my system, and made an error when trying to
enable it again. Fixed now!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 00:38:12 +00:00
beveloper
b055a362cb PCI configuration space read/write of 32bit never worked. Fixed.
PCI configuration space read/write of 16bit at offset 1 never worked. Fixed.
Added warnings for unsupported PCI configuration space read/write offsets.
Fixed numerous bugs in PCI Capabilites detection code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 23:27:40 +00:00
David Reid
f3b40ada80 This is a 5 minute attempted fix for Marcus's AGP card not working
for VGA accesses.

Marcus: can you try this and see if it makes any difference? There should
be a debug message if it detects your agp bridge and applies the fix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 05:32:00 +00:00
David Reid
e805f0e904 Better debugging and final fix to the bus numbering, though that's
style not function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 23:32:59 +00:00
beveloper
8d5863f44b ups, now it's correct.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 22:51:27 +00:00
beveloper
2b48bdcef9 Correct the bus number that is assigned to pci-pci bridges.
Now finds PCI cards connected to second pci-pci bridge on my motherboard.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 22:43:36 +00:00
David Reid
a0bc23f288 I've been trying to figure out how the division of work between
config_manager and busses works, and this is a large correction based on
my current working thoughts.

I also think we need to have a new interface between the bus modules and
the config_manager to allow them to work together. I have some ideas
on it and will start fleshing it out next week.

This update basically moves all PCI stuff back to the PCI module and
cleans up config_manager.c. We now print a small amount of info for
devices and more for bridges. My system only has a single bridge, but if
anyone has a more exotic system and tries this can they let me know
what sort of results they see?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 18:11:45 +00:00
notion
66554a4c98 Fixed the overflow bug in heap.c that would occur on allocation of all the memory of the heap.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 14:49:29 +00:00
David Reid
a537d866cf Another support function. This time we add the ability to change
power management states for cards that support it.

ISTR that Be forced all devices to full power, so we do the same
for the moment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 14:16:57 +00:00
David Reid
75532124ed Remove some unused and unloved files...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 13:32:22 +00:00
David Reid
d45a868bb2 Remove the apps mount and unmount from the kernel build as they
don't do anything and Axel has started replacing them anyway.

At some point we need to remove the files, but I'll wait until
things have had a few days first.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 13:30:59 +00:00
David Reid
67162b7430 remove a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 13:28:54 +00:00
David Reid
037c83e3e6 Move PCI on a little more.
- add finding the PCI IRQ Routing table
- add pci_get_capability and some simple uses to test it

Thanks to Michael N for his help on getting the region working as
I expected it to :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 13:28:23 +00:00
David Reid
ac943f57f9 Change the path we look for drivers in.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 02:01:01 +00:00
Michael Phipps
e5a94ba1fd Update to reflect that there is some locking in place now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 01:28:45 +00:00
Michael Phipps
72515139f7 Updates to make creating areas and accessing bytes work. Lots of debugging
printfs, etc in here. But some bug fixes and better code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 01:27:00 +00:00
David Reid
d10f93e702 Remove the int_ from the interrupt enable/disable functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 01:05:51 +00:00
David Reid
7438a7b7d0 The multi-threaded police raided and of course we didn't have locks
for accessing the config space! So, become a good citizen and add locking
to ensure we only have one dabbler at a time in config space.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 01:04:12 +00:00
notion
fde77afb37 Ported my NewOS changes to OpenBeOS.
A couple of changes in various interrupt and thread functions and structures.
These make it now possible to change the stack at any time without making the kernel crash. This is needed for calling VESA 3.0 VBE functions through the protected mode interface.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 20:59:25 +00:00
Ingo Weinhold
f683b788d0 Excluded console.c from being compiled here. It is compiled for the drivers static library anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 17:47:28 +00:00
notion
719e338bae Refined cv_factor calculation.
Also set TIMER_CLKNUM_HZ to its correct value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 12:39:31 +00:00
David Reid
f8e2c34c67 Update the config_manager and pci modules.
This now reports better and starts configuring the busses we find.

There is still a long way to go but this another step on the way.

NB the information comes from 2 different methods and presently doesn't
   agree This is known and will be fixed, so please don't start yelling
   that it's broken! If people have strange debug information please
   let me have a copy so I can try to debug further :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:28:35 +00:00
David Reid
c8ca4b8cae Having an identity crisis!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:25:39 +00:00
Axel Dörfler
b9f8590233 Added sys/user calls for the open/create entry_ref/node_ref functions.
Added functions to retrieve set the fs_info structure (i.e. used to get the
partition's name); not implemented yet in the internal file systems.
Implemented the dir_create_entry_ref() function.
Re-ordered some parameters for the fs calls to be more consistent.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 14:10:12 +00:00
Axel Dörfler
c9d3e51155 Added syscalls for sys_open_entry_ref(), sys_create_entry_ref(),
sys_open_dir_(entry|node)_ref(), sys_create_dir_entry_ref().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 14:07:18 +00:00
beveloper
3ff18ff146 this adds address to symbol lookups to the kernel debugger. try the "ls <someaddr>" command.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 17:50:56 +00:00
beveloper
279d2a69e9 Because of the two cascaded PICs, we can't allow to ever diable IRQ 2.
arch_int_init has already enabled it, and enabling it again is never a problem.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 23:49:24 +00:00
lillo
2cf15ffd36 removed a warning
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 23:19:48 +00:00
lillo
01fb96c4c3 beos compatible timer routines and style cleanups in timer and sem code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 22:52:04 +00:00
lillo
4918394f73 fixed little infamous bug that caused the thread_test not to work properly - this scared me as I thought the problem was in the kernel; luckly it wasn't there...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 22:10:12 +00:00
Axel Dörfler
071f62bc36 Major code cleanup and reorganisation.
Fixed many bugs.
Now, the vfs_ prefix is for functions that are called by other parts of the
kernel. file_ is for file related stuff, dir_ for directory related, and
common_ for both, fs_ for general file system stuff.
Put all prefixed functions together in the source.
Implemented (currently without a user/sys call) opening/creating of entry_refs,
and node_refs (the latter for opening directories only).
Moved vfs_dup(), and vfs_dup2() to fd.c, fd_dup(), and fd_dup2().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 00:16:12 +00:00
David Reid
6ec6552ee4 Small change to remove a bug in removal.
This in association with Michael N in IRC.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 19:25:37 +00:00
David Reid
b1dba4cbd5 Fix the interrupt handling...
we now differntiate between an I/O interrupt (ie one that is likely
to be triggered by a device on the system using an IRQ between
0 and 15) and one that we're creating to allow us to have functions
called for events, ie a software interrupt. Behaviour is all
commented in the file int.c, but you need to make sure that you call the
correct version.

install_io_interrupt_handler now needs an IRQ value between 0 and 15 and
will treat the irq as one it needs to enable/disable

install_interrupt_handler is for software interrupts and is essentially
the function we had.

For mroe read the comments in the file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:33:41 +00:00
David Reid
48377a24b0 Few changes...
- catch up with the changes to the interrupt functions
- change the way we handle the list of handlers to use a standard
  function rather than a home spun one :)
- don't add every function on a pci device as a seperate device
- add more info to the pci_info structure
- when FULL_MONTY turned on show more information


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:07:36 +00:00
David Reid
9adc7af78a Change to the interrupt handler return values.
Also reflect the change of function name and number of
parameters.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:04:12 +00:00
David Reid
5186a4c76b Change to the interrupt handler return values.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:01:15 +00:00
Axel Dörfler
8480ee0c2c We now have a completely working "pwd" command; dir_vnode_to_path() is
fully implemented.
I removed all those insane INSANE() debug output and found what made
the difference between a working and a crashing kernel - will have
to investigate this later, because those two lines a) really belong
there, and b) even if they are there, the kernel shouldn't crash just
because of that.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 04:20:07 +00:00
Michael Phipps
f913779a80 Initial check in. Very preliminary and not really part of the kernel right now...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 03:55:07 +00:00
Axel Dörfler
16326dafb6 Added a missing newline.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 02:48:27 +00:00
David Reid
e76a020d33 Begone ERR_NO_MEMORY!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:36:28 +00:00
David Reid
c099d735dd Add pools.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:35:54 +00:00
David Reid
eab8081ffd Change the modules code to use the new hash code.
This fixed a lot of ongoing segfaults which were both intermittent
and unpredicatble.
Also improve some logic so we take a shorter path in simple_module_info


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:32:42 +00:00
David Reid
6ecc5c9950 The new hash code.
Essentially the code that the net stack used. the code is based on the
hash impl. in APR, that was itself based on a large number of different
people's efforts and various papers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:27:22 +00:00
David Reid
0c1eef852d Add pools to the build
Remove some duplicated build options
Comment out the beos section as it's not really of interest to people
not working on the modules/device code :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:23:24 +00:00
David Reid
90bc2d5f53 Big change to the way that PCI works.
- make pci into a true module now.
- the pci module builds and keeps a linked list of devices it finds, with
  a filled in pci_info structure
- pci module detects (at runtime) whcih config mech to use, though to date
  only mech 1 is implemented
- pci module does sanity check and warns if it fails
- config manager loads pci module and calls get_nth_pci_info to iterate
  through the list printing details
- pci is no longer called directly from the bus init function

there is still lots to do and I've tried to make sure that there are plenty
of comments in the pci.c file. I've also left the previous code in
place until we move on a little further when it will be removed.

This has been working with no problems on my system and doesn't change
any functionality as we don't have any devices that need PCI in our build
yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:20:15 +00:00
David Reid
9843673aa8 Add the random_test app
Move the building of the test apps into this dir's Jamfile as it seems
to make more sense that way. I'll be removing them from the one in
kernel shortly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:12:36 +00:00
Axel Dörfler
63c5cc0aa1 Removed the big hack called vnode_to_path(), and replaced it with the real
thing dir_vnode_to_path().
But beware, it's not yet working correctly - will fix it later, I have no
time anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 21:06:02 +00:00
Axel Dörfler
5213b70b42 Fixed a warning I introduced earlier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 20:42:52 +00:00
Axel Dörfler
4bb2d8915b Implemented geist's recent change to mutexes - they are now no longer
benaphores; benaphores aren't that beneficial in kernel land, the benaphores
are a way to reduce the number of kernel calls.
They can now only be released by the same thread who originally acquired it.

Included other changes geist (change 1499) did to a) fix some bugs, and
b) reflect the changes made to the mutexes.
Cleaned the files a bit up, all the commented dprintf()s in elf.c are now
deactivated through a macro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 19:21:40 +00:00
Axel Dörfler
de8acfc621 Fixed the messed up indentation (8 spaces instead of tabs)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 15:03:13 +00:00
Axel Dörfler
eb0471173e The kernel will now call arch_cpu_idle() in its main loop.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:19:53 +00:00
Axel Dörfler
3d4008e5e4 Added the arch_cpu_idle() call to all platforms, though only x86 really
implements it yet (from freston).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:19:14 +00:00
lillo
92622c9c58 adding environmental variables support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:07:56 +00:00
lillo
0ba337c0a4 adding environmental variables support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:59:03 +00:00
Axel Dörfler
a4f9f99fb0 Incorporated freston's changes to the stage 2 boot process which mainly
"fixes" (at least changes :-)) the calculation of the processor speed.

Also included some of geist's earlier changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:53:46 +00:00
Axel Dörfler
8bcee3b317 Added another subtle change from geist.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:31:55 +00:00
Philippe Houdoin
2c24125957 dbg_add_command() changed into BeOS compatible add_debugger_command().
remove_debugger_command() added.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 22:07:37 +00:00
Axel Dörfler
16ba498087 Applied change 1505 of the NewOS repository: added the -p option to makeflop
to be able to pad to the floppy block size.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 19:42:44 +00:00
David Reid
19111f404e Use the defined values from bootdir.h. This was part of an experiment to
increase the length of names we can use for adding things to the floopy,
but it didn't work. Still, these changes seem to make sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 19:37:28 +00:00
beveloper
08b993b215 remove use of unterminated strings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 18:29:41 +00:00
David Reid
333119344a Another attempt to fix the module loading problem. I've also added
a load of comments explaining why it does the things it does.

In the get_module code we now correctly
call the init function, which was being missed before if we got
the module via search_module.

If people can test and confirm this works. It works here and has solved
all the issues I was trying to fix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 16:08:53 +00:00
Ingo Weinhold
c551f3cdad Added alias floppy for $(OBOS_FLOPPY).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 13:29:58 +00:00
David Reid
b0bdff5216 Small fix to prevent a segfault.
Provide more info when a duplicate module name is detected during a scan.
Remove some code we no longer use.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 12:51:48 +00:00
David Reid
d2c1ff9a7d Few changes...
- add a lot of comments
- only lookup symbols as needed to keep the paths thru the function
  as small as possible
- add comments about the problems we have and give some idea about what
  needs fixing and what then needs removal from this file
- show the hooks pointer being passed to detect NULL pointers more
  quickly


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 12:10:38 +00:00
David Reid
fa10e022b1 Add some more comments.
Remove some debugging dprintf's we shouldn't need
The style police have paid a visit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 12:06:58 +00:00
Axel Dörfler
cbe085bc5a Forgot some debug stuff...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 08:12:41 +00:00
Axel Dörfler
243d156e21 sys_seek() now returns the stream position as an off_t.
Minor bug fixes.
fd_close() now doesn't have to call remove_fd() anymore - it's now called
in user|sys_close(), fd_close() is now only called in the last put_fd().
Cleanup, improved debug output (without any warnings).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 07:55:51 +00:00
Axel Dörfler
b46f99148e sys_rstat() -> sys_read_stat()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 07:52:08 +00:00
Philippe Houdoin
32ef543544 Run-time loaded versions of these keyboard and ps2mouse drivers are now
in 'keyboard' and 'ps2mouse' subdirectories of src/add-ons/kernel/drivers/arch/x86/,
making these old ones obsoletes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-16 19:28:20 +00:00
lillo
2b94bc7ba9 hopefully fixed the bochs debug issue
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-16 12:39:57 +00:00
Philippe Houdoin
a5da066045 We now don't forget to call drivers's init_driver() to init them completly.
Drivers who publish nothing are not keep loaded, too.
These are *hacks* until we have a real devfs dynamicly loading drivers...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-16 07:54:56 +00:00
lillo
c4786ea6c4 Made bochs e9 hack switchable by configure
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-15 23:42:06 +00:00
Ingo Weinhold
4573543ca8 Removed third argument for SystemMain. Not longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 22:11:47 +00:00
lillo
8367bc2f55 small fix to make threads to return meaningful values on exit
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 13:34:00 +00:00
David Reid
82610abc62 Make some changes o the ISA nad PCI modules and add the start of a config
manager module. As time goes on we can start fleshing these out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:36:32 +00:00
David Reid
7cf327ff5e ERR_NO_MEMORY -> ENOMEM
ERR_INVALID_ARGS -> EINVAL
CVSR_NOMEMO----------------------------------------------------------------


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:22:17 +00:00
David Reid
4b6ac4574c Remove the isa test case as it now works and maintaiing it was a waste of
time as we will have lots more cases to test with :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:17:26 +00:00
David Reid
f2c397eac9 ERR_NO_MEMORY -> ENOMEM
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:15:14 +00:00
David Reid
faf1362d13 Continue removing ERR_INVALID_ARGS in favour of EINVAL
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:14:29 +00:00
David Reid
dfc6d0bbbd Tidy up some error values we're passing. Essentially remove the ERR_SEM
errors, though these will need to be checked.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:10:22 +00:00
Axel Dörfler
16237a1692 The kernel will now be build again in the Jamfile (or was there a pressing
reason to disable it?)
Updated much code to reflect the changes in the VFS, including libc's open()
(you can now also create files using this function), and opendir().
Added the syscalls for sys_open_dir(), and sys_create_dir().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 05:18:21 +00:00
Axel Dörfler
3b120ea240 Updated the code to reflect the changes in the VFS.
Fixed some bugs in fd.c (how many more bugs can be in a small file like this? :-).
Added the syscalls for sys_open_dir(), and sys_create_dir().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 05:15:34 +00:00
Axel Dörfler
ea536d2ba4 Updated VFS, more POSIX like open/create, has now extra open_dir/create_dir
functions. sys_create() now returns an fd of the open file (some code in the
kernel shell already depend on this).
Moved the seek functions to fd.c.
Updated all internal file systems to a new and updated API.
vfs.c is not cleaned up well, but also has some bug fixes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 05:13:20 +00:00
David Reid
cdbcdb71d9 Marcus pointed this out! Thanks.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-13 00:55:02 +00:00
David Reid
d2ececb63c Modify the way that the drivers dir works. We now only build dev.c and
do everything from there. I'd liek to move this into the main kernel
once we figure out how to make the rest of our devices load at
run time without needing to have small headers to include their init
routines.

This is a step along the way, but at present the console modules
can't be loaded that way.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:52:01 +00:00
David Reid
1255f4f403 drivers.h is now Drivers.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:27:32 +00:00
David Reid
dcda4e36eb We no longer have any common drivers - they're now device drivers and found
in add-ons/kernel/drivers/common


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 20:50:49 +00:00
David Reid
fa81d8fc65 Digit isn't here anymore!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 20:47:47 +00:00
David Reid
b1c8e50995 Renmove net stuff from the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 20:25:24 +00:00
David Reid
4ab9bc87a6 Add snooze!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 20:24:28 +00:00
David Reid
100b0f973d Fix a couple of errors we no longer have (ain't regression wonderful)
Change to using device drivers for null, zero and digit
Small changes to the way we init devices.

NB the random driver has shown that devices are not being handled correctly,
   so this is something we'll ahve to live with until the vfs person fixes it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 19:24:26 +00:00
beveloper
5667d23a37 fixed a bug
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 17:47:38 +00:00
David Reid
49dc88277f Remove sockettest as we're not doing sockets at the moment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 14:55:28 +00:00
David Reid
4828a5e712 Comment out the socket syscall as we don't have any socket code in
the build at the moment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 14:54:25 +00:00
David Reid
4cb55da05c Remove the networking code until it's ready.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 14:53:25 +00:00
David Reid
46f728924e Include errno.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 14:49:02 +00:00
David Reid
9ca7451251 Swap the order of the headers so we have everything defined and so avoid
the warnings about sem_info and port_info (defined in kernel/OS.h)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 10:15:18 +00:00
David Reid
d2de8b3867 Include kerrors.h where it's required.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 22:21:56 +00:00
David Reid
f6327bfa2e ERR -> E
Change header includes if reqd.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 22:21:16 +00:00
David Reid
c90a447062 ERR -> E
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 22:19:52 +00:00
David Reid
394b2aa25b ERR -> E
CVSR -> E------------------------------------------------------------------


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 22:18:07 +00:00
David Reid
082fc2ba6d If Axel doesn't want to maintain this then why are we still building it?
Remove the iso9660 stuff from the build as it's no longer being
maintained and never did anything anyways :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@98 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:49:34 +00:00
David Reid
66da50355a We shoulnd't be using ERR_ codes here, so change it to a posix one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@97 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:47:09 +00:00
David Reid
47cfcef2aa Change a couple of codes to be POSIX ones.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@96 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:42:50 +00:00
David Reid
62f1aef129 More posix codes...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@95 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:41:20 +00:00
David Reid
058d10cc83 Change to use EIO
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@94 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:40:03 +00:00
David Reid
0141c92400 Ctahc up with more posix codes instead of ERR_
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@93 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:38:58 +00:00
David Reid
d700c5a3cf More adjustments to deal with POSIX codes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@92 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:25:29 +00:00
David Reid
d71118c74f Change to using POSIX error codes and adjust the includes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@91 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:24:54 +00:00
Axel Dörfler
07fefdf493 Implemented the read_dir(), and rewind_dir() functions for all internal
file systems.
Removed the read() functionality for directories.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@63 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:55:33 +00:00
Axel Dörfler
b18756ad83 Updated dev.c to use sys_read_dir() instead of sys_read().
Is this file even needed anymore? If so, we may move its functionality elsewhere.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@62 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:54:34 +00:00
Axel Dörfler
be28e9bd97 Added the syscalls for sys_read_dir(), and sys_rewind_dir(), and moved the
use of the IOCPARM_LEN() macro to the ioctl() function in libc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@61 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:49:37 +00:00
Axel Dörfler
65dc706027 Converted module.c to use sys_read_dir() instead of sys_read(). But it really
should use opendir(), and readdir().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@60 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:48:27 +00:00
Axel Dörfler
c1f7f96bbf Added a parameter for the maximum number of dirents for sys_read_dir().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@59 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:47:38 +00:00
Axel Dörfler
f2e60e56e0 Added missing a newline.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@39 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 15:48:19 +00:00
David Reid
434d5d1923 As this seemed to be going round and round with no-one fixing it, here
is a fix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@34 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 13:08:47 +00:00
Ingo Weinhold
54f76689cb Adjusted the SubDir and SubInclude parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@15 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 20:15:44 +00:00
Ingo Weinhold
8b3bd88c41 I don't know why the path to this header is hard-coded. However, adjusted to the new structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@14 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 20:14:09 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00