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
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
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
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
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
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
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
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
Axel Dörfler
cdacbf022a
elf_load_image() always returned B_OK instead of the real status.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 18:57:12 +00:00
Axel Dörfler
bf67cc9591
Now uses the correct heap to allocate the image path name (kernel_args).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:49:23 +00:00
Axel Dörfler
e883af3cda
Since we use the same includes as the real system, we now export _fstat()
...
with 3 arguments instead of fstat().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:48:33 +00:00
Axel Dörfler
007c81ec98
Added kernel_args_strdup() function as a strdup() replacement.
...
Added a ToDo comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 16:47:06 +00:00
Axel Dörfler
dc8585a402
Worked around a strange bug that happened without an additional printf in between...
...
Somehow that reminds of BASIC.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-06 00:39:01 +00:00
Axel Dörfler
511252a157
AddLink() added the link to the list of mounted volumes instead of the list
...
of links - that could have possibly hidden the boot volume under certain
circumstances. Thanks to Sean O'Brien for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-28 23:57:47 +00:00
Axel Dörfler
3a4a20a09e
Updated to match general boot loader changes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-22 01:13:20 +00:00
Axel Dörfler
3004a40b85
address_range is now called addr_range (again, to let the structure and the
...
typedef name match).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-22 01:06:01 +00:00
Axel Dörfler
bbf495f47d
map_page() will now be a bit more specific when it complains about an
...
invalid page.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 18:45:21 +00:00
Axel Dörfler
8d35b1a200
platform_start_kernel() now prints out the kernel entry point instead of
...
the address of the kernel_args structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 11:11:45 +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
4c03f90f63
Now correctly translates the partition block offset into a byte offset.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 11:09:33 +00:00
Axel Dörfler
fbe5e77d0b
Added a simple second heap that will survive the switch to the kernel.
...
elf_load_image() now uses this heap for the preloaded_image structures.
Moved gKernelArgs and gKernelEntry to different files.
Improved enabling debug output (it can now be activated by a makefile, too)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 02:32:36 +00:00
Axel Dörfler
d8023a2fc5
Fills in the required kernel args for the loaded kernel image.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 01:34:47 +00:00
Axel Dörfler
6ef64f7451
elf_load_image() now also saves the size of the dynamic section.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 01:33:44 +00:00
Axel Dörfler
822757438d
No longer uses the local ka at 0x100000 but the global gKernelArgs structure.
...
The virtual/physical allocated ranges are now correctly filled in mmu_init_for_kernel(),
and no longer too early.
Now allocates a kernel stack of 8192 bytes.
Added some temporary fillers for the kernel args.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-21 00:04:37 +00:00
Axel Dörfler
ffcff6e28c
Added platform_start_kernel() function.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:52:17 +00:00
Axel Dörfler
50f3983035
Added gKernelEntry variable; it's now set in load_kernel().
...
Removed start_kernel() function - it's now replaced by the platform_start_kernel()
call.
Fixed the kernel add-on boot module search path.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 23:45:32 +00:00
Axel Dörfler
730036e22e
Improved debug output.
...
start_kernel() now panics, so that we don't run through (since it doesn't
actually jump to the kernel yet).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 01:36:12 +00:00
Axel Dörfler
f7fced6cf5
Slightly improved debug output.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 01:34:21 +00:00
Axel Dörfler
276c009500
Moved the platform region and heap functions to mmu.cpp.
...
The heap will now no longer be mapped in kernel space, but will be placed
at a fixed address (0x110000 - former start of free physical memory).
platform_allocate_region() is now implemented and calls mmu_allocate().
mmu_allocate() now supports mapping to a predefined virtual address
to be able to load the kernel correctly (and only for that).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 01:31:20 +00:00
Axel Dörfler
0f87a64b54
Add support for the boot partition offset as provided by the BFS boot block.
...
Now, platform_get_boot_partition() will work correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 01:26:56 +00:00
Axel Dörfler
cdc8d6b6f5
The source files may now include the boot/partitions.h header.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 01:21:42 +00:00
Axel Dörfler
c8baeaf6cf
Added support for the boot partition offset as provided by the BFS boot block.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-20 01:20:43 +00:00
Axel Dörfler
9fd7586724
gBootDriveID is now uint8, no longer uint16.
...
Now prints out a comment if LBA access doesn't work (since CHS access is not yet implemented).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-19 23:33:23 +00:00
Axel Dörfler
f52302c408
Actually, one byte is enough for gBIOSDriveID - it only has to store %dl, not %dx.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-19 23:31:53 +00:00
Axel Dörfler
502a70f884
Implemented LBA drive access using the BIOS. The boot device is correctly
...
published, and can be accessed as needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-19 23:14:05 +00:00
Axel Dörfler
7ca2763dc3
Now uses the kExtraSegmentScratch constant rather than a direct address.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-19 22:43:04 +00:00
Axel Dörfler
cc551468f8
Added some constants that define scratch buffers in the data and extra
...
segment that can be used for BIOS calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-19 22:38:30 +00:00