#
c1068dff |
|
25-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add initial FatELF boot loader support.
|
#
416b2b7e |
|
25-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Minor arch_elf API improvements - Renamed arch_elf_score_abi_ident - Added arch_elf_arch_compat for verifying architecture compatibility between two modules.
|
#
cbbca595 |
|
25-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Clean up the multiple methods of describing an ELF binary arch.
|
#
325832f1 |
|
24-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Use CPUID to determine boot-time long-mode support When running under an ia32 boot loader, the compile time constants can not be used to determine x86-64 support. Once the kernel is loaded, we can assume that 64-bit binaries require a 64-bit kernel -- although that's not strictly necessary: Mac OS X supports a 64-bit compatible syscall interface and userspace execution mode from a 32-bit kernel. That was implemented in large part to support a 32-bit to 64-bit transition, during which time many 3rd-party kernel extensions had not been updated.
|
#
6dbfa46a |
|
24-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add _BOOT_MODE arch_elf_score_abi_ident() variant.
|
#
09dea9d9 |
|
24-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add additional missing ABI compatibility checks.
|
#
c3338d91 |
|
21-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Implement elf_find_best_fat_arch() Uses the scoring ABI to find the preferred ELF data.
|
#
ad5518e5 |
|
21-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Fix incorrect declaration
|
#
49586059 |
|
21-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add arch_elf_score_abi_ident() arch-specific API Provides scoring of binaries to select preferred binary type, optionally based on CPU feature detection.
|
#
6e06fa6f |
|
12-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added missing validity check on relocation address.
|
#
3b802628 |
|
09-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Support ELF64 in the kernel. This has been done by adding typedefs in elf_common.h to the correct ELF structures for the architecture, and changing all Elf32_* uses to those types. I don't know whether image loading works as I cannot test it yet, there may be some 64-bit safety issues around. However, symbol lookup for the kernel is working correctly.
|
#
90907c35 |
|
03-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Moved ELF64 relocation functions to x86 arch_elf.cpp.
|
#
f6a34444 |
|
24-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added x86_64 ELF64 relocation functions for the bootloader. All that's left to do now is handle the 64-bit load address properly.
|
#
f1244978 |
|
22-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added an ELF64 version of preloaded_image. * There is now 2 structures, preloaded_elf32_image and preloaded_elf64_image, which both inherit from preloaded_image. * For now I've just hardcoded in use of preloaded_elf32_image, but the bootloader ELF code will shortly be converted to use templates which use the appropriate structure. The kernel will be changed later when I add ELF64 support to it. * All kernel_args data is now compatible between 32-bit and 64-bit kernels.
|
#
bd185b41 |
|
01-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
*.c -> *.cpp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c1068dff09dd97ec1e9ee8521906b93eea2f743a |
|
25-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add initial FatELF boot loader support.
|
#
416b2b7e7ba36e17a0c2841b0de5a52f6c17cf36 |
|
25-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Minor arch_elf API improvements - Renamed arch_elf_score_abi_ident - Added arch_elf_arch_compat for verifying architecture compatibility between two modules.
|
#
cbbca595b2d6bc8aea824f072765880571637e51 |
|
25-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Clean up the multiple methods of describing an ELF binary arch.
|
#
325832f133506bf47d62f751a4c2f276f778e92d |
|
24-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Use CPUID to determine boot-time long-mode support When running under an ia32 boot loader, the compile time constants can not be used to determine x86-64 support. Once the kernel is loaded, we can assume that 64-bit binaries require a 64-bit kernel -- although that's not strictly necessary: Mac OS X supports a 64-bit compatible syscall interface and userspace execution mode from a 32-bit kernel. That was implemented in large part to support a 32-bit to 64-bit transition, during which time many 3rd-party kernel extensions had not been updated.
|
#
6dbfa46a7e7bbe2f78cd30c83637bcb920e299f6 |
|
24-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add _BOOT_MODE arch_elf_score_abi_ident() variant.
|
#
09dea9d9fcf459815e83df934049add92d758ffe |
|
24-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add additional missing ABI compatibility checks.
|
#
c3338d918c8e00f2871893930c9804ca174848c6 |
|
21-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Implement elf_find_best_fat_arch() Uses the scoring ABI to find the preferred ELF data.
|
#
ad5518e53d7f822ab1be98dd971c16d07ef617b7 |
|
21-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Fix incorrect declaration
|
#
4958605919cfce7be4df3d7f913bd0bcf754b8eb |
|
21-Nov-2012 |
Landon Fuller <landonf@plausible.coop> |
Add arch_elf_score_abi_ident() arch-specific API Provides scoring of binaries to select preferred binary type, optionally based on CPU feature detection.
|
#
6e06fa6f7ea099cec5247fa2e8409c9c8ab3c983 |
|
12-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added missing validity check on relocation address.
|
#
3b802628b8e2aa14eb4c674d0a8cf900f522baa1 |
|
09-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Support ELF64 in the kernel. This has been done by adding typedefs in elf_common.h to the correct ELF structures for the architecture, and changing all Elf32_* uses to those types. I don't know whether image loading works as I cannot test it yet, there may be some 64-bit safety issues around. However, symbol lookup for the kernel is working correctly.
|
#
90907c35ac51e760221470563fdcd90a9232cc51 |
|
03-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Moved ELF64 relocation functions to x86 arch_elf.cpp.
|
#
f6a3444449c452a63e0e0d91e8480f39bca81aed |
|
24-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added x86_64 ELF64 relocation functions for the bootloader. All that's left to do now is handle the 64-bit load address properly.
|
#
f1244978152350f9cc010e766d09c2e9ad34dfce |
|
22-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added an ELF64 version of preloaded_image. * There is now 2 structures, preloaded_elf32_image and preloaded_elf64_image, which both inherit from preloaded_image. * For now I've just hardcoded in use of preloaded_elf32_image, but the bootloader ELF code will shortly be converted to use templates which use the appropriate structure. The kernel will be changed later when I add ELF64 support to it. * All kernel_args data is now compatible between 32-bit and 64-bit kernels.
|
#
bd185b4117e06c1674c4d214abc3917acedc560d |
|
01-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
*.c -> *.cpp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|