Commit Graph

725 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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