Commit Graph

410 Commits

Author SHA1 Message Date
Axel Dörfler
c4943b79fe Forget to free the data allocated in common_select(), and common_poll()...
Changed the header guard in vfs_select.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 04:21:22 +00:00
Axel Dörfler
1e7eb4c232 Some style cleanups in khash.c - I just realized that we have two different
hash implementations in that file... we should really remove one of them.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 04:03:13 +00:00
Axel Dörfler
58ec046735 Added support for select(), and poll().
Not yet tested.
Moved the CHECK_USER_ADDRESS() macro from vfs.c to kernel.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:54:07 +00:00
Axel Dörfler
88fae79de6 Moved queue functionality out of module.c and into kqueue.h.
Changed module.c and int.c to use that one.
Some minor cleanups in module.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:42:40 +00:00
lillo
f2bc61304f replaced sys_kill with general thread-aimed sys_send_signal; cleaned up
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 20:38:16 +00:00
lillo
a2117f0bc7 reworked snooze to work in function of the newly added (and kernel exported) snooze_etc. Activated libroot counterpart(s).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 12:06:40 +00:00
Daniel Reinhold
79362df9f7 added macros PI and PI2, and fixed previous (invalid) references to these
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 01:36:45 +00:00
Daniel Reinhold
02f348e2cb added localeconv to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 21:46:35 +00:00
Daniel Reinhold
952977a190 initial locale support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 21:41:49 +00:00
Daniel Reinhold
4555e63fe4 fixed typo
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 21:35:26 +00:00
Daniel Reinhold
568244c42e added strtod() and atof() to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 21:31:56 +00:00
Daniel Reinhold
21d3063840 initial checkin
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 21:23:22 +00:00
Daniel Reinhold
0029fd4b09 hmmm... need to learn how to alphabetize ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 21:16:55 +00:00
Daniel Reinhold
a9a82bf002 added math_globals to libroot/posix/math build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 21:11:12 +00:00
Daniel Reinhold
c4b1aad976 updated files to use the new private libroot include directory
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 20:39:16 +00:00
Daniel Reinhold
5a1e90ba77 defines an internal global variable required for linking
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 20:38:10 +00:00
beveloper
6652c2eae9 removed some unused headers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 19:27:39 +00:00
Daniel Reinhold
1c7200419b changed to wrappers for strtol(), etc.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 19:11:18 +00:00
Michael Phipps
3dcf5034e5 Checkpoint - more work done.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 18:55:44 +00:00
lillo
5cdacbaabb *LOTS* of small changes to make the kernel compatible with Be's KernelExport.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 16:13:36 +00:00
lillo
343b352fe1 Signals, 2nd pass: syscall restarting now only works on EINTR (removed other exotic retcodes like ERESTARTSYS); signal handlers now receive 3 args, and the vregs struct is used to save the signal context, making the system beos compatible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 13:31:22 +00:00
beveloper
06d016b380 renamed thread_entry
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 12:58:52 +00:00
lillo
8fe70e8212 beos compatibility fixes: exit_thread now issues a signal; wait_for_thread returns B_INTERRUPTED if target thread gets killed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 01:11:15 +00:00
Axel Dörfler
a86569deee There were two positions where I had to change those values. %lld and %Ld
should now finally work (thanks to Marcus).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:59:16 +00:00
Axel Dörfler
4d78ef5224 Added %Ld to vfscanf() as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:52:17 +00:00
Axel Dörfler
38903f032b Fixed %Ld handling to be int64 as it is on BeOS.
%lld is now int64 as well.
Cleaned up a little bit (removed K&R style prototypes).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:48:50 +00:00
Axel Dörfler
13bbbc9ac4 Add strtod.c to the build (from FreeBSD).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:33:09 +00:00
Axel Dörfler
65ea9e24b5 Accidently removed linkhack.so from the build in the previous commit.
Added strto[u]l[l] functions to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:13:27 +00:00
Axel Dörfler
25c7a73eed Fixed vfscanf() which needed strtoq(), and strtouq().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:10:49 +00:00
Axel Dörfler
deab46426d Added implementation for strtol(), strtoul(), strtoll(), strtoull() from
FreeBSD sources.
Added llabs() (and a newline at the end of the file).
Fixed qsort.c and removed the unneeded FreeBSD header - min() wasn't declared.
Added the string conversion stuff to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:09:39 +00:00
Axel Dörfler
a8cd036239 Removed strtoq()/strtouq() from the build (both are deprecated functions, and
not available in BeOS, so there is no reason to add them).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 22:45:23 +00:00
lillo
9870ddcea7 kill now sends the signal to the main thread of a process only. To target a specific thread use the new send_signal syscall. Also added set_alarm.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 22:36:08 +00:00
Daniel Reinhold
9a43926970 removed extra declarations now that stdlib.h is fixed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 19:25:50 +00:00
Daniel Reinhold
4b28d29d28 type fix: replaced a couple of longs with ints (as they should be)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 11:32:38 +00:00
Daniel Reinhold
afaca44046 type fix: replaced int type with proper wchar_t type for several functions (tsk, tsk, tsk)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 11:23:30 +00:00
Daniel Reinhold
3b5b78dee6 type fix: replaced int type with proper wchar_t type for variable passed to mbtowc()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 11:21:50 +00:00
Daniel Reinhold
4123d76182 bug fix: addr is an unsigned long, not a pointer type
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 11:08:39 +00:00
Daniel Reinhold
bd2251961c bug fix: pointer indirection error while checking cookie value
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 11:04:11 +00:00
Daniel Reinhold
95574b3621 fixed printf warning
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 10:53:36 +00:00
Daniel Reinhold
cd6a80d8c9 several additions to libroot:
added abs.c (abs, labs)
  added div.c (div, ldiv)
  added abort() to exit.c


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-24 20:05:09 +00:00
beveloper
9fc7164698 allow building everything without local(tree external) header files beeing
used for kernel or kit components


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 20:13:17 +00:00
lillo
f510e6ce60 posix signals support, 1st pass
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 17:31:10 +00:00
Daniel Reinhold
2050c9bb7c put call to exit() back in, now that it's implemented
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 13:32:07 +00:00
Daniel Reinhold
997a2a4349 added exit() to stdlib
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 07:27:19 +00:00
Daniel Reinhold
87790d71e6 fixed a minor error and some typos
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 11:36:29 +00:00
Daniel Reinhold
4fea1c8ff7 added TLB/Cache information
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 10:56:17 +00:00
Daniel Reinhold
98e3e1ff5d implemented the get_cpuid() function in libroot and added a new kernel app 'cpuinfo'
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-20 05:28:35 +00:00
Daniel Reinhold
b52ed331f1 implemented the get_cpuid() function in libroot and added a new kernel app 'cpuinfo'
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-20 04:04:03 +00:00
Bruno G. Albuquerque
3afbe60d92 Fix a bug reported by BeFree. It looks the PCi stiff works now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 23:11:00 +00:00
Axel Dörfler
28c9a687e6 Added forgotten os/time.o, stdio/fseek.o, and stdio/rewind.o to the build.
Implemented index syscall functions in VFS.
Added fs_index.c to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:34:09 +00:00
Axel Dörfler
64b00573d2 Added implementation of the functions in fs_index.h.
Commented system_time() in time.c - it's already implemented in atomic.S (not
that it would belong there).
Fixed linking of rewind.c
Added syscalls for the index functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:30:59 +00:00
Axel Dörfler
b7c42fadf7 Fixed fd lead in opendir() and set errno correctly if memory is out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:27:03 +00:00
Axel Dörfler
69b81fcc90 Fixes the not POSIX style return codes - fs_*() functions return -1 and set
errno if an error occurs; they don't return the error status directly.
Also fixed a fd leak in fs_open_attr_dir().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:22:04 +00:00
Axel Dörfler
f4e51a2dfb Added a new write_stat() call to the file descriptor operations (plus syscall).
Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now
the fd operation (same for the corresponding write call).
Removed the sys_write_attr_stat() call because it is no longer needed.
Added stat(), fstat(), and other POSIX calls to the kernel - many are still
missing (mainly from stdio).
Added symbols (but no implementation) for unistd.h's process id functions.
Adapted libroot calls that used sys_read_stat() before to the new architecture.
module.c and bus_man.c now use stat() directly instead of the sys_read_path_stat()
call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 03:09:25 +00:00
Axel Dörfler
f6fabd1b6d Added syscalls for the attribute functions and fs_attr.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-16 16:14:49 +00:00
Axel Dörfler
b4dabf6063 Implemented all calls in fs_attr.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-16 16:14:14 +00:00
Axel Dörfler
4544e733cd Removed the debugging stuff I added to vm_page.c - things should now be
much smoother again... :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 01:45:15 +00:00
Daniel Reinhold
b4987845fd removed pwd app from the kernel script
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-13 23:48:28 +00:00
Daniel Reinhold
66972fc258 removed pwd (redundant app, already built into shell)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-12 18:07:35 +00:00
notion
ea4148fa59 A few quick fixes for some VM bugs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 21:16:24 +00:00
Axel Dörfler
ef77a305f8 vm.c: Added user_strlcpy() (and the implementation in arch_cpu_user_strlcpy())
which is now used thorough the VFS code instead of user_strncpy().
fd.c: Replaced some return codes.
vfs.c: joined attr_dir_open(), and attr_dir_open_fd(), added sys_/user_
calls to access attributes, and attribute directory.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:24:51 +00:00
Axel Dörfler
edef81d01c Fixed a compilation bug, dunno why this got through...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:06:55 +00:00
Axel Dörfler
bc9fd4cc49 Removed the stupid debug output I accidently commited, and replaced them
with something useful.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 01:14:44 +00:00
Axel Dörfler
f7d5ad8c90 Moved seek functionality from the fs to the vfs.
Renamed read_page/write_page to read_pages()/write_pages()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 00:42:17 +00:00
Axel Dörfler
c01214de27 Removed the debug output that was accidently added by the last commit.
Included NewOS change 1656 (O_CLOEXEC support, and a bug fix in get_vnode()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 15:31:40 +00:00
Axel Dörfler
165f8bc071 Added the new files in libroot/posix to the Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 23:52:14 +00:00
Axel Dörfler
511a61e038 Added BSD's glob & fnmatch implementation (disabled collation stuff).
Added symbol exports for the user/group ID functions, and [sg]ethostname(),
although those are not yet implemented.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 23:51:35 +00:00
Axel Dörfler
94fc97f703 Return type of thread_set_priority() was wrong.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 19:45:31 +00:00
Axel Dörfler
48d81f1962 Cleaned up the source a bit, and rearranged the code, (hopefully) no functional
changes, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 19:38:42 +00:00
Axel Dörfler
362032afbf Removed the contents of the common/ directory.
Cleaned the Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 18:19:18 +00:00
Axel Dörfler
e195c3e79e Added some files that we probably won't need for a while...
(syscalls.inc for other platforms)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 18:09:26 +00:00
Axel Dörfler
fae903cacf Rearranged the Jamfile a bit, moved syscalls.S around.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:34:09 +00:00
Axel Dörfler
238576af81 Moved the syscalls.S file to the os/ subdirectory (better fits in there).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:33:22 +00:00
Axel Dörfler
55aa2e19ad The test apps now link against libroot.so, not libc/libm anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:19:26 +00:00
Axel Dörfler
4114b4541a Cleaned the Jamfile a bit up (libm.a removed, as it is not needed).
Now builds only libroot, instead of the single libm + libc.
All executables now link against libroot.so instead of libc/libm.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:18:40 +00:00
Axel Dörfler
bc45af205c Added all former libc/libm files to the libroot/posix directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:13:32 +00:00
Axel Dörfler
712ec3d786 Added libroot's os/ tree.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:07:03 +00:00
Axel Dörfler
d98c8e6e59 Removed some no longer needed files.
Added new libroot_init (same as libc/nulibc_init.c before).
Updated the Jamfile for the new architecture.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:04:37 +00:00
Axel Dörfler
f7a056e53c Some minor changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 17:00:44 +00:00
Axel Dörfler
68687d6163 Now includes sem.h (since it needs the private create_sem_etc() call).
Cleaned up the source a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 01:20:39 +00:00
Michael Phipps
a550db6753 Checkpoint. Hand examined the code and made several changes/improvements.
Doesn't crash quite as easily. Still some nagging bugs.
Partial implementation of hashTable. Need to make find use keys and do proper
memory allocation (i.e. from physPages, not new).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-03 03:42:59 +00:00
Axel Dörfler
d0286a7395 Added a warning for drivers which don't export the api_version.
Now returns ENXIO if dev_publish_devices() returns an error (instead of
B_OK).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 21:59:09 +00:00
Axel Dörfler
634a41725a The main reason I commit this: the last change also made set_sem_owner() to check
for a valid team id.
Added a comment about a race condition in set_sem_owner().
Some minor style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 03:48:59 +00:00
Axel Dörfler
3fa1fa66f1 Cleaned up the source, made it compatible with our style guide (i.e. global
variables now have the 'g' prefix).
Fixed a very unlikely race condition in create_sem_etc() (can only happen if
that call isn't used properly).
Fixed some wrong return values (i.e. B_BAD_TEAM_ID wasn't returned anywhere).
Optimized _get_next_sem_info(): it now only grabs the semaphore lock
if it has good reason to do so.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 03:43:32 +00:00
Axel Dörfler
79f4cb3e2c remove_fd() is now static.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 03:31:42 +00:00
beveloper
64ea4a7aa7 unified Bochs debugging option
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 02:25:11 +00:00
beveloper
405439be5c unified Bochs debugging option
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 02:23:36 +00:00
Axel Dörfler
36cfa7d4f8 The USE_WALL setting currently doesn't work, because
vm_translation_map_create() checks if the kmalloc()'d page is aligned - maybe
we should just disable the USE_WALL setting if size is PAGE_SIZE for now...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 04:05:18 +00:00
Axel Dörfler
3904aa6bf1 Shouldn't do anything so late; just fixed another bug in the wall code.
Commit early, commit often, they say...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 02:24:42 +00:00
Axel Dörfler
a3da50e5ed Fixed a bug in the wall code that actually produced the bug I mentioned
in the last commit... :/


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 02:21:22 +00:00
Axel Dörfler
ebe92efe60 Added a front and back wall to each kmalloc() allocation, if USE_WALL is
set to 1 (which it currently is).
I've only used it with bochs yet, and it lets it crash reliably in some
VFS code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 01:58:22 +00:00
shatty
2c26aebcd8 changed return types for "std_ops" functions from int to int32, fixes warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 00:28:57 +00:00
shatty
3192085307 corrected format specifier to remove warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 00:25:13 +00:00
shatty
e7d12ece83 corrected format specifier to remove a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 00:20:18 +00:00
shatty
1d77ffa596 corrected format specifiers to eliminate warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 23:01:05 +00:00
shatty
8af9ddf336 corrected various format specifiers to eliminate warnings.
also changed the type of msg_code in port_test_thread_func to int32, from int. (warnings)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 22:59:06 +00:00
shatty
143c418d4e fixed warnings by changing the return type of the thread_func's to int32.
"int" seems like a better return type choice, but it is int32 in both the Be headers and the OBOS headers, at least for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 22:47:42 +00:00
shatty
1dabea80a1 fixed warnings by changing the return type of the thread_func's to int32.
"int" seems like a better return type choice, but it is int32 in both the Be headers and the OBOS headers, at least for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 22:40:36 +00:00
Axel Dörfler
75c2064c1a Fixed the crashing bug in the VFS - we can't make any assumptions about
the "device" parameter of fs_mount.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 02:19:26 +00:00
Bruno G. Albuquerque
b1b72e8797 Automatically add the Bochs keyboard hack when --bochs-debug is used in the configure script.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 01:37:00 +00:00
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