#
b6f76ebe |
|
09-Feb-2017 |
Augustin Cavalier <waddlesplash@gmail.com> |
s/OpenBeOS License/MIT License/ universally, as they're the same thing. Fixes #8681.
|
#
957a1b17 |
|
30-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new build system variables {HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the compiler/linker flags specifying the kind of position independence the kernel shall have. For x86 we had and still have -fno-pic, but the PPC kernel has -fPIE (position independent executable) now, as we need to relocate it. * The boot loader relocates the kernel now. Mostly copied the relocation code from the kernel ELF loader. Almost completely rewrote the PPC specific relocation code, though. It's more correct and more complete now (some things are still missing though). * Added boot platform awareness to the kernel. Moved the generic Open Firmware code (openfirmware.c/h) from the boot loader to the kernel. * The kernel PPC serial debug output is sent to the console for the time being. * The PPC boot loader counts the CPUs now and allocates the kernel stacks (made OF device iteration a bit more flexible on the way -- the search can be restricted to subtree). Furthermore we really enter the kernel... (Yay! :-) ... and crash in the first dprintf() (in the atomic_set() called by acquire_spinlock()). kprintf() works, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15756 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c83d9dad |
|
28-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* platform_allocate_region() has a new boolean parameter "exactAddress" specifying whether only the exact supplied address is acceptable. If false, the address is considered a hint only. It will be picked, if available, otherwise a greater address is tried to be acquired, and as last resort any address. This feature is only implemented for PPC. It is needed since the preferred kernel text base address 0x80000000 might not be available (and actually isn't on my Mac mini). * Fixed a bug in the PPC memory management code: is_{virtual,physical}_allocated() were checking whether the given range was completely contained by an existing range instead of checking for intersection. As a consequence we could (and did) allocate a range intersecting with already allocated ranges. The kernel segment thus overwrote OF memory for instance. * The ELF loader makes sure that it got both text and data segment of the image to be loaded. The PPC boot loader successfully loads kernel and modules now. Next comes the hard part, I'm afraid. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5fabd56 |
|
28-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
b73b3e5a |
|
16-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
1d8adcd3 |
|
11-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
bf25fe99 |
|
07-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
957a1b17eb9d13d6dbf164145e82997e16742549 |
|
30-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new build system variables {HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the compiler/linker flags specifying the kind of position independence the kernel shall have. For x86 we had and still have -fno-pic, but the PPC kernel has -fPIE (position independent executable) now, as we need to relocate it. * The boot loader relocates the kernel now. Mostly copied the relocation code from the kernel ELF loader. Almost completely rewrote the PPC specific relocation code, though. It's more correct and more complete now (some things are still missing though). * Added boot platform awareness to the kernel. Moved the generic Open Firmware code (openfirmware.c/h) from the boot loader to the kernel. * The kernel PPC serial debug output is sent to the console for the time being. * The PPC boot loader counts the CPUs now and allocates the kernel stacks (made OF device iteration a bit more flexible on the way -- the search can be restricted to subtree). Furthermore we really enter the kernel... (Yay! :-) ... and crash in the first dprintf() (in the atomic_set() called by acquire_spinlock()). kprintf() works, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15756 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c83d9dad1c3cb1b0910f5db8c3f4645d3a206171 |
|
28-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* platform_allocate_region() has a new boolean parameter "exactAddress" specifying whether only the exact supplied address is acceptable. If false, the address is considered a hint only. It will be picked, if available, otherwise a greater address is tried to be acquired, and as last resort any address. This feature is only implemented for PPC. It is needed since the preferred kernel text base address 0x80000000 might not be available (and actually isn't on my Mac mini). * Fixed a bug in the PPC memory management code: is_{virtual,physical}_allocated() were checking whether the given range was completely contained by an existing range instead of checking for intersection. As a consequence we could (and did) allocate a range intersecting with already allocated ranges. The kernel segment thus overwrote OF memory for instance. * The ELF loader makes sure that it got both text and data segment of the image to be loaded. The PPC boot loader successfully loads kernel and modules now. Next comes the hard part, I'm afraid. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5fabd56bf24a34f33d692069ebdf1073f3c8e60 |
|
28-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
b73b3e5a2d7168411b3db36c9a08570feefc83a4 |
|
16-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
1d8adcd3f6d22021c8134909df9cfdc8eb358f29 |
|
11-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
bf25fe99f6f1ea13738b067a772de3d375b98d65 |
|
07-Oct-2003 |
Axel Dörfler <axeld@pinc-software.de> |
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
|