Commit Graph

769 Commits

Author SHA1 Message Date
Axel Dörfler
1aaaa3689a Moved some arch dependent config information to this new file (from arch_cpu.h).
There is probably more that could be moved in here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-10 13:08:06 +00:00
Axel Dörfler
cfd8ea7832 Added a "cookie" parameter to the vfs_read|write|has_page[s]().
Also added a prototype for the fs_get_file_map() fs call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 21:52:28 +00:00
Axel Dörfler
9f67399eea Made header C++ safe. Also replaced the old "addr" type with "addr_t".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 21:49:38 +00:00
Axel Dörfler
77ca57637e The pnp_node_info structure is now a bit more public and accessible
within the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:19:41 +00:00
Axel Dörfler
1b4746c270 Changed the VM store and VFS functions a bit to better match the corresponding driver hooks.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:18:36 +00:00
Axel Dörfler
3551420440 Eliminated the "data" field in vm_store - since VM stores allocate their structure
themselves, they can just subclass that structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 19:06:12 +00:00
Axel Dörfler
9d9c6d7de9 No longer in use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 17:07:35 +00:00
Axel Dörfler
5cf089d64f Start of the file cache. For now only exports a vnode store.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 16:33:32 +00:00
Axel Dörfler
8b3bd22a1d Added vfs_get_vnode() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 16:00:22 +00:00
Axel Dörfler
36ce5c0164 Changed the way the vnode cache is set - it's now cleaner and can no longer
allocate a cache twice.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-03 14:07:00 +00:00
Ingo Weinhold
75df143732 Introduced a macro specifying the type function parameters are aligned to. Not nice, but seems to help with the automatic generation of syscall code (at least on x86).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 20:15:19 +00:00
Axel Dörfler
655c4f0c99 Resolved the argument type change of _user- vs. _kern_spawn_thread() - introduced
a new thread_entry_func typedef in the kernel only. Unlike thread_func, it accepts
two arguments - that functionality is not exported to the user, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 15:47:47 +00:00
Axel Dörfler
46365ccea6 Added new syscall _kern_sigprocmask(), renamed other signal syscalls to the
new naming scheme.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 12:02:26 +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
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
Ingo Weinhold
d7206d7e3b Changes to allow gensyscallinfos to parse it easier (adding markers where the prototypes begin and end, and named all parameters).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-28 20:29:35 +00:00
Axel Dörfler
364b28a12a Added a call that should exit the boot loader in some way; usually that
would be by rebooting the computer.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:18:33 +00:00
Axel Dörfler
a1b7427b0a A menu item can now be enabled and disabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:17:38 +00:00
Axel Dörfler
c28c059292 Added all syscalls needed for the next_dev() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-07 16:07:25 +00:00
Axel Dörfler
5c996485b7 Added syscalls for write/read fs info.
Fixed the wrong numbering of the syscall comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 18:27:31 +00:00
Axel Dörfler
63e846d50d Added a syscall to get a path for a directory node_ref.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 18:46:36 +00:00
Axel Dörfler
645e138890 Moved vfs/fd _kern_*() calls to syscalls.h.
Removed some includes from syscalls.h where possible, minor style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 01:51:56 +00:00
Axel Dörfler
342e53f418 No longer used; we now have a BeOS compatible replacement in posix/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-30 02:34:59 +00:00
Axel Dörfler
bb45cbbb30 Removed some unneeded includes, making the header easier to swallow.
Renamed the image and node monitor syscalls to the new scheme.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-29 20:12:29 +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
3b5e4b4978 New method Target() that returns the previously chosen target.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 01:16:43 +00:00
Axel Dörfler
355bc28f32 Added another menu item type (that cannot be chosen in CHOICE_MENUs).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:28:28 +00:00
Axel Dörfler
1511772218 Added platform_init_video() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:27:04 +00:00
Axel Dörfler
82fc8f393c You can now attach an arbitrary data pointer to a menu item.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 21:50:31 +00:00
Axel Dörfler
99192aa450 Work in progress of the boot loader menu.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 15:51:59 +00:00
Axel Dörfler
f10007bef5 Removed platform_user_menu_requested() call.
Replaced its functionality by a new platform_boot_options() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:25:32 +00:00
Axel Dörfler
746bb367c0 Replaced "addr" with "addr_t", improved other types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:22:05 +00:00
Axel Dörfler
9eed5c272c This fixes all "implicit typename" warnings when compiling with GCC 3.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 12:51:57 +00:00
Axel Dörfler
ede8809e4a This fixes several "implicit typename" warnings with GCC 3.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 12:37:40 +00:00
Axel Dörfler
6234c00a97 Added two more platform functions to switch between a logo screen and text mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 13:25:37 +00:00
Axel Dörfler
10937f43ff Changed the digit '4' to look better with the others.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 02:10:27 +00:00
Axel Dörfler
2158ae19ee The kernel_args structure version and size can now be checked and identified
in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:54:04 +00:00
Axel Dörfler
e07c1f2cc1 Now stores an inode number along with the other preloaded image data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:53:09 +00:00
Axel Dörfler
ad3b4b1fad The Node class can now return an inode number.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:52:19 +00:00
Axel Dörfler
7765cbf6f4 file_system_module_info now contains the module name as well.
The Partition class now maintains a module name, accessible via the new
method ModuleName().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:51:33 +00:00
Axel Dörfler
d96c1c567e Added new prototypes for publishing/unpublishing partitions.
Made the header C++ safe.
Removed old and no longer needed bootstrap_devfs() prototype.
Removed unused includes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:33:53 +00:00
Axel Dörfler
734893f6d2 Renamed all VFS syscalls to the new style.
Improved returned types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:18:04 +00:00
Axel Dörfler
57ef9ab8db Fixed return value of some functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:11:37 +00:00
Axel Dörfler
f28a7f852d Static variables do have the "s" prefix.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 20:59:52 +00:00
Axel Dörfler
960371b741 Replaced <new> with <util/kernel_cpp.h> - this is the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:00:10 +00:00
Axel Dörfler
c9df0d11c8 Added definition for reserved region's ID.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 02:01:59 +00:00
Axel Dörfler
3999c1f3ec Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 18:15:25 +00:00
Axel Dörfler
2705fb7df0 Replaced the regions array with the nicer text_region and data_region members.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:51:27 +00:00
Axel Dörfler
e1f53d9bbe Added prototype for vm_unreserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:17:16 +00:00
Axel Dörfler
11727a9c43 B_EXACT_KERNEL_ADDRESS is now the same as B_EXACT_ADDRESS; it will be
removed once it is no longer referenced.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:06:35 +00:00
Axel Dörfler
dd9e837ebd Added prototype for vm_reserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:05:32 +00:00
Axel Dörfler
ee7e4109ad Removed REGION_WIRING_* and REGION_ADDR_* and replaced them by their
BeOS counterparts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:33:51 +00:00
Axel Dörfler
dab1088ba3 "addr" to "addr_t", cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:35:39 +00:00
Axel Dörfler
3c9e531071 Removed NewOS LOCK_KERNEL and LOCK_RW - replaced by B_READ_AREA, and friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:24:53 +00:00
Axel Dörfler
56b4e8289c We temporarily need a BeOS compatible cache implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:59:53 +00:00
Axel Dörfler
2defe47a24 Removed no longer used system call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 21:12:30 +00:00
Axel Dörfler
aad3f70c86 Moved the public fs functions to fs_interface.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:21:51 +00:00
Axel Dörfler
35c681e031 Ah, that looks better (and actually works...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 02:06:04 +00:00
Axel Dörfler
67efc07974 MAX_BOOT_CPUS is defined in kernel_args.h so we better include it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 02:03:29 +00:00
Axel Dörfler
a8061da698 Removed system_time() prototype; it's already defined in OS.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:31:15 +00:00
Axel Dörfler
2c628d4aef gKernelEntry is no longer necessary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:11:47 +00:00
Axel Dörfler
78f42e3f33 Moved the addr_range struct to a separate header.
Changed the kernel image data to a preloaded image as well, to simplify
handling in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:44:24 +00:00
Axel Dörfler
ca109e727d Moved the addr_range struct out of kernel_args.h to a separate file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:41:25 +00:00
Axel Dörfler
6fccd3b788 Changed elf_lookup_symbol_address() prototype - due to the way it now returns
its information, it's no longer safe to call this function outside the debugger.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:38:09 +00:00
Axel Dörfler
ecfed6a718 Added fields to hold debug symbol information.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:33:13 +00:00
Axel Dörfler
fa1ddc4f0e For debugging purposes, the boot loader is now able to load an additional
symbol table into memory and hand it over to the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 20:30:20 +00:00
Axel Dörfler
0865e4b204 Added syscall for rename_thread(), courtesy of Jack Burton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 12:12:58 +00:00
Axel Dörfler
adbaa7817e It's now B_MAX_CPU_COUNT rather than SMP_MAX_CPUS.
Removed unused headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 09:42:13 +00:00
Axel Dörfler
814291ded8 No need to include <kernel.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 09:37:20 +00:00
Axel Dörfler
6e062dd1b5 Added an ID field that connects the real kernel image with the preloaded image structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:41:34 +00:00
Axel Dörfler
d81a053b90 Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:54:10 +00:00
Axel Dörfler
2b6b9a5afb Added a comment (now that we're using a hash table).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:20:40 +00:00
Axel Dörfler
11a5baaf67 Updated the private kernel image API to be more efficient (no longer needs
to acquire the team spinlock).
Renamed the user syscalls to the new style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 15:04:36 +00:00
Axel Dörfler
d07a6f89a0 Actually, elf_region already contains an area_id field...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 13:43:39 +00:00
Axel Dörfler
c2c0779e26 Added two fields that ease the kernel initialization of the preloaded images.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:50:20 +00:00
Axel Dörfler
f6de96a7e6 Added kernel_args_strdup() function as a strdup() replacement.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:46:38 +00:00
Axel Dörfler
5ac1540121 Changed the "stat" related syscalls to have an additional parameter that specified
the size of the stat structure to allow extensions of that structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 14:31:16 +00:00
Axel Dörfler
44c7b3db82 pcihdr.h can now be found in src/prefs/devices.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-08 18:53:54 +00:00
Axel Dörfler
5ed66da080 Made the header C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-08 18:35:30 +00:00
Jérôme Duval
3bf8a54a45 Forgot pcihdr.h, copied from the pci module
The pci module should be fixed to take this one instead


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-07 15:21:02 +00:00
Axel Dörfler
f4e3a8d25f This file don't belong here and is not used at all.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-07 00:39:07 +00:00
Axel Dörfler
6e5cac2da6 Private exported kernel functions of the device manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-07 00:36:44 +00:00
Axel Dörfler
cdbef38048 Changed some return codes to status_t where appropriate.
Renamed vfs_bootstrap_all_filesystems() to vfs_bootstrap_file_systems().
Renamed vfs_register_filesystem() to vfs_register_file_system().
Added new call vfs_mount_boot_file_system().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-06 01:20:41 +00:00
Axel Dörfler
424c06a163 We've now switched to a BeOS compatible stdio.h in posix/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-03 12:20:10 +00:00
Axel Dörfler
eaa9132647 Changed some function return codes to return a status_t where appropriate.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-27 11:54:00 +00:00
Axel Dörfler
1bde925efe Is now also usable from plain C.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-27 11:53:08 +00:00
Axel Dörfler
337d1d1bab Made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-27 11:52:37 +00:00
Axel Dörfler
179fd09879 Removed the unused argument from module_init().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-26 21:04:06 +00:00
Axel Dörfler
f6a31876ce Added system_info.h header and syscall for get_system_info().
Added support functions in sem.h and port.h that return some stats.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 22:46:35 +00:00
Axel Dörfler
4eedc697c3 platform_get_boot_partition() will now also get the boot device as parameter.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 11:10:32 +00:00
Axel Dörfler
42033342bc Added kernel_args heap functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 02:33:07 +00:00
Axel Dörfler
840ed4b067 Added a dummy member of the platform_kernel_args structure: obviously, the
kernel didn't count an empty structure, while the boot loader reserved
4 bytes for it - dunno why, a _PACKED everywhere didn't help; it's probably
a compile option issue.
To be on the safe side always, I've now added this dummy.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 01:32:44 +00:00
Axel Dörfler
95bd98d938 Fixed addr_range structure: struct name didn't match typedef name, now uses
addr_t for the address base/size instead of (the non-portable) uint32.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 01:29:55 +00:00
Axel Dörfler
d9194b620b We also need the size of the dynamic section.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 01:27:02 +00:00
Axel Dörfler
deb0d0de8a Added platform_start_kernel() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:41:38 +00:00
Axel Dörfler
85429b59c0 Added definition for the gKernelEntry variable.
Updated the license; it doesn't contain a single line of the former stage2.h
anymore, and we don't have to blame Travis for it :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:40:57 +00:00
Axel Dörfler
62dbb799d5 Replaced addr with addr_t.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:38:07 +00:00
Axel Dörfler
e1a6f46dc9 Removed ktypes.h dependency; replaced "addr" with "addr_t", some other minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:37:00 +00:00
Axel Dörfler
54327b01b3 Added prototype for _user_rename_thread().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-06 21:30:06 +00:00
Axel Dörfler
56c7aeaee8 Fixed a typo, thanks to Jack Burton for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-23 15:37:48 +00:00
Axel Dörfler
c04864640e Removed addr_t typedef (it's now in sys/types.h).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-22 19:23:47 +00:00
Axel Dörfler
1e14a27ee8 Changed prototype for thread_init(), renamed thread_init_percpu() to thread_per_cpu_init().
Removed thread_kill_thread_nowait(), removed prototype for non-existing thread_kill_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:27:19 +00:00
Axel Dörfler
14f5ad8ce4 Separated the team functions from the thread.h header into the new team.h.
Fixed fd.h to include that file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:40:03 +00:00
Axel Dörfler
8131e02c55 Made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:24:42 +00:00
Axel Dörfler
bbd8e7fbd9 Removed unneeded prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-15 00:56:02 +00:00
Axel Dörfler
4a2e872cca Applied NewOS change 1914: moved APIC setup into the kernel due to a
problem with the APIC clock speed test.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 22:54:00 +00:00
Axel Dörfler
c27ed74e34 Replaced timer.h with a cpp safe version.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 21:08:25 +00:00
Axel Dörfler
188b2566b6 Cleanup, fixed return codes.
Removed the local_timer_cancel_event() function, since it is not used anywhere.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 18:03:18 +00:00
Axel Dörfler
7d154f91ff arch_setup_signal_frame() can now fail.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 17:58:11 +00:00
Axel Dörfler
a2b6866fb9 Fixed compilation without having included boot/kernel_args.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 17:42:18 +00:00
Axel Dörfler
ed3f63ae37 Added a call to move the contents of one list to another.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 21:34:20 +00:00
Axel Dörfler
3f7d503ff1 Fixed DoublyLinkedList::Iterator().
Switched back to a pointer to the list in the Iterator internally, so
that it can still be just copied without having to overload "=", etc.
This fixes the boot loader build, too (shame on me).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-10 00:49:52 +00:00
Axel Dörfler
03d14a728a kernel_cpp.h can now safely be included from C code, great, isn't it?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-10 00:44:39 +00:00
Axel Dörfler
9e5bff5feb Replaced the syscall for thread_get_current_thread_id() with one for find_thread().
Renamed the thread/team syscalls to the new naming scheme.
Some other minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:52:47 +00:00
Axel Dörfler
8e623d69b5 Made it a bit nicer to use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:50:01 +00:00
Axel Dörfler
ac526351a8 Removed user_strncpy()/strcpy() and backends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:26:08 +00:00
Axel Dörfler
7d5be143e8 We have status_t.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:30:46 +00:00
Axel Dörfler
31bedae9ea Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Replaced "addr" with "addr_t".
And while I was at it, I also added the additional team parent/child members
as found in NewOS change 1930 (not applying the whole change yet).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:55:53 +00:00
Axel Dörfler
2e6b261697 Small cleanup.
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:14:49 +00:00
Axel Dörfler
166515d663 Replaced the scary team_get_team_struct() with the more pleasing team_is_valid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:13:54 +00:00
Axel Dörfler
0fc073341c Renamed CHECK_USER_ADDRESS to IS_USER_ADDRESS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 02:18:32 +00:00
Axel Dörfler
ab7ada645a Renamed the CHECK_USER_ADDRESS() macro to IS_USER_ADDRESS().
Added a IS_KERNEL_ADDRESS() macro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-22 14:56:50 +00:00
Tyler Dauwalder
581cfaf2c0 - Added declaration and definition of std::nothrow
- Wrapped everything but #includes in #if _KERNEL_MODE to keep from
  redeclaring/definining operator new and nothrow in userland.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-06 00:27:34 +00:00
Axel Dörfler
9289abf0e4 Added _kern_debug_output() syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-13 22:07:36 +00:00
Axel Dörfler
3d78db8f17 Removed B_KDEBUG_* definitions; they are already part of KernelExport.h.
dbg_register_file[][] reserves now space for SMP_MAX_CPUS CPUs.
Removed old dbg_{set|get}_serial_debug() functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-11 04:01:31 +00:00
Axel Dörfler
e45975b879 Definitions were doubled in vm_translation_map.h and arch/vm_translation_map.h.
The former now only contains the structure definitions, while the other one
contains the arch-specific function prototypes (which do not have the arch_
prefix).
Added a ToDo comment to remember cleaning this up one day.
Made all headers C++ safe, simplified where possible.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:10:00 +00:00
Axel Dörfler
e5fabd56bf Added prototype for setting OpenFirmware's callback for MMU actions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:06:42 +00:00
Axel Dörfler
f39e6cd6ec Added a definition for the MSR[EE] bit (MSR_EXCEPTIONS_ENABLED).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 21:05:31 +00:00
Axel Dörfler
69be5fbb93 Removed private functions, made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 18:22:37 +00:00
Axel Dörfler
229ad83bf8 Renamed arch_int_is_interrupts_enabled() to arch_int_are_interrupts_enabled().
Replaced definitions for enable_interrupts() and are_interrupts_enabled()
with static inlines.
Made int.h C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 17:55:20 +00:00
Axel Dörfler
9699c52992 Added the syscall for set_real_time_clock().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 13:30:10 +00:00
Tyler Dauwalder
a03a04e027 - Added/moved ddm string-length and buffer-size constants to DiskDeviceDefs.h
- Converted all uses of B_{FILE,OS}_NAME_LENGTH in ddm_userland_interface.cpp
  to appropriate ddm constants.
- Made module names B_PATH_NAME_LENGTH long.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 00:13:11 +00:00
Tyler Dauwalder
e176a055ac Added max parameter-string buffer-size limit of 32KB.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 08:10:52 +00:00
Tyler Dauwalder
2094b5ffbb Updated to use new parametersSize params where applicable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-25 08:36:17 +00:00
Axel Dörfler
f6cb2b865e rtc_set_system_time() is no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 15:08:02 +00:00
Axel Dörfler
a34e8cc39f Applied our style guide, made the headers C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 11:58:21 +00:00
Axel Dörfler
2218f79ede Added real-time clock support written by Jeff Ward (for the kernel).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 10:21:10 +00:00
Axel Dörfler
ace56d68aa Removed the AddNode() method from the Directory class.
Moved gRoot into the private RootFileSystem header.
Added new register_boot_file_system() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-21 03:55:53 +00:00
Axel Dörfler
db0fd9726e Added functions to set and get the segment register (as segment_descriptor).
Added constructors to block_address_translation and segment_descriptor
that will clear its memory (could be done more efficiently though, it just
uses memset()).
Added definitions for the MSR (machine state register).
Added tlbsync() macro (direct assembler call).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-21 03:07:44 +00:00
Axel Dörfler
50ba16fccf Made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 14:42:45 +00:00
Axel Dörfler
8c1ae50791 Adoption of Travis' PPC code. Changed where needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:58:41 +00:00
Axel Dörfler
78a4f584f5 Added the addr_t typedef (should replace the commonly used addr type some day).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:49:41 +00:00
Axel Dörfler
fb7bec78e3 Created a new arch-specific vm_translation.h header - it's not included
in this file.
Moved the vm_translation_map_get_pgdir() function to the x86 specific
header.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:36:38 +00:00
Axel Dörfler
db5620838a Moved the vm_translation_map_get_pgdir() function from arch/vm_translation_map.h
into this file (and replaced the prefix with i386_).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 13:35:12 +00:00
Axel Dörfler
57c3918258 Added the arch_cpu_sync_icache() function from NewOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 12:53:45 +00:00
Axel Dörfler
b73b3e5a2d Changes for the ELF loader in the boot loader.
Removed the arch_mmu_alloc() function, added (empty) arch_mmu_free() function.
Added platform prototypes for allocating and freeing a region.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-16 17:55:21 +00:00
Axel Dörfler
e44d4929ce Made it independent.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-16 17:52:35 +00:00
Axel Dörfler
c550d8537a Cleaned up the ELF header a lot, added missing definitions.
Added some C++ only accessor methods for convenience.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-16 17:51:53 +00:00
Axel Dörfler
c3e36ff498 Now uses the DoublyLinked::List class instead of the C list stuff.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-14 00:26:04 +00:00
Axel Dörfler
da69f27233 The iterator was broken.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-13 03:19:21 +00:00
Axel Dörfler
8174112d40 Almost straight copy of the list.h doubly linked list implementation to
a C++ one ready for kernel use, but very basic, too.
Has not been tested yet, expect some bug fixes soon.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-13 01:57:05 +00:00
Axel Dörfler
d172714dbd Lazy man's GCC 3 adaption.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-12 00:48:49 +00:00
Axel Dörfler
1d8adcd3f6 Added two more arch related calls for the OpenFirmware platform.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-11 18:59:08 +00:00
Axel Dörfler
ecc5968ab8 Added some more CPU functions.
Added an alternative page_table_entry::SecondaryHash() signature.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-11 18:57:35 +00:00
Axel Dörfler
d3c6ba4606 Added some CPU specific functions ({get|set}_sdr1()).
Added MMU definitions for the PowerPC.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-08 00:28:07 +00:00
Axel Dörfler
5028c44913 Now includes <platform_kernel_args.h> as well as <arch_kernel_args.h>
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-08 00:17:24 +00:00
Axel Dörfler
64881aa93e Added platform_kernel_args.h for the BIOS IA32 platform.
platform_stage2_args.h can now only be included from stage2_args.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:39:45 +00:00
Axel Dörfler
b4d2f3a8e7 Renamed arch_stage2.h to arch_kernel_args.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:34:59 +00:00
Axel Dörfler
56ce04ab02 Contents moved to kernel_args.h and platform_kernel_args.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:15:16 +00:00
Axel Dörfler
662cc71f2c heap size is now part of stage2_args.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:10:55 +00:00
Axel Dörfler
bf25fe99f6 Added new platform_kernel_args - might need an arch dependent part as well, though.
Only stage2_args.h can now include platform_stage2_args.h.
Only kernel_args.h can now include platform_kernel_args.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:02:43 +00:00
Axel Dörfler
79dd9caf61 Moved the kernel_args structure to the new kernel_args.h header file.
stage2.h is now of interest for the stage2 boot loader only.
stage2_struct.h is no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 21:58:48 +00:00
Axel Dörfler
f432eca440 Now use the new kernel_args.h header file.
Added C++ guards.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 21:56:32 +00:00
Axel Dörfler
774d1ff304 The Directory abstract base class has a new method IsEmpty().
New/changed function prototypes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:04:08 +00:00
Axel Dörfler
6e5bc20607 Added some more functions to the platform abstraction API - it's now
possible to select a boot device which is used directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:02:36 +00:00
Axel Dörfler
b337ddf60a Added a new method Mount() to Partition, Scan() now takes a parameter to
decide if it should mount file systems on the partition or not.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:00:53 +00:00
Ingo Weinhold
541c05cc85 We always resize the partition contents.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:43:11 +00:00
Ingo Weinhold
63c99af405 Added Unset(). Also added some new classes that don't work yet and are uncommented for that reason.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:42:33 +00:00
beveloper
79f40e4322 renamed line into pin, since in PCI terminology, IRQ interrupt number == line, and the physical interrupt wire == pin
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:09:32 +00:00
beveloper
fb5398b8f7 removed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:09:12 +00:00
Ingo Weinhold
eae4df8320 Fixed the usage of CHECK_USER_ADDRESS(). R5 has the inverse memory layout, so we need to adjust the KERNEL_BASE macro when compiling for it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:50:02 +00:00
Ingo Weinhold
58bdbab626 Added a KPartition listener mechanism and made use of it to keep shadow partitions with the corresponding physical ones in sync.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:04:13 +00:00
Ingo Weinhold
583f8c1d02 Added set_disk_device_job_error_message() for setting an error message, when an error occurs while executing a job.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:29:36 +00:00
Ingo Weinhold
ac8b60ce67 Added setter/getter for an error message. Should be set to something informative when while executing a job an error occurs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:28:27 +00:00
Ingo Weinhold
69cb08c01c UninitializeContents() returns an error code now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:26:18 +00:00
Ingo Weinhold
e0e5d17627 Handy functions to copy from and to userland reference parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 15:12:27 +00:00
Ingo Weinhold
6e855f0317 Removed the resizeContents/force from the resize/move syscalls. Fixed resize/move related bugs (partition was not check for status uninitialized).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:26:12 +00:00
Ingo Weinhold
dafaf4c360 Added IsUninitialized() convenience method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:21:10 +00:00
Ingo Weinhold
20c33ce79b Added syscall for uninitialization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 19:13:54 +00:00
Ingo Weinhold
5c699c6735 Add a field mount_cookie to the partition_data structure and
respective setter/getter methods to the KPartition class.
If a partition is mounted, the field will contain the cookie the
FS's mount() hook passed back to the VFS. This way the FS has
access to its internal data structures. We need the cooperation
of the VFS to get the cookie.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 18:25:42 +00:00
shatty
853d2f32a6 moved to public header
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-20 20:50:46 +00:00
shatty
b89786b69e change to public resource.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-20 20:47:27 +00:00
beveloper
f120b01748 added locking
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 20:44:10 +00:00
beveloper
4cc6d1c38b renamed functions,
added irq setup


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 15:54:35 +00:00
beveloper
14b537e142 added new private header file for new pci module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 01:00:14 +00:00
Axel Dörfler
ad1b3319c5 Added a new open_from() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 02:28:50 +00:00
Axel Dörfler
69a8a40770 Forgot to commit this: defines the AmigaFFS module info structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 02:28:21 +00:00
Axel Dörfler
da42afdf62 Made the Partition class public again - it's handy to use for some file
systems in order to retrieve some parameters.
Changed the get_file_system() call to accept a Partition instead of just
a node.
Introduced the namespace boot to the public headers; I guess I should
put all classes in there (compilation of the intel partitioning system
fails without the namespace, because it defines a class Partition itself).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-14 16:38:10 +00:00
Axel Dörfler
0d48a66bf1 Removed the port_test_thread_func() prototype from the header - that's a
private method which is only defined when DEBUG is turned on.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 20:48:07 +00:00
Axel Dörfler
1fdfe0c39a Added a new directory traversing method GetNextEntry() that's based on the
entry's name.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 07:15:32 +00:00
Axel Dörfler
ebe8f6bba7 Accidently exported a C++ function in a plain C accessible part.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 00:27:11 +00:00
Tyler Dauwalder
c72c47f361 Switched from <Strategy> to <Value, Strategy = Auto> template paramter format.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 06:25:31 +00:00
Axel Dörfler
28ab9bb7be list.h is now in util/.
All files updated, so this can be removed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:37:49 +00:00
Axel Dörfler
c7a03dadea list.h is now in util/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:31:25 +00:00
Axel Dörfler
fd5b59d227 Added initial support for file systems. Not tested yet, but compiles.
New Directory class for use in file systems; file systems need to publish
their root directory as a subclass of this class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:12:06 +00:00
Axel Dörfler
275186b598 list.h location has moved.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:10:15 +00:00
Axel Dörfler
405a3fb126 Moved list.h to the util/ subfolder. (It currently still is in the kernel
private headers directory to not break the build.)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:09:33 +00:00
Axel Dörfler
eced90ea7a Moved the definition of the Descriptor class to vfs.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 12:32:33 +00:00
Axel Dörfler
5306fba3a1 Added the new vfs_get_module_path() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 04:01:07 +00:00
Axel Dörfler
e5d542ba54 Moved the Partition class declaration to the source file.
Added some partition types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:39:24 +00:00
Axel Dörfler
e731e11702 Added the nothrow variants of the new operator.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:33:37 +00:00
Axel Dörfler
318ea28beb Added internal syscalls (_user/_kern) for fs_read_info() and fs_write_info().
Not yet accessible from the outside.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:18:48 +00:00
Axel Dörfler
9d12fd8503 Added dprintf() to the platform dependent methods.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 17:08:08 +00:00
Axel Dörfler
ccc316dc1c Our <new> lets delete throw __nothing - kernel_cpp.h now reflects this,
although I might change this issue after having had a look at the PPC
compilation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 14:57:55 +00:00
Axel Dörfler
6f7c2dc677 Missing boot loader headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 01:53:41 +00:00
beveloper
188b5de0bf renamed atomic_read() into atomic_get() (since we already have atomic_set(), but not a atomic_write())
renamed user_??? functions into the new _user_??? naming style.
changed implementation of PPC 64 bit atomic functions to use (un)lock_memory()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 01:21:56 +00:00
beveloper
5fe840b9b5 fixed address checking in ppc atomic functions.
fixed compilation on x86.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:36:06 +00:00
beveloper
50e0ce4bee Implemented new syscalls for 32 and 64 bit atomic operations.
They are only used if the architecture doesn't support them directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:02:00 +00:00
Axel Dörfler
f236d16605 Removed the vm_get_region_info() call and the vm_region_info structure -
they are now replaced by get_area_info() and the area_info structure.
get_area_info() still misses some pieces, though.
Added all missing VM user/kernel syscalls.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 15:47:52 +00:00
beveloper
40ac5c5195 cvs server: Up-to-date check failed for `src/kernel/core/vm/vm.c'
cvs [server aborted]: correct above errors first!
cvs commit: saving log message in /tmp/cvsFPtfaj


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:48:15 +00:00
beveloper
867695ddb7 architecture specific CPU things, like defines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:29:36 +00:00
beveloper
3cbce96a24 removed no longer used include file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:26:30 +00:00
Axel Dörfler
d4055614a4 Made the "name" argument const for create_area_etc() and vm_map_physical_memory().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:10:14 +00:00
Axel Dörfler
39ce1ac62d Didn't know B_SLOWMEM - bumped B_ALREADY_WIRED one further.
Fixed the now broken LOCK_KERNEL definition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:09:28 +00:00
Axel Dörfler
f8a4dcfa28 Forgot about B_ANY_KERNEL_BLOCK_ADDRESS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 22:29:51 +00:00
Axel Dörfler
425b6cdf15 Added the new kernel private delete_area_etc() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 17:22:47 +00:00
Axel Dörfler
5d4b10645c Adds some private kernel extensions to the BeOS VM/API: things like
B_EXACT_KERNEL_ADDRESS, B_KERNEL_READ_AREA, ...
They are preliminary defined here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:14:26 +00:00
Axel Dörfler
640d0ba831 Replaced old create/delete area syscalls with the new ones, added
new kernel private create_area_etc() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:11:58 +00:00
Axel Dörfler
50ba6835f7 Replaced old create/delete area syscalls with the new ones.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:10:35 +00:00
Axel Dörfler
9970840118 Renamed syscall definitions for the create/delete area calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:07:40 +00:00
shatty
edb76b96d2 new posix/beos compatible version in public posix/ctype.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-16 07:13:59 +00:00
Ingo Weinhold
8d91b8087d Improved the interaction between job queue and manager. Partitions should now be mark busy correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:39:12 +00:00
Ingo Weinhold
f31cbc2db6 Added SetTo() methods to the AutoLocker.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:28:11 +00:00
Ingo Weinhold
cc6edbdf8f * Added VisitEachDescendant().
* Added {Add,Clear}Flags() which are more comfortable than SetFlags() in
  most cases.
* On construction the `busy' and `descendant busy' flags are set.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:27:33 +00:00
Ingo Weinhold
7e4c7d4350 Added KPartitionVisitor class used for advanced partition tree traversal.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:23:53 +00:00
Ingo Weinhold
a7ef3b5651 Added compare_string().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-01 23:59:56 +00:00
Ingo Weinhold
84ba3a5265 Added JobFactory().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-01 23:59:26 +00:00
Ingo Weinhold
1217079c31 Changed parameter name only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-01 23:58:46 +00:00
Ingo Weinhold
bdbbcfaf16 Added CountDescendants().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:48:08 +00:00
Ingo Weinhold
e37159e2db Added min() and max() functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:47:17 +00:00
Ingo Weinhold
ec4ef3525f Added a KDiskDevice* parameter to the constructor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:46:38 +00:00
Ingo Weinhold
57c8af057e Replaced the Vector parameter of CreateMoveJob() by a simple array. Added CreateUninitializeJob() (empty implementation).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:45:26 +00:00
Ingo Weinhold
68f12c0221 Implemented job related functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:49:50 +00:00
Ingo Weinhold
fe05b0ac95 Added and implemented job related syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:48:08 +00:00
Ingo Weinhold
c34b4f49f4 Added ActiveJobIndex().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:46:59 +00:00
Ingo Weinhold
c30e81a7bc Added partition_data::content_size, job cancel statuses and a function needed to support canceling an pausing of jobs (not implemented yet).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:27:25 +00:00
Ingo Weinhold
71346466b8 Added user_partition_data::content_size field. Small change to support a NULL parameter in _kern_supports_resizing_partition().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:24:22 +00:00
Ingo Weinhold
738e4a700b Support for the added partition content size attribute.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:21:21 +00:00
Ingo Weinhold
ace55d9bfc Implemented the job related functionality. Moved scanning of partitions into the respective job class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:18:16 +00:00
Ingo Weinhold
6eaec7ddda Some changes to the interface (added missing methods and such). Implemented the class almost completely. Basically only the notification stuff is still missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:16:15 +00:00
Ingo Weinhold
a31533cbec Brought the interface up to date. Added empty implementations for all methods, save the one creating a job for scanning, which is complete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:14:27 +00:00
Ingo Weinhold
38bd13fcf9 Some changes to the interface. Implemented most of the methods. The notification stuff is still missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:12:39 +00:00
Ingo Weinhold
95152e1e98 Implemented remaining partition modification syscalls. Some small fixes. Some refactoring.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:58:06 +00:00
Ingo Weinhold
1d8675355f Added some more support for tracking changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:56:53 +00:00
Ingo Weinhold
073eb9aead Added constants identifying operations on partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:55:22 +00:00
Ingo Weinhold
ee1ebe375c * Added ShadowPartitionChanged() to KDiskSystem and respective hooks
to the module interfaces. So the disk system will be informed, when a
  shadow partition has changed and it is allowed to do necessary
  adjustions (e.g. adjusting the cookie, the parameters, or on
  partitioning system initialization even creating special child
  partitions (apple partitioning system)).
* Added `int32 *index' parameter to ValidateCreateChild(). So the
  partitioning system can report at which index the new child shall be
  inserted.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:53:23 +00:00
Ingo Weinhold
5ee968b3df * Added a change counter parameter to all partition querying and
modification functions. Don't know why I didn't right from the start.
* Implemented _kern_resize_partition().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:11:03 +00:00
Ingo Weinhold
f865306260 Some comments regarding the partition_data struct.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:05:38 +00:00
Ingo Weinhold
f985036e31 Reordered for aesthetical reasons. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:04:27 +00:00
Ingo Weinhold
02885b7d6e * Got rid of SetContentType(). It is set automatically now, to the
PrettyName() of the responsible disk system.
* Added change counter support and changes tracking.
* Added UninitializeContents().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:03:35 +00:00
Ingo Weinhold
c0b8ba64fd _kern_supports_moving_partition() now returns the list of partitions that need to be unmounted for moving.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-21 14:17:03 +00:00
Ingo Weinhold
df3b8c625e Added partition modification syscalls with empty implementations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 22:39:37 +00:00
Ingo Weinhold
71a5281923 Implemented _kern_get_partitionable_spaces(). Got rid of user_partitionable_space_data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:18:48 +00:00
Ingo Weinhold
3ee6c178d5 Some fixes of/changes to the API. Shortened names where possible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:17:00 +00:00
Ingo Weinhold
2a596c013a Implemented all read-only (more precisely: not writing) methods. Small changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:15:35 +00:00
Ingo Weinhold
752cec6459 Several changes to the _kern_{supports,validate}_*() calls:
* Removed the disk_system_id parameter where superfluous.
* Got rid of the `child' variants of the _kern_{supports,validate}_*()
  syscalls for moving and resizing. Reimplemented the real ones to do the
  the right thing, i.e. they check all concerned disk systems now.
* Added _kern_supports_setting[_content]_parameters().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:37:00 +00:00
Ingo Weinhold
708a31badf Added SupportsSetting[Content]Parameters() to the KDiskSystem interface and respective functions to the module interface. Some re-ordering of methods/functions for aesthetical reasons. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:29:58 +00:00
Ingo Weinhold
24fa6c601b Added LoadDiskSystem() version, that takes a disk system name.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:26:48 +00:00
Ingo Weinhold
18b90323d9 Added flags for disk systems.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-18 18:41:21 +00:00
Ingo Weinhold
a1a7d37e2c Added syscall for validating the initialization parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:04:22 +00:00
Ingo Weinhold
3f60a01369 Added "name" parameter to KDiskSystem::[Validate]Initialize() and the respective module API functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:03:17 +00:00
Ingo Weinhold
8bc0bd912a Added and implemented the remaining disk system syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:01:14 +00:00
Ingo Weinhold
1f3f1294a8 Added a IsSubSystemFor() method to the KDiskSystem interface and respective calls for the module interfaces.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:00:01 +00:00
Ingo Weinhold
1863de6785 Added and implemented the first part of the disk system querying syscalls (_kern_supports_*()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:42:59 +00:00
Ingo Weinhold
0fbb290f51 Some changes to/fixes of the KDiskSystem interface and the disk system module interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:41:32 +00:00
Ingo Weinhold
a97769a5d3 Added {Read,Write}Lock{Device,Partition}().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:39:34 +00:00
Ingo Weinhold
dd43c7769f * Added shadow_id field to user_partition_data.
* Implemented several new syscalls (_kern_find_{disk_device,partition}(),
  {prepare,cancel}_disk_device_modifications(),
  [un]register_file_device()),
* Fixed some details in existing syscalls.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:10:32 +00:00
Ingo Weinhold
2438192b6c Added a deviceOnly flag to {Find,Register}Device(). Minor {Create,Delete}FileDevice() changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:05:50 +00:00
Ingo Weinhold
5d22fa967a Shadow partition related changes:
* Fixed handling of the deletion (removal) of shadow partitions. Formerly
  the shadow partition corresponding to the disk device wasn't removed
  properly.
* Added a shadow_id field to the user_partition_data structure which
  contains the ID of the shadow partition, if it is one. The id field
  will hold the ID of the physical partition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:00:24 +00:00
Ingo Weinhold
e1302deadb Damn, accidentially deleted the changed header via "cvs rm -f". Here it comes again: Disk system iteration functions added.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:45:53 +00:00
Ingo Weinhold
995d5c53be * Renamed ddm_user_interface.cpp to ddm_userland_interface.cpp which
matches the name of the header much better. :-)
* Implemented the syscalls for iterating through and finding disk systems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:23:27 +00:00
Ingo Weinhold
621e29d0b5 Added a DiskSystemLoader class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:21:34 +00:00
Ingo Weinhold
c54d68a84e Should have waited a few more minutes... Renamed the methods {B,K}Partition::Is{Mountable,Partitionable}() to Contains{File,Partitioning}System(). Similar change for the respective flags (B_PARTITION_{MOUNTABLE,PARTITIONABLE}).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:38:45 +00:00
Ingo Weinhold
55bf93d80d Fixed handling of partition and device flags and statuses.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:25:32 +00:00
Ingo Weinhold
c0455c33b8 * More shadow partition support.
* Writing disk device/partition data into userland buffer added.
* Migration of some definitions into <DiskDeviceDefs.h> header.
* Small bug fixes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 23:01:22 +00:00
Ingo Weinhold
64cf9ebc08 Made PartitionRegistrar visible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:57:40 +00:00
Ingo Weinhold
d885284414 First implementations of Disk Device API related syscalls (iterating through disk devices and retrieving disk device data). As long as we work in userland these aren't real syscalls, of course.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:56:39 +00:00
Ingo Weinhold
a162af3b0e Made KPartition abstract and derived two classes, KPhysicalPartition
and KShadowPartition from it. KPhysicalPartition represents a partition
that exists on-disk, while KShadowPartition is a partition edited by the
API user, but not yet written to disk. Related changes in other classes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 23:45:26 +00:00
Ingo Weinhold
5b489f6f16 Got rid of the List template class in the disk device manager source dir. Instead we use the Vector based Kernel Utils classes now. Various related changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 16:29:33 +00:00
Ingo Weinhold
83744ac99d Added the ImplicitKey entry strategy, which allows the key to be calculated on the fly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 03:17:43 +00:00
Ingo Weinhold
7e65f8eb29 Added a Vector based map implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:37:17 +00:00
Ingo Weinhold
92ec26a3be Fixed documentation and a minor issue.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:36:11 +00:00
Ingo Weinhold
bd3ed7497a Apparently invoking non-static member functions for default arguments doesn't work. Removed the default argument for Find() and added respective additional versions. Some more minor changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 01:00:23 +00:00
Ingo Weinhold
4489db253c Added a Vector based set implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 00:53:50 +00:00
Ingo Weinhold
eaf9864cde Added a generic Vector implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 19:45:10 +00:00
Ingo Weinhold
c4de095cd1 Fixed invalid default argument. Not that the compiler eats the file now...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 19:44:14 +00:00
Ingo Weinhold
42b47c7c30 Some small interface fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:53:21 +00:00
Ingo Weinhold
e0f43e3e84 The beginning of an AVL tree based map implementation. Well, the tree part
is complete, the interface needs work.
Unfortunately our ancient compiler chokes on this (`Internal Compiler
Error'). I got around the problem by restructuring parts of the code once,
but now I'm stuck -- no idea what I could change. So, there won't be
AVLTree{Map,Set} until we have a working compiler. :-(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 15:49:33 +00:00
Axel Dörfler
fb68886768 C++ for the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 22:58:58 +00:00
Axel Dörfler
7f14e583d0 Hide the implementation (the structure definition is now in cbuf.c).
Changed return types to status_t where appropriate.
Now usable from C++.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 16:40:53 +00:00
Axel Dörfler
749df8aa6b Added a benaphore_lock_etc() for a timeout possibility.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 16:39:33 +00:00
Axel Dörfler
0281fb7b32 Removed the old benaphore/rw-lock definitions, added some preliminary new
ones (but real functions/inlines this time).
Renamed recursive_lock_create() to recursive_lock_init() for consistency,
and added a "name" parameter.
Changed "int" return to status_t where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 03:16:53 +00:00
Axel Dörfler
41415a1bc0 Now compilable with C++.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-27 02:27:43 +00:00
Axel Dörfler
64700310b9 Unfortunately, BeOS & Linux stdio.h have different header guards - our
inbetween solution now have both.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 00:22:04 +00:00
Axel Dörfler
0d76efa411 Changed the header guard to be compatible with the GNU stdio.h file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 00:09:37 +00:00
Ingo Weinhold
b23394f957 * Implemented what was left to do for KDiskDevice and KPartition
management regarding removal and deletion of objects.
* Fixed the file disk system related stuff. KFileDiskSystem now uses the
  virtualdrive driver. The former method was seemed simple and brilliant,
  but the B_SET_PARTITION ioctl wouldn't work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 23:56:16 +00:00
Axel Dörfler
c9b0bae94c Needed to compile the boot loader stuff under x86.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 17:27:07 +00:00
Axel Dörfler
59eb57ae58 Some work-in-progress headers that are needed to build the heap test.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 17:22:11 +00:00
Ingo Weinhold
b8777f30dc * Added bool to the AutoLocker constructor indicating that the object
has already been locked. Defaults to false, of course.
* `Abused' the AutoLocker for partition registration/unregistration
  (PartitionRegistrar).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 23:42:15 +00:00
Tyler Dauwalder
d3a0e7c306 General object constructor class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 05:56:09 +00:00
Tyler Dauwalder
ab608058b4 Allocator that uses malloc()/free()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 05:55:31 +00:00
Tyler Dauwalder
e9ebb4a961 Beginnings of the kernel utils library.
Templated singly linked list class (not quite complete).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 05:54:53 +00:00
Ingo Weinhold
62b9e141e1 Added a find_disk_system(). I first thought, this might be a good idea, but I'm not so sure anymore.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:12:20 +00:00
Ingo Weinhold
e1d495e36c Added field for the ID of the disk system responsible for the partition's content.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:10:01 +00:00
Ingo Weinhold
3ec225ba22 Some smaller changes to the module interfaces.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:08:26 +00:00
Ingo Weinhold
9007acaee3 Added Dump(). Small fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:04:56 +00:00
Ingo Weinhold
fcf461b32c Implemented the scanning functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:03:58 +00:00
Ingo Weinhold
b22221ad17 Minor changes to the KDiskSystem interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:03:17 +00:00
Ingo Weinhold
0e2967f9d2 Missing header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:00:47 +00:00
Ingo Weinhold
38d5e95af9 Support for creating and deleting (the latter not yet implemented) file disk devices. Added file system addition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 23:00:20 +00:00
Ingo Weinhold
bdc530c737 Some small adjustments for KFileDiskDevice. Added Dump().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 22:57:42 +00:00
Ingo Weinhold
17750c7774 Added a special disk device class, that is responsible for representing
files as disk devices. This will not only be great for testing the
file and partitioning system modules' writing capabilities, it will also
just be a nice feature to have.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-22 22:54:16 +00:00
Ingo Weinhold
f7672ebc25 * Made {Publish,Unpublish}Device() virtual and implemented them in
KPartition and as no-ops in KDiskDevice.
* Prefixed partition names with "obos_" to not interfere with R5's
  partition names.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-14 00:06:57 +00:00
Ingo Weinhold
2609ebac90 Several fixes necessary to get the partition scanning working.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-13 22:08:10 +00:00
Ingo Weinhold
ef9b1b52ee Implemented a preliminary disk device scanning in KDiskDeviceManager.
Some changes to KPartition, KDiskDevice, KDiskSystem on this way.
Still missing is KPartition::Publish() and its invocation in
KDiskDeviceManager. Then everything should be in place to start with
porting the scanning parts of our disk system modules.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-12 22:21:10 +00:00
Ingo Weinhold
ac63679417 Small changes in the header, and implemented everything needed for scanning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-11 22:04:34 +00:00
Ingo Weinhold
1bf21e6a40 * Added CreateChild().
* Added Publish/UnpublishDevice(). Not implemented yet.
* small fixes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-11 22:03:26 +00:00
Ingo Weinhold
13a452eaee Added an Init() amd dealt with the PrettyName().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-11 22:00:59 +00:00
Ingo Weinhold
450c7dd609 Added basic disk system management.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-11 21:59:27 +00:00
Ingo Weinhold
30b4d57df4 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:43:52 +00:00
Ingo Weinhold
929ed30bdc The disk_device_data now also have a device_geometry field. That will probably come handy.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:42:53 +00:00
Ingo Weinhold
3ffe913826 Turned the loose set of functions into partition and FS module interfaces.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:41:02 +00:00
Ingo Weinhold
6778f21163 Some fixes in the header and a very basic implementation. In theory the functionality for scanning partitions is implemented, as well as loading/unloading the partition module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:40:09 +00:00
Ingo Weinhold
0b6c74bbe3 Implemented some more bits of KPartition. Added a very useful Open() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:37:43 +00:00
Ingo Weinhold
af4c45d5d8 Some small fixes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:36:53 +00:00
Ingo Weinhold
f254d01839 Implemented KDiskSystem. Should be almost complete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:36:31 +00:00
Ingo Weinhold
29a37d780d Implemented some basics of KDiskDeviceManager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:35:57 +00:00
Ingo Weinhold
537635f1d1 Implemented basic parts of KDiskDevice.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:35:12 +00:00
Ingo Weinhold
7bb1e99cb6 Pulled set_string() out of KPartition.cpp for it is useful also in other classes. Added a generic AutoLocker.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-10 22:33:44 +00:00
Ingo Weinhold
4c212afefb Headers for the disk device manager. Very early state.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-09 23:04:54 +00:00
Axel Dörfler
ff6ff33a9d Put spaces between "::" in the asm directive to let it compile in C++ mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-20 03:02:19 +00:00
Axel Dörfler
c0f5672484 Removed unused functions, the C++ extern "C" now spans over all functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-13 15:23:17 +00:00
Axel Dörfler
976b0da0d6 Fixed some C++ build issues with fd.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-13 00:27:29 +00:00
Axel Dörfler
bc09b1bfc2 This stdarg.h header file is not needed at all.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-11 02:29:41 +00:00
Axel Dörfler
bb23b77201 Removed unused headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 16:04:41 +00:00
Axel Dörfler
564cba312e Some header work: removed unnecessary dependencies to stage2.h, fixed
some broken C++ export definitions, added missing licenses etc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 16:03:26 +00:00
Axel Dörfler
32439967b9 Removed the arch-dependent relocation definitions (they can now be included
via arch/elf.h).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 16:02:26 +00:00
Axel Dörfler
8b8fd1c31c Removed the stage2 related headers (they are now in boot/).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 15:59:29 +00:00
Axel Dörfler
45792a2df2 "struct ka" is now "struct kernel_args".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 14:14:39 +00:00
Axel Dörfler
c17f45d123 Some header cleanups.
Renamed dbg_save_registers() to arch_...() since it's arch dependent.
Removed unnecessary dependencies to stage2.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 14:12:16 +00:00
Axel Dörfler
f78d32a251 Some header cleanups.
Removed unused keyboard.h header.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 13:26:32 +00:00
Axel Dörfler
c4bf92f686 Added new arch_elf.h header where the platform dependent relocation definitions
are located.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 12:51:56 +00:00
Axel Dörfler
62af4ffa5e Added missing or changed/removed outdated PPC headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 12:49:57 +00:00
Axel Dörfler
2b70a18961 Move boot headers into their own private directory (for now, they are still
present in private/kernel/ but this will change soon).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 03:43:30 +00:00
Axel Dörfler
a02a5888af Added another argument parameter for the thread creation code. Helps
implementing a more efficient on_exit_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-18 09:21:22 +00:00
Axel Dörfler
896aefa8ec Added a new call vfs_new_vnode(), replaced "int" return type to status_t
for the VFS vnode functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-21 13:44:53 +00:00
Axel Dörfler
9175b5a5e0 Cleanup of the header mess: removed the redundant APIC/mp structure definitions
from smp_priv.h and stage2_priv.h. Created a new file smp_apic.h which now
contains those definitions.
Made the APIC_xxx register offsets only base offsets (without referencing a
particular variable).
Other small cleanups (i.e. "unsigned int" to uint32).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-30 21:20:33 +00:00
Philippe Houdoin
f3eabb6abd Backport time tracking fix from NewOS:
thread code now properly traces time spent in user vs kernel mode. The code was
just plain broken before
http://www.newos.org/cgi-bin/perfbrowse.perl?@describe+1704


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-29 21:59:37 +00:00
Axel Dörfler
a9731b41c1 Housekeeping changes and small bug-fixes:
Added new syscall for set_thread_priority().
Replaced the userland syscall snooze_until() with snooze_etc() (the latter
has to be exported to userland and realize snooze() and snooze_until()).
Cleaned the sources - scheduler functions now have the scheduler_ prefix.
Moved signal related stuff into ksignal.h (out of thread.h).
Replaced public kernel API with direct exports (i.e. resume_thread() instead
of thread_resume_thread()).
Removed the thread_create_XXX_thread*() calls, and replaced them with a
BeOS compatible set.
Made some fields of struct thread a bit prettier.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 02:54:21 +00:00