Commit Graph

249 Commits

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