b1c4ba4ab6
Due to the ABI we are using we have to use the earm architecture moniker for the build system to behave correctly. This involves then some headers to move around. There is also a few related Makefile updates as well as minor source code corrections.
50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
OUTPUT_ARCH("arm")
|
|
ENTRY(__k_unpaged_MINIX)
|
|
|
|
_kern_phys_base = 0x80200000; /* phys 4MB aligned for convenient remapping */
|
|
_kern_vir_base = 0xF0400000; /* map kernel high for max. user vir space */
|
|
_kern_offset = (_kern_vir_base - _kern_phys_base);
|
|
|
|
__k_unpaged__kern_offset = _kern_offset;
|
|
__k_unpaged__kern_vir_base = _kern_vir_base;
|
|
__k_unpaged__kern_phys_base = _kern_phys_base;
|
|
|
|
SECTIONS
|
|
{
|
|
. = _kern_phys_base;
|
|
__k_unpaged__kern_unpaged_start = .;
|
|
|
|
.unpaged_text ALIGN(4096) : { unpaged_*.o(.text) }
|
|
.unpaged_data ALIGN(4096) : { unpaged_*.o(.data .rodata*) }
|
|
__k_unpaged__kern_unpaged__edata = .;
|
|
__k_unpaged__edata = .;
|
|
.unpaged_bss ALIGN(4096) : { unpaged_*.o(.bss COMMON) }
|
|
__k_unpaged__kern_unpaged_end = .;
|
|
__k_unpaged__end = .;
|
|
|
|
. += _kern_offset;
|
|
|
|
. = ALIGN(4096); usermapped_start = .;
|
|
.usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { usermapped_glo*.o }
|
|
. = ALIGN(4096); usermapped_nonglo_start = .;
|
|
.usermapped : AT(ADDR(.usermapped) - _kern_offset) { usermapped_*.o }
|
|
. = ALIGN(4096); usermapped_end = .;
|
|
.text : AT(ADDR(.text) - _kern_offset) { *(.text*) }
|
|
_etext = .;
|
|
.data ALIGN(4096) : AT(ADDR(.data) - _kern_offset) { *(.data .rodata* ) }
|
|
. = ALIGN(4096);
|
|
_edata = .;
|
|
.bss ALIGN(4096) : AT(ADDR(.bss) - _kern_offset) { *(.bss* COMMON)
|
|
__k_unpaged__kern_size = . - _kern_vir_base;
|
|
_kern_size = __k_unpaged__kern_size;
|
|
. += 4096;
|
|
}
|
|
_end = .;
|
|
|
|
/DISCARD/ :
|
|
{
|
|
*(.ARM.exidx*)
|
|
}
|
|
|
|
}
|