Commit Graph

786 Commits

Author SHA1 Message Date
Axel Dörfler
cfa218268b Moved VFS syscall prototypes from vfs.h to syscalls.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 02:38:03 +00:00
Axel Dörfler
0f579f8c6d Improved debug output when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 01:57:52 +00:00
Axel Dörfler
50dbc6bcbd Renamed node monitor syscalls to the new scheme.
Added comments from storage/NodeMonitor.cpp to the syscalls here (they
will be removed from NodeMonitor.cpp), and adapted them where necessary.


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


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


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


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-24 23:48:44 +00:00
Axel Dörfler
b045bd49f4 Kernel add-ons were not correctly registered (image_info was initialized
after the registration...).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 00:10:55 +00:00
Axel Dörfler
80180472db This fixes the PPC kernel build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:33:36 +00:00
Axel Dörfler
5829c4a2db Fixed warnings due to the changes in vm_translation_map.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:27:53 +00:00
Axel Dörfler
ae4a9c5f25 Fixed warnings due to the type changes in vm_translation_map.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 13:23:30 +00:00
Axel Dörfler
d001f09162 Removed the directory contents dump in vfs_mount_boot_file_system().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 13:26:39 +00:00
Axel Dörfler
578257f77e Fixed read/write fd functions return type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 10:32:26 +00:00
Axel Dörfler
f24066f694 Now checks the kernel args structure size and version, and bails out if
it's not known (it currently only support the current version, of course :-).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:57:13 +00:00
Axel Dörfler
b8599dec8e Added needed header when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:40:21 +00:00
Axel Dörfler
5d5716e614 Now calls the new devfs partition (un)publishing calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:38:55 +00:00
Axel Dörfler
0d961b9fbc The KPartition base class does not know anything about publishing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:37:46 +00:00
Axel Dörfler
affbc7ade7 Renamed VFS syscalls to the new style.
Improved returned types.
Added and initializes Disk Device Manager.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:35:10 +00:00
Axel Dörfler
bd2d09ddc3 Added empty implementations of the new partition publish/unpublish calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:32:22 +00:00
Axel Dörfler
9a0de43e56 Added private storage headers to be able to use disk device manager headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:30:59 +00:00
Axel Dörfler
c8a8e52f79 Renamed VFS syscalls to the new style.
Improved returned types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:29:37 +00:00
Axel Dörfler
244272ccb4 Renamed VFS syscalls to the new style.
Fixed read/write calls to use and update the descriptor position.
Removed the CHECK_USER_ADDR() macro; it's now using the usual (more readable) check.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:28:33 +00:00
Axel Dörfler
32dc7b6393 Renamed VFS syscalls to the new style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:26:22 +00:00
Axel Dörfler
e878738efd Fixed compilation with tracing turned on.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:25:25 +00:00
Stefano Ceccherini
6ed18b369b Fixes the build with gcc 3.2.2 (still has many warnings, though)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-14 08:46:38 +00:00
Axel Dörfler
e44da8eb5c Build was broken due to missing -fno-pic (have I mentioned that we need
a new build system? :-))


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 20:58:30 +00:00
Axel Dörfler
f6fed308e3 Rewrote KDiskDeviceManager::CreateDefault() to be easier to read and actually
return the correct error code in case there is one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 20:57:11 +00:00
Axel Dörfler
c9690ffdd8 Changed the build so that all symbols are exported.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:25:23 +00:00
Axel Dörfler
499b29e3ea Made all necessary changes to build the DiskDeviceManager as part of the kernel.
Removed KFileDiskDevice functionality for now (since it would have required more changes).
Also disabled actual partition publishing/unpublishing, because this will
be done differently.
This change will temporarily break the DiskDeviceManagerTest build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:03:31 +00:00
Axel Dörfler
e27f9449fe Now uses spawn_kernel_thread() instead of spawn_thread().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 15:47:19 +00:00
Axel Dörfler
4a847f30c5 Added exit_thread().
Changed thread_atkernel_exit() to look less broken - the way and when it's
called should still be investigated: NewOS looks a lot cleaner here.
create_thread() now creates the kernel stack upfront, so that it can easily
bail out of that fails. The user stack creation now makes use of B_BASE_ADDRESS
and is therefore a lot better and simpler. In case user stack creation failed,
it should now be able to handle that a lot more gracefully - but that hasn't
been tested yet...
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 01:45:33 +00:00
Axel Dörfler
6e0526544a Now cuts off the path when it gives a team's main thread its name.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 01:36:29 +00:00
Axel Dörfler
7bdd1a7874 user_vm_map_file() was broken after recent changes; it didn't allow the
kernel to write to read-only userland areas.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 00:39:40 +00:00
Axel Dörfler
fab1cad1b8 Now other code accounts for reserved regions in the standard region_list as well.
Introduced RESERVED_REGION_ID definition.
Some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 02:03:55 +00:00
Axel Dörfler
edfcb58323 Tuned message in case debug command "ls" fails.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 01:47:44 +00:00
Axel Dörfler
6f09e38dea team_create_team2() no longer panics if it couldn't create the userland
stack - it just fails now (since create_area() currently panics when it
fails, this is a cosmetic change anyway :-)).
Now correctly cleans up in case elf_load_user_image() fails.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 01:43:16 +00:00
Axel Dörfler
abd212c06a Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 01:39:17 +00:00
Axel Dörfler
6ee4a2f161 Removed B_EXACT_KERNEL_ADDRESS again.
Replaced "addr" with "addr_t".
Header cleanups.
There is no need to call set_tls_context() in arch_thread_init_tls().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 18:10:45 +00:00
Axel Dörfler
577402ea7e We now have text_region and data_region instead of the unclear array.
load_kernel_add_on() now protects the text area read-only (theoretically,
as set_area_protection() has not yet been implemented).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:55:54 +00:00
Axel Dörfler
9d256ebb6e We now have text_region and data_region instead of the unclear array.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:52:17 +00:00
Axel Dörfler
c9a96524d2 Modified load_kernel_add_on() to use the new address range reservation functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:24:51 +00:00
Axel Dörfler
500e879b20 Implemented vm_unreserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:18:18 +00:00
Axel Dörfler
76377cf3f5 - Removed B_EXACT_KERNEL_ADDRESS - doesn't make that much sense (it was a private
and (very) temporary extension, anyway).
- Fixed _user_create_area() - it will now also recognize B_ANY_KERNEL_BLOCK_AREA,
  and it will not access a kernel address for B_EXACT_ADDRESS.
- create_area() will now handle B_EXACT_ADDRESS correctly as well.
- get_memory_map() will now silently ignore the missing final entry if the map
  contains only one entry.
- The check for user memory was wrong in get_memory_map(); it worked, but it
  was not necessarily portable.
- vm_reserve_address_range() was not correctly initializing the region.
- find_and_insert_region_slot() will now search for reserved regions when
  B_EXACT_ADDRESS is used - not yet tested, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:04:51 +00:00
Axel Dörfler
98b3dfb3e1 Extracted the address specification stuff out of map_backing_store() and
created a call around find_and_insert_region_slot() that takes care of
everything. Fixed B_BASE_ADDRESS support (it now really works).
First shot at a new VM function vm_reserve_address_range() that will be
used to fix our ELF loader issues (which needs to create adjacent regions
which the VM cannot guaranty at this point).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 00:05:02 +00:00
Axel Dörfler
e243c52503 Now correctly handles B_BASE_ADDRESS, and probably B_ANY_KERNEL_BLOCK_ADDRESS,
too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:55:39 +00:00
Axel Dörfler
706d99ca73 This patch from Jack Burton should finally fix the interrupt problems on
thread exit - get_death_stack() now returns the interrupt state so that
it can be restored correctly later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:07:08 +00:00
Axel Dörfler
9c642b6454 Adjusted paths.
The stack of the main thread is now called "{team name}_main_stack" instead
of primary stack.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:35:14 +00:00
Stefano Ceccherini
f59a054710 Should always count to 10 before committing. Another comment
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 14:26:22 +00:00