Commit Graph

1490 Commits

Author SHA1 Message Date
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
3ae898da8b Fixed the PPC boot loader build and added empty stub routines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 12:22:10 +00:00
Axel Dörfler
4adfc8f463 kernel.so and kernel targets now contain the same and correct objects.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 11:08:34 +00:00
Axel Dörfler
c8079ef9c9 Now switched to the boot logo and back when necessary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 01:03:36 +00:00
Axel Dörfler
eefe4b1d21 Work in progress:
- began to integrate the SMP/CPU stuff from the old boot loader; currently
  disabled, though
- began VESA/VGA support
- added temporary boot splash screen; it's a bit of a hack and only seem
  to work in Bochs 2.0.2 for now... (but hey, it looks good ;-))


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 01:02:40 +00:00
Axel Dörfler
754fdef3d7 panic() now calls hlt instead of spinning forever.
Added a ToDo comment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:59:02 +00:00
Axel Dörfler
842a265376 mmu_map_physical_memory() now accepts physical memory addresses that are not aligned to a page.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:56:45 +00:00
Axel Dörfler
1273cbedfc Added new function to map physical memory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:53:00 +00:00
Axel Dörfler
faad86a4aa Some more debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 00:49:34 +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
0e3f14ee1d Now return useful inode numbers. The BFS inode numbers match the ones from
the real kernel file system (as there is no amiga_ffs add-on yet).
The file systems now also return the module name of their kernel counterparts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:05:34 +00:00
Axel Dörfler
50ef9ecfb6 Now stores the module name of the modules handling the partition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:04:05 +00:00
Axel Dörfler
082a2195f0 fstat() now fills in the inode number as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:01:45 +00:00
Axel Dörfler
a1b4720e1a load_modules() will now also load all modules that are needed to identify
the partitioning and file system of the boot volume.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 17:00:52 +00:00
Axel Dörfler
d88c45c6f2 Now maintains the inode field in the preloaded_image structure.
It will now load all modules only once by identifying them using their inode number.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:59:59 +00:00
Axel Dörfler
4807cd86ea Now stores a link to the partition of a volume, and adds a new method
GetPartitionFor() to retrieve that information again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:58:50 +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
201b3e6fd1 Now maintains the kernel_args size and version fields.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:55:45 +00:00
Axel Dörfler
0e67fb5a42 Now maintains the kernel_args size and version fields.
Removed unused code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:55:27 +00:00
Axel Dörfler
995a393e12 Unfortunately, -fno-pic must be set manually, even for kernel rules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:49:36 +00:00
Axel Dörfler
262923839e Made strrchr() available in the boot loader.
Relocated fortunes to the standard /etc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:03:35 +00:00
Axel Dörfler
67d9fe3273 Fixes fortune; it no longer crashes when there are no fortunes in the file.
Relocated the fortunes file to better match the usual Be locations.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:02:45 +00:00
Axel Dörfler
6f4ae5140d Renamed VFS syscalls to the new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:00:53 +00:00
Axel Dörfler
fc44d00f56 Added 8-bit palette mode.
It now sets the background color correctly in all modes (in hi/true color
currently only if its a gray/black/white color).
Renamed VFS syscalls to the new style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:51:41 +00:00
Axel Dörfler
b640ca789b Renamed VFS syscalls to the new style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:49:34 +00:00
Axel Dörfler
b1753651c6 Renamed VFS syscalls to the new style.
Improved returned types.
Removed dup2.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:42:17 +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
Axel Dörfler
143691ef36 New dup.c - it now contains dup() and dup2() which makes dup2.c legacy.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 15:20:38 +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
beveloper
20c1edc7d0 fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 21:53:07 +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
1314df1a0f Added disk device manager to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 21:31:55 +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
80c27b7a53 Switched to opendir() and friends instead of directly calling VFS functions.
Now correctly ignores "." and ".." in a directory.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 00:56:26 +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
9b1718cc6c Fixed number()/snprintf(): the buffer length was completely ignored when
printing numbers.
Removed unused code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-10 05:27:48 +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
1d67f5a556 Fixed executable paths.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:02:44 +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
Axel Dörfler
0b57ed842f Adjusted paths to new locations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:15:16 +00:00
Axel Dörfler
5fce212779 Adjusted the default library path to the standard Be location - added
a note that we should evaluate the LIBRARY_PATH env variable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:08:08 +00:00
Axel Dörfler
d26f311066 Moved the executable files to locations that better match the Be directory
hierarchy.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:01:02 +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
Stefano Ceccherini
741f96a162 Added a comment
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 14:03:38 +00:00
Axel Dörfler
e2df52b7da The symlink traversion didn't balance the ref_count of the starting vnode
correctly when it entered the next recursion of vnode_path_to_vnode().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 11:34:49 +00:00
Axel Dörfler
c26e46469e Fixed warning I just introduced.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 10:17:32 +00:00
Axel Dörfler
618253640c Userland segments are now called _seg0rw/_seg0ro.
Replaced "addr" with "addr_t".
Made segment naming safe (could the buffer could overflow).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 10:01:24 +00:00
Axel Dörfler
3c20ebe8d7 Unified kernel loader area names (they now use "_text", and "_data" suffixes
only).
Userland segments are now called _seg0rw/_seg0ro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:56:51 +00:00
Axel Dörfler
dc991aec9e Removed REGION_WIRING_* and REGION_ADDR_* and replaced them by their
BeOS counterparts.
Improved output of dump_region_list().
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:45:50 +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
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
1adfa388af Hardcoded vfs_mount_boot_file_system() to try to mount the first raw SCSI
device with BFS - if it succeeds, it will print out the contents of the
volume's root directory.
fs_mount() now makes the mount structure available when mount() from the
FS is called - so that new_vnode() and get_vnode() can work.
fs_mount() did not correctly clean up when something went wrong; it also
didn't notice if the mount's recursive lock couldn't be created.
Some minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:43:46 +00:00
Axel Dörfler
e08f7c4e6f Added stupid version of parse_expression() for the kernel debugger.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:24:35 +00:00
Axel Dörfler
f1613a0b1f Replaced libvm.a with kernel_vm.o.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:05:46 +00:00
Axel Dörfler
bd383ca361 Added simple and dumb BeOS compatible cache implementation - at this point
it's (almost) read only.
Added it to the build - libvm.a is now build as merged object file, since
the cache functions didn't get exported else.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:02:43 +00:00
Axel Dörfler
69debf9e84 get_module() didn't correctly maintain the module ref_count (in case
something went wrong) - this would have hidden circular dependencies
as well.
Recursive directory scan was broken, it didn't filter "." and ".." out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:58:23 +00:00
Axel Dörfler
39f34cf425 Fixed the broken ioctl() function. Unlike BeOS, it also passes the
eventually specified length parameter.
The IOCPARM_LEN() macro should be used by the device/file system
implementation only if applicable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:53:35 +00:00
Axel Dörfler
baae156b90 Added built-in file system modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:33:18 +00:00
Axel Dörfler
6fdd106e9a File systems are modules now, so the module initialization must come before
bootstrapping the initial file systems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:32:16 +00:00
Axel Dörfler
730f5a50cc No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:29:43 +00:00
Axel Dörfler
f8edd5ecee File systems are modules now; removed all those no longer file system add-on
things.
Added unremove_vnode().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:25:55 +00:00
Axel Dörfler
bc1f913e8b File systems are modules now.
Renamed gDeviceFileSystem to sDeviceFileSystem.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:22:32 +00:00
Axel Dörfler
093015033f File systems are modules now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:20:59 +00:00
Axel Dörfler
287704526b Don't panic for now if the PnP-root node cannot be registered; it doesn't
harm in case bootfs is used for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 15:17:02 +00:00
Axel Dörfler
a0c7420724 Changes due to renaming the public fs functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:30:56 +00:00
Axel Dörfler
a540a3f904 Renamed the public fs functions (removed the vfs_ prefix), and separated
them from other functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:25:22 +00:00
Axel Dörfler
47197929ca Temporarily disabled bus manager iteration - this might be done differently
anyway when it's all done.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:45:16 +00:00
Axel Dörfler
12373950ab Added header guards, cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:40:08 +00:00
Axel Dörfler
a6426a42d7 Better debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:35:53 +00:00
Axel Dörfler
8a0d571192 That word might even exist, who knows?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:33:39 +00:00
Axel Dörfler
c8d5cf78c9 Improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:28:51 +00:00
Axel Dörfler
d9918aa7e8 Added temporary hack to load the ISA bus manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:25:45 +00:00
Axel Dörfler
97dfc072d7 Added devfs module to the built-in modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:21:08 +00:00
Axel Dörfler
c920230fed Added device manager support - work in progress.
Updated debugging macros.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:18:56 +00:00
Axel Dörfler
2fa2a91f08 Fixed build conflict with new ISA bus manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:13:49 +00:00
Axel Dörfler
7c3d0ba1f5 get_memory_map() didn't take page offsets into account (i.e. didn't work correctly).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 16:39:03 +00:00
Axel Dörfler
2195a2522a Implemented get_memory_map().
lock_memory() and unlock_memory() will now silently fail and return success -
that's only to get things working.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 01:14:18 +00:00
Axel Dörfler
755b059fc1 Doh, Elf32_Word is unsigned, so st_size cannot go below zero.
Also made elf_lookup_symbol_address() less restrictive with respect to the
ELF symbol found (it now accepts all types, not only functions).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-01 00:35:55 +00:00
Axel Dörfler
6444e8f7bf Copied boot loader code to load symbol table into kernel as well - not yet
tested, though.
No longer copies the elf_header in insert_preloaded_image(); it's not used
at runtime (should be superfluous to keep in other kernel images, too).
dump_symbols() now ignores entries with invalid values - don't know exactly
what makes a good entry, but that should look okay.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-01 00:27:15 +00:00
Axel Dörfler
8b33111039 Updated ELF loader to use preloaded_image struct for the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:52:01 +00:00
Axel Dörfler
b1b1136ca3 No longer uses gKernelEntry.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:15:37 +00:00
Axel Dörfler
2f42f1cf3a gKernelEntry is no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:12:15 +00:00
Axel Dörfler
cbb2b6c19f The kernel image data is now maintained in a preloaded_image as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:54:43 +00:00
Axel Dörfler
bc6ab31951 (Almost) removed special handling of the kernel image, as it's now
maintained in a preloaded_image as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:51:01 +00:00
Axel Dörfler
38e937ca8e Removed superfluous htons()/htonl() functions (we already have the
standard byte order functions in the kernel).
Small cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:49:06 +00:00
Axel Dörfler
5cc177f4d6 Replaced all "addr" with "addr_t".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:58:18 +00:00
Axel Dörfler
52823d0c3d Added debugger command for dumping all symbols of the specified kernel image.
Fixed warnings when compiled with TRACE_ELF.
Changed elf_lookup_symbol_address() to returning more useful information.
It now also scans the extended debug symbol table if present - for now, this
only works with preloaded images except the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:47:34 +00:00
Axel Dörfler
73e40f2d6e Small hack to get create_area() to create valid r/w areas in the kernel
(in BeOS, all kernel areas are r/w).
If you use B_READ_AREA/B_WRITE_AREA flags, you make the area readable
or even writeable from userland!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:43:57 +00:00
Axel Dörfler
9d9a07acd8 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:41:39 +00:00
Axel Dörfler
4a88dcb2cd Changed the "sc" output to be more useful.
Now uses the extended possibilities of the elf_lookup_symbol_address() call.
Fixed a bug in dbg_stack_trace(); it could crash at the top most stack frame.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:40:43 +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
Stefano Ceccherini
0bedbce52c Fixes the build when TRACE_SCHEDULER is defined
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-27 14:46:10 +00:00
Axel Dörfler
6d7ccae449 Separated exported from private functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-26 15:11:39 +00:00
Axel Dörfler
5aacd7f134 Fixed the PPC kernel build; now in sync again with the changes made
to arch/thread.h and arch/smp.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-25 16:33:47 +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
Stefano Ceccherini
9b167d37f1 Added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 09:06:20 +00:00
Stefano Ceccherini
389b7216d6 Fixed "team" debugger command (should be the last one)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-21 10:17:08 +00:00
Axel Dörfler
ce986d0759 Renamed the build target of the kernel's test "ls" app (to separate it from
coreutil's ls).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-19 15:21:29 +00:00
Axel Dörfler
88cfa4fb99 Applied Jack Burton's patch to fix the boot problems on many systems:
find_real_mem_size must not be called with interrupts turned off.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 10:27:28 +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
f9ba8a1b61 Last patch was broken, thanks to Jack Burton for notifying me.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-17 10:01:17 +00:00
Axel Dörfler
70cdc7af60 If you call get_fd_and_vnode() you need to free it with put_fd(), not
put_vnode() - thanks to Ingo for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-16 11:55:42 +00:00
Axel Dörfler
20b8926754 The -imacro header inclusion is no longer necessary, and also seems to have
been removed in more current GCC releases; thanks to Jack Burton for pointing
this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-14 15:28:49 +00:00
Axel Dörfler
0b8a2c94ce Introduced sUsedPorts/sUsedSems variables that can make it more efficient
to deny further port/sem allocation (and also simplifies port/sem stats).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-13 19:35:49 +00:00
Axel Dörfler
78ab9987c3 Modules out of preloaded images will now be registered and can be used
like any other module (yeeha!).
You can even unload preloaded images later on (to replace them with a
more up-to-date on disk version).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:44:58 +00:00
Axel Dörfler
8590e919fc Now maintains the new preloaded_image::id field.
If an image cannot be created out of a preloaded_image, its resources
are freed now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:43:30 +00:00
Axel Dörfler
d00edc2f92 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()).
Now requires a driver to export the api_version symbol.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:53:37 +00:00
Axel Dörfler
b918b5035f 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()).
Fixed missign file system unload.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:52:38 +00:00
Axel Dörfler
81c323a767 unregister_elf_image() didn't call unregister_image(), so images never got
unregistered.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:30:18 +00:00
Axel Dörfler
d14f9aac93 Cleanup to better match our coding style guide; renamed variables, etc..
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:29:19 +00:00
Axel Dörfler
7e323e80d6 Kernel images are now registered, so the ToDo item is fulfilled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:27:59 +00:00
Axel Dörfler
a364fba7d4 Is now using a hash for the images instead of a singly linked list.
Now registers its images as it should do (so you can use commands like
listimage in userland).
Added new debugger command "image".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:18:02 +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
fd1f6b7f01 Fixed a bug in elf_load_kspace(): the image structure and the pheaders were
freed in the wrong order in case of an error (could have crashed the kernel).
Implemented insert_preloaded_images() which prepares the preloaded images
for later use in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 14:22:00 +00:00
Axel Dörfler
dc4eb9db8d Removed unneeded code, updated comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 14:20:14 +00:00
Axel Dörfler
797647691a elf_region already had a field to store an area_id; we now use this one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 13:54:13 +00:00
Axel Dörfler
ff76eb5cde Boot loader BFS now has symbolic link support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 12:16:26 +00:00
Axel Dörfler
73b10c8f1e Adapted the fstat/_fstat work-around to like the user boot loader build as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 01:07:54 +00:00
Axel Dörfler
259fd3cdfb open_from() now also supports absolute paths, in which case it will ignore
the passed in directory.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 00:26:22 +00:00
Axel Dörfler
429fb127d3 Fixes the build until we have this _fstat()/fstat() thing worked out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 23:04:52 +00:00
Axel Dörfler
1f4fa35b00 Now creates text/data areas for all preloaded images.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 19:02:41 +00:00
Axel Dörfler
d15df01c72 load_modules() now actually load modules; it doesn't just print out their name any longer.
Now scans "/boot/home/config/add-ons/kernel/boot" as well as "/boot/beos/system/add-ons/kernel/boot".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 19:00:05 +00:00
Axel Dörfler
38f5c6bbc4 Corrected elf_load_image() prototype; it requires an object of the Directory
class as first argument.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 18:57:58 +00:00