Commit Graph

1665 Commits

Author SHA1 Message Date
Axel Dörfler
f363b7231f Eliminated the internal device_info structure - the devfs will now store the
node and its interface directly. It will also convert the old interface into
the new one to simplify the implementation.
devfs_open() now contains the former pnp_devfs_open() as well.
devfs_publish_device() no longer passes the "ident" parameter to its lower
layers - it will be removed.
The VM fs interface has changed to better match the one of the device interface.


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 01:14:45 +00:00