Commit Graph

1949 Commits

Author SHA1 Message Date
Axel Dörfler
7208e95f0e Moved the gdt_idt_descr struct from arch_stage2.h to stage2_priv.h.
Moved the tss_descriptor structure to descriptor.h, updated it to be a
segment_descriptor structure, and provided inlines for set_tss_descriptor(),
set_segment_descriptor(), set_segment_descriptor_base(), and
clear_segment_descriptor().
Also added defines for the different privilege levels and descriptor types.
Removed the unusused and incorrect TSS definition, introduced new
TSS_BASE_SEGMENT and TLS_BASE_SEGMENT macros.
Removed include of arch/cpu.h in arch_cpu.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-06 08:02:44 +00:00
Axel Dörfler
346646a2c7 Moved the files vm_types.h, syscalls.h, and vfs_types.h to the private
kernel header directory - they are by no means public includes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-02 13:16:35 +00:00
Axel Dörfler
7fae070584 Included NewOS change 1674. Moved private elf structures to elf_priv.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-30 13:34:25 +00:00
Axel Dörfler
11d4dc0bf5 Added a module_test() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-03 17:59:30 +00:00
Axel Dörfler
420a6221ec Moved thread_types.h to this place.
Changed fd.h inlines because team->ioctx is now team->io_context.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-03 14:07:35 +00:00
Axel Dörfler
1a72f541b5 Added function prototypes for forbid_page_faults() and permit_page_faults().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-03 01:51:39 +00:00
Axel Dörfler
ebf5be407a Reworked and cleaned the khash; completely removed the new_hash_table
implementation that was buggy, not very flexible, and incomplete.
Changed some variable types, and function names.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-29 08:25:08 +00:00
beveloper
428f0ce25c last cleanup of pool code before rewriting it
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-28 15:05:58 +00:00
beveloper
3b70f94330 added a magic value to check clobbering of the free list
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-28 14:10:20 +00:00
beveloper
60d9ed9e3b fixed the ASSERT macro, it did not even compile if DEBUG was defined
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-28 14:07:28 +00:00
beveloper
7991b1a031 added a lot of debugging functions that should help fixing bugs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-28 02:25:04 +00:00
Axel Dörfler
ab25550f8e Added a initque() inline function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-17 01:35:01 +00:00
Axel Dörfler
5ef7716d48 Added a missing const to the (sys|user)_select() call.
Broke binary compatibility for the notify_select_event(), since it obviously
hasn't been used on R5 at all.
The new API/implementation is much nicer to use.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-03 03:14:05 +00:00
lillo
5e7d6a17a0 Enabled the single ordered queue scheduler and made some little fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-31 13:20:00 +00:00
Axel Dörfler
7ed765a7f9 Added syscalls for select(), and poll().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 02:29:05 +00:00
beveloper
42415555d3 after many changes, the network stack can now be build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 01:21:54 +00:00
Axel Dörfler
f2e04b5fa6 Removed the kmalloc(), kfree(), and kstrdup() prototypes.
You now need to include malloc.h (or stdlib.h) and use malloc(), free(),
and strdup().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 23:03:47 +00:00
Axel Dörfler
a2cbc788e0 Adds support for select(), and poll() in the kernel - both are realized
using the current BeOS device API.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:49:57 +00:00
Axel Dörfler
8f3a4e7dd4 Cleaned up kernel.h; the insque(), remque() functions are now in a separate
header kqueue.h - together with their implementation which was in module.c
Added a new CHECK_USER_ADDRESS() macro that can be used to check if a
user address points into the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:31:57 +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
7401ad9e32 moved trig.h to headers/private/libroot
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 01:28:28 +00:00
Daniel Reinhold
5015ea5c9e moved mathimpl.h from headers/private/kernel to headers/private/libroot
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 20:57:07 +00:00
Daniel Reinhold
7c7738f882 moved math.h from headers/private/kernel to headers/posix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 20:55:03 +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
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
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
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
3bee4b9931 removed some old, unneeded cruft
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 11:58:39 +00:00
Daniel Reinhold
2917ddc323 replaced stdlib.h in 'headers/private/kernel' with a better one in the more standard location 'headers/posix'
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 11:50:13 +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
Axel Dörfler
146a3000ee Added syscalls for the index functions.
Corrected the prototype for fs_rewind_index_dir() (don't copy and paste...)
Also checked in the syscall definitions for the signal stuff to save Angelo
some work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 18:52:04 +00:00
Axel Dörfler
8e5ca65bc9 Added a new write_stat() call to the file descriptor operations.
Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now
the fd operation.
Removed the sys_write_attr_stat() call because it is no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 03:04:19 +00:00
Axel Dörfler
b67f11173f Added syscalls for the attribute VFS calls.
Made some subtle changes to fs_attr.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-16 16:17:28 +00:00
Axel Dörfler
11fe0cb8de Added prototypes for the sys_/user_ attribute calls.
Changed the file_descriptor structure (more status_t, name removed).
Changed "extern inline" to "static inline" in thread.h/arch_thread.h as those
also work with -O0 -g.
Added prototypes for [arch_cpu_]user_strlcpy().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:19:57 +00:00
Axel Dörfler
a03cb82272 Added a field to track the file position to struct file_descriptor
(seek() moved from the fs to the vfs).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 00:11:10 +00:00
Axel Dörfler
5ebceff89d Added L_cuserid, ... definition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-06 23:47:50 +00:00
Axel Dörfler
ee02a93973 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 19:44:27 +00:00
Axel Dörfler
eafeadc689 Fixed a bug in the header (didn't include a needed header).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 16:55:20 +00:00
Axel Dörfler
e96a844909 Removed some type definitions from ktypes.h that are now located in OS.h.
Changed lock.h to like those changes.
Moved the create_sem_etc() from the public OS.h to the private kernel only
sem.h, cleaned it up a bit.
gcc doesn't seem to like the "extern inlines" with -O0 -g, so I replaced
an inline function in thread.h with "static inline" (which it does always
like).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 01:17:28 +00:00
Axel Dörfler
03874b549f Removed the remove_fd() prototype, it's now a static function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 03:29:19 +00:00
Axel Dörfler
83efd20846 The private data field in struct file_descriptor is now a union (that can
currently hold a pointer to a fs_mount, or a vnode).
Updated the index_dir part of the fs API.
Added FDTYPE_INDEX_DIR in fd.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 03:36:04 +00:00
Axel Dörfler
a16194144d Removed bootfs.h and rootfs.h from the private/kernel/ header directory.
They are now located in src/kernel/core/fs, because they are private to
the VFS, not private to the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 01:09:27 +00:00
Axel Dörfler
3c6bf0c8c1 Renamed "calls" to "ops".
Removed unused prototype.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 16:36:38 +00:00
Axel Dörfler
4dc5ecd3cb Renamed fs_id to mount_id.
Moved typedefs for mount_id and vnode_id to fs_interface.h.
Removed some unused stuff in ktypes.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 13:57:06 +00:00
Axel Dörfler
4e3c12c0af Moved <types.h> to <sys/types.h>.
Removed dependencies on arch/x86/types.h - this file is not really used
anymore, now. Might prevent compiling on Windows, though.
Replaced "int" with "int32" for the id types.
Removed some stuff from ktypes.h because it didn't belong there.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:36:51 +00:00
Axel Dörfler
3cf8edf4dd Removed the old string.h (new one in posix/)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-17 14:52:42 +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
b29ceabb12 unbreak the kernel build :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 00:36:00 +00:00
Axel Dörfler
cedc441e4a Added the realpath() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 10:42:16 +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
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
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
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
14e18e556e getdtablesize() no longer needs a syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 17:51:02 +00:00
Axel Dörfler
d7dd1c2ac2 Changed argument order for sys_read/write() to be more intuitive.
Removed unistd.h (new BeOS-like unistd.h will be in posix/ shortly)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 16:57:25 +00:00
Axel Dörfler
24462625e1 Removed header files we'll most likely never use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 17:23:23 +00:00
Axel Dörfler
dc74f4ac15 Added a comment in memheap.h
Added sys|user_write_link() to vfs.h


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 17:22:19 +00:00
Axel Dörfler
dfa8e8ef78 Added a sys_write_link() function.
Added a "mode" parameter to the sys_create_symlink() function.
Added an open_mode to the file_descriptor struct.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 05:31:32 +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
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
409a1aeacd Added some comments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 01:58:14 +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
Axel Dörfler
3aaee8e5b0 Beginnings of the symbolic link support, though it's not yet working.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 18:36:23 +00:00
David Reid
40f83ea15d Add a new line at the end...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 22:28:59 +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
2ba192e3cf Remove the int_ from in front of the enable/disable interrupt functions.
These will need to be reviewed as beos drivers expect them to be available
and using #define won't cover that.

The doxygen stuff doesn't all work though I can't figure out why :(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 01:02:18 +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
Axel Dörfler
973b9ee6b7 Added the syscalls for sys_open_entry_ref(), sys_create_entry_ref(),
sys_open_dir_entry_ref(), sys_open_dir_node_ref(), sys_create_dir_entry_ref().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 14:05:18 +00:00
lillo
65918f386e forgot a little thing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 23:06:32 +00:00
lillo
2880b9ff65 beos compatible timer routines and style cleanups in timer and sem code; also doxygened timer.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 22:53:23 +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
c6aa053941 Add some new functions for the big change coming (again) for the
interrupt code. Also start adding doxygen comments :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:28:57 +00:00
David Reid
8a396015a1 There is no need for this to be here, so move it alongside the code
it refers to as that makes more sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:23:10 +00:00
David Reid
ca91310a67 Start the change to using beos style interrupt handlers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:00:17 +00:00
David Reid
5636ab73b0 Remove some now uneeded error codes. By removing these I'm hoping
people will start to migrate to the posix/Be error codes and thus
remove the possibility of mismatched codes being reported/checked.

Think this change should cause no build problems, but it's possible
I missed one or 2 instances...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:39:33 +00:00
David Reid
45fcd51d6a Start adding a new hash implementation. the new code is basically that
that the net stack used but works in a different way than the existing code,
and has proved useful in the modules code where it cured the strange
segfaults that were being produced in seemingly random and unpredictable
places.

the naming could be improved :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:25:33 +00:00
Axel Dörfler
ba94874630 Added a fs_get_vnode_name() call for the file systems.
Fixed a header dependency in sem.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 20:51:27 +00:00
Axel Dörfler
bc934681ba 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.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 19:22:17 +00:00
Axel Dörfler
2b5d1dc418 Added the preliminary ASSERT() macro from NewOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 18:45:07 +00:00
Axel Dörfler
4635c565e4 Added the arch_cpu_idle() call.
Updated stage2_priv.h to reflect geist's, and freston's changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:15:47 +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
Philippe Houdoin
3b333c3bd1 dbg_add_command() changed into BeOS compatible add_debugger_command().
remove_debugger_command() added.
Fix cmd_gdb() prototype according to new debugger command one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 22:10:34 +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
b79d207dc2 user|sys_seek() now returns an off_t.
Changed the fd_close() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 08:01:40 +00:00
David Reid
e927084dbf This is now in another header file and so not required here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 14:52:28 +00:00
Axel Dörfler
eba8b6cfb9 Next update of the VFS: more posix like open/create; divided create in
sys_create(), and sys_create_dir(), open in sys_open(), and sys_open_dir().
Small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 05:08:26 +00:00
David Reid
6b3dbd281b drivers.h -> Drivers.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:28:12 +00:00
David Reid
5f79d3a87b drivers -> Drivers...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:26:20 +00:00
David Reid
03b2717394 We have iovec's now and add the api version define.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 20:20:37 +00:00
David Reid
f16873a60e OK, final change to error codes for a while I hope.
- remove private/kernel/Errors.h as this was just plain wrong to have it
  there and confused issues somewhat.
- add the kerrors.h file that has kernel only error codes, namely the
  ERR_ codes from newos.
- add comments for the other header files to tell people where to find
  error code definitions in an attempt to stop people getting lost!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 22:17:09 +00:00
David Reid
d69c1d7983 Move errno.h to it's correct place
Adjust Errors.h to use errno.h for the posix error codes
add first stab at limits.h, albeit not using the gcc headers at
present for intel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@88 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 20:39:30 +00:00
Axel Dörfler
f8d7610714 Added the syscalls for sys_read_dir(), and sys_rewind_dir().
sys_read_dir() now has a parameter for the maximum number of dirents that
are handled by the upper layer - which is currently 1.
Added a comment in fd.h to ease the location of the sys|user prototypes
of the corresponding functions in fd.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@58 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:46:34 +00:00
David Reid
48535f1870 offsetof, insque and remque can be used throughout the kernel,
so move their definitions here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@35 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 13:17:22 +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