Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler e2367e8fcb Added some PPC helper functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-08 01:24:01 +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 10fc9d123f Updated renamed kernel_args fields.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:50:15 +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 b8b44e7a12 Added the platform depending headers to the SetupKernel headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:18:37 +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 c8ec205b7b Include kernel_args.h instead of stage2.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:12:37 +00:00
Axel Dörfler b55d9c74f1 Renamed fields of the kernel_args structure.
Commented out the page_daemon to remove a warning.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 23:09:21 +00:00
Axel Dörfler 9e88f0cfd2 Now declares the gKernelArgs variable to pass to the kernel.
Calls heap_release() with stage2_args.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:49:49 +00:00
Axel Dörfler a4fab93eee heap_release() now gets the stage2_args as well, to pass them to
platform_release_heap().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:48:46 +00:00
Axel Dörfler d1ae059dec Now sets the heap_size field of stage2_args to a default value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:47:00 +00:00
Axel Dörfler 02ec644ad8 Removed declaration and initialization of gChosen; it's not done in openfirmware.c.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:45:38 +00:00
Axel Dörfler 67e8a1390b Added an "align" parameter to of_claim().
Added prototype for of_call_method().
gChosen is now declared and initialized in this file, therefore, of_init()
can now fail (in case gChosen cannot be set).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:44:34 +00:00
Axel Dörfler bc09bddb53 The heap size is now part of the stage2_args.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 22:41:44 +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 33dc59abd3 Don't include the isa bus_manager when compiling on PPC.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-07 21:51:48 +00:00
Axel Dörfler 8fd45ead7a Some additional debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-06 03:49:06 +00:00
Axel Dörfler c12bec104e Did not compile before.
Fixed some style issues.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-06 02:04:53 +00:00
Axel Dörfler f53ee751a9 Let the bootloader link against the Amiga FFS file system.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-02 01:18:22 +00:00
Axel Dörfler 8fb9411174 Added support for the Amiga FFS to the standard bootloader build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-02 01:17:37 +00:00
Axel Dörfler 291a681b35 Forgot to include <util/kernel_cpp.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-02 01:16:57 +00:00
Axel Dörfler 510f2a39da Fixed all warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 03:31:31 +00:00
Axel Dörfler 786eefee41 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 03:31:14 +00:00
Axel Dörfler 526ba06270 Fixed all warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 03:10:53 +00:00
Axel Dörfler 8c8573864d I actually lied and forgot one: this one only showed up if DEBUG was defined.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 02:41:01 +00:00
Axel Dörfler 1e038a1ca5 Added a ToDo comment so that I won't forget to check if there is only one
bootable device if the platform didn't provide a boot device.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 02:29:34 +00:00
Axel Dörfler 6c1c51bf87 Fixed all warnings and one small bug in kernel.c::new_vnode() - it didn't
unlock the vnode if the same cookie already existed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 02:22:14 +00:00
Axel Dörfler b50ffaa707 Added the new tracker.cpp file to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 02:07:22 +00:00
Axel Dörfler df710eb34c Now redefines the realloc() function as well (so that the correct one will be used).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 02:04:23 +00:00
Axel Dörfler e2ab678b8f It's tree.data, not test.data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 02:01:07 +00:00
Axel Dörfler 61f733f0e0 Added a .cvsignore to ignore the tree.data file created when running the
test.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 02:00:11 +00:00
Axel Dörfler 75b0e6cd2d Moved the "btree" test from befs/ to bfs/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:57:34 +00:00
Axel Dörfler 394d5e16a8 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:55:49 +00:00
Axel Dörfler 3c0a986734 Fixed the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:52:03 +00:00
Axel Dörfler 8b40798fe4 Moved the "btree" test from befs/ to bfs/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:51:01 +00:00
Axel Dörfler b72c7a22b0 Added new tracker.cpp file to the build.
Added a hint to show how to build it as big-endian BFS shell.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:46:23 +00:00
Axel Dörfler 9f0c0b4210 Moved tracker mode from fsh.c to new tracker.cpp, made the tracker stuff
a bit more mature, but still needs much work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:43:45 +00:00
Axel Dörfler 58020b9aa9 Added dummy for platform_user_menu_requested() (always returns "false" for now).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:42:31 +00:00
Axel Dörfler fad54c1f85 Made the header C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:41:34 +00:00
Axel Dörfler db82ec452b Corrected a comment to match the implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:39:03 +00:00
Axel Dörfler 20b82fcf5b Minor change: corrected the debug output in wait_for_thread().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:38:00 +00:00
Axel Dörfler 2f72291d1b Updated to support the new platform API and bootloader features.
Note: it will try to load the "kernel_intel" file for now (it'll
be kernel_x86 or kernel_ppc in the real thing).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:32:51 +00:00
Axel Dörfler 85ee5b9e24 Added a hint on how to build bfs as big endian file system for testing purposes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:30:58 +00:00
Axel Dörfler 44df371a46 Updated to match the new boot loader platform API (boot() was renamed to main()).
platform_user_menu_requested() always returns "false" for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:29:42 +00:00
Axel Dörfler d76300d0d8 Now has (initial) support to select a boot device if the OpenFirmware
provided one - will always select the first partition on that device,
though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:28:34 +00:00
Axel Dörfler 621540d112 Updated the dummy implementation to match the changed platform API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:26:54 +00:00
Axel Dörfler d178a0d7e4 Implemented new Directory::IsEmpty() method.
Amiga-FFS Directory::Lookup() now only creates a HashIterator if needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:25:06 +00:00
Axel Dörfler 3c3cc60956 Now has support to load the kernel from the boot device, and to open the
user menu if requested (even if there is none yet). It will also mount
all file systems before the user menu is shown in order to get the right
boot volume - it should probably only call user_menu() if there is more
than one possible boot device.
Removed unused parts that won't be needed anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:23:25 +00:00
Axel Dörfler 6072286af6 Dunno why, but CVS didn't pick that up (see CVS comment in loader.h).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:20:21 +00:00
Axel Dörfler c948f27797 New BOOT_ARCH definition - this is used to create the kernel name (for
looking it up on the disks); it's set to OBOS_ARCH.
Added the new files menu.cpp and loader.cpp to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:19:16 +00:00
Axel Dörfler 7c198b5d2b Made gDescriptors static, and renamed it to sDescriptors (it's private).
vfs_init() now correctly initializes the gPartitions list, and also creates
the root file system (mount_boot_file_systems() did this before). It now
no longer scans the platform for boot devices.
New function get_boot_file_system() which returns the boot file system as
chosen by the platform code.
mount_file_systems() (former mount_boot_file_systems()) now supports the
boot device; it will not scan all partitions again, but only those different
from the boot file system (if any).
get_node_for_path() did not Acquire() the start directory, but released it
(and its callers didn't acquire it, too).
Removed the commented mount() function, since it won't be needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:17:15 +00:00
Axel Dörfler 221807be72 Added a new variant of add_partitions_for() which takes a device instead
of a file descriptor as first argument.
add_partitions_for() is now able to only mount file systems if requested;
partitions with unknown contents will not be removed from the list if it
doesn't try to mount them.
Moved the file system mounting code to the new Partition::Mount() method.
Partition::Scan() now only mounts file systems if requested.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:10:56 +00:00
Axel Dörfler 8df661e6f8 Some new "barebones" for enhanced boot loader functions for the user menu
and the kernel/module loading.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:06:52 +00:00
Axel Dörfler 1f0aeec0f0 Implemented the new IsEmpty() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:05:27 +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
Axel Dörfler 1470102500 change variable name to better fit its purpose.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 15:53:54 +00:00
Axel Dörfler 051f882824 Rewrote the resource.h header and added comments about missing functions
and functionality.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 15:51:03 +00:00
Axel Dörfler c5ccd40caa It's now silent or more verbose depending on how TRACE_BFS is defined.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 01:06:43 +00:00
Axel Dörfler 070bba8608 The partition-is-big-enough-for-child test did not work correctly; the
partition offset doesn't belong there (caused it to hide nested partitions)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-17 01:02:26 +00:00
Axel Dörfler cb94280c6b The file system is now almost endian-aware.
Used lazy unreadable conversion: ==, !=, == 0, != 0 are endian-safe
and don't need byte swapping.
If the platform endian differs from the one selected at compile time,
it will mount all volumes read-only for now.
Uncomment BFS_BIG_ENDIAN_ONLY in the Jamfile to build the big endian
version under x86.
No matter on what platform, the compilation defaults to build BFS as
little endian file system (see bfs_endian.h for details).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 21:49:22 +00:00
Axel Dörfler fd5b021f86 Fixed endian issues - it now does work with big endian BFS disks as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 14:36:40 +00:00
Axel Dörfler d81d3bfa4c Added B_SSIZE_T_TYPE, B_SIZE_T_TYPE, B_OFF_T_TYPE to compareKeys().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 13:20:43 +00:00
Axel Dörfler f96b2bc0de Only send notifications if writing was successful.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 13:19:21 +00:00
Axel Dörfler 434eb84378 Implemented the missing Directory::Lookup() method, since it's now needed
during path parsing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 02:34:55 +00:00
Axel Dörfler 09fb7d4bbc Implemented hash functions for DirectoryBlock.
Added HashIterator::InitCheck() method (as the allocation of the buffer
might fail).
Added a HashIterator::Goto() method to jump to the specified index in
the hash (handy for hash lookup).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 02:33:48 +00:00
Axel Dörfler 479e4ab5cf The Volume now stores the type of the file system (as Type()).
Improved constructor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 02:31:06 +00:00
Axel Dörfler 101bb5d182 Implemented path parsing, open(), and the new open_from().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 02:29:33 +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 36c5179a74 Implemented file reading (only slightly tested, but it should be enough
for our purposes [just copied some files in 1024 byte blocks to the Desktop]).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 00:58:04 +00:00
Axel Dörfler 0f8efd8af0 Removed the ExtensionBlock class - it's now completely managed by the
FileBlock class itself.
Added some data related getter methods.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 00:56:01 +00:00
Axel Dörfler ee9b3cfd75 Now links against the boottest file system modules, it doesn't build them
directly anymore (due to name clashes).
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 22:31:06 +00:00
Axel Dörfler 7be68ba5e7 Does now return the correct size if the handle belongs to a real file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 22:29:05 +00:00
Axel Dörfler 2430b4ed28 Added Jamfiles to build the userland boot file system modules to a
different directory than the main boot loader test application.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 22:20:12 +00:00
Axel Dörfler 50d9710f0d Implemented an Amiga FFS reader for the boot loader. Can only traverse
directories right now, reading from files is not yet implemented.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 22:10:10 +00:00
Axel Dörfler 86f2640947 get_descriptor() can now also safely be called with a descriptor less
than zero.
Supports now up to 64 file descriptors (just in case).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 21:58:03 +00:00
Axel Dörfler 3ad474d024 The main partition can now contain file systems as well (it's no longer
created on the stack, and added to the gPartitions list in that case).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 21:55:45 +00:00
Axel Dörfler f096bc378d Now sets the block size using the disk_environment information, and doesn't
just copy the partition block size anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-14 16:51:15 +00:00
Axel Dörfler 32270ffe96 Added some missing consts.
Added BlockSize() method for the disk_environment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-14 16:50:21 +00:00
Axel Dörfler 25a5c7d03d Moved the class definition back to <boot/partitions.h>, since it's now public
again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-14 16:41:19 +00:00
Axel Dörfler 5d2ca15280 Class Partition is now part of <boot/partitions.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-14 16:40:35 +00:00
Axel Dörfler 1cd06a2273 Partition class is now part of <boot/partitions.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-14 16:39:57 +00:00
Axel Dörfler 1b9d001b66 Changed the get_file_system() call to accept a Partition instead of a Node.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-14 16:39:03 +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 6151971100 Implemented scanning the whole device tree for bootable devices (that are
understood by the OpenFirmware).
That makes it work on both, the Pegasos and the PowerMac G4 (any Mac with
OpenFirmware v3 should do, though).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-13 15:48:46 +00:00
Axel Dörfler 0ec3701b5f Removed check-memory-usage flags as that wouldn't work on R5 (it was distributed
without memory checking - you would have to download an extra library to get it).
Added the strlcpy() command, since it's not part of the R5 libroot.so.
Should now build on R5 as well (not tested).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-13 01:13:27 +00:00
Axel Dörfler 2e44755b40 Changed the order of boot_loader.a and boot_partitions.a - somehow ld can't
link the files anymore otherwise (it works on PPC, though).
Added the missing strlcpy.o to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-13 01:01:17 +00:00
Axel Dörfler 2f85616f33 Removed strerror(); it's not available in the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-13 00:59:34 +00:00
Axel Dörfler 687cfec3a8 Forgot to include util/kernel_cpp.h in order to not use exceptions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-13 00:39:14 +00:00
Axel Dörfler 52d257607f Added a very simple realloc() implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-13 00:38:45 +00:00
Axel Dörfler a7091d52fa Implemented PPC optimized byte order functions, and added them to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-13 00:02:54 +00:00
Axel Dörfler 75352278ce Fixed the build when DEBUG was defined: thread_wait_on_thread() is now
called wait_for_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 20:49:01 +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