Commit Graph

214 Commits

Author SHA1 Message Date
Axel Dörfler
f2ea9af307 The boot loader now can tell the x86 serial driver the serial port base
addresses as reported by the BIOS.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 01:02:05 +00:00
Axel Dörfler
e76877adae Added a function to find a menu item by label.
Added super item/menu getters, and a new fSuperItem field.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-27 00:56:46 +00:00
Axel Dörfler
107f1a6a3f Added an addr_range array for kernel_args.
Removed the "str" field I have no idea what it could have been useful for.
Changed the frame buffer part of the kernel args - "already_mapped" is
no longer there, as it doesn't make a lot of sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-19 17:02:11 +00:00
Axel Dörfler
53ac60d4ea Added the prototype for insert_address_range() that can be used for the
various addr_range arrays in the kernel_args structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-19 16:57:19 +00:00
Axel Dörfler
364b28a12a Added a call that should exit the boot loader in some way; usually that
would be by rebooting the computer.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:18:33 +00:00
Axel Dörfler
a1b7427b0a A menu item can now be enabled and disabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-25 15:17:38 +00:00
Axel Dörfler
649f65cc3a Added help text functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 02:52:38 +00:00
Axel Dörfler
3b5e4b4978 New method Target() that returns the previously chosen target.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 01:16:43 +00:00
Axel Dörfler
355bc28f32 Added another menu item type (that cannot be chosen in CHOICE_MENUs).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:28:28 +00:00
Axel Dörfler
1511772218 Added platform_init_video() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-22 00:27:04 +00:00
Axel Dörfler
82fc8f393c You can now attach an arbitrary data pointer to a menu item.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 21:50:31 +00:00
Axel Dörfler
99192aa450 Work in progress of the boot loader menu.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-21 15:51:59 +00:00
Axel Dörfler
f10007bef5 Removed platform_user_menu_requested() call.
Replaced its functionality by a new platform_boot_options() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:25:32 +00:00
Axel Dörfler
6234c00a97 Added two more platform functions to switch between a logo screen and text mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 13:25:37 +00:00
Axel Dörfler
2158ae19ee The kernel_args structure version and size can now be checked and identified
in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-15 16:54:04 +00:00
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