xref: /minix/minix/kernel/arch/earm/kernel.lds (revision 7f5f010b)
1OUTPUT_ARCH("arm")
2ENTRY(__k_unpaged_MINIX)
3
4_kern_phys_base = 0x80200000;	/* phys 4MB aligned for convenient remapping */
5_kern_vir_base =  0xF0400000;	/* map kernel high for max. user vir space */
6_kern_offset = (_kern_vir_base - _kern_phys_base);
7
8__k_unpaged__kern_offset = _kern_offset;
9__k_unpaged__kern_vir_base = _kern_vir_base;
10__k_unpaged__kern_phys_base = _kern_phys_base;
11
12SECTIONS
13{
14	. = _kern_phys_base;
15	__k_unpaged__kern_unpaged_start = .;
16
17	.unpaged_text ALIGN(4096) : { unpaged_*.o(.text) }
18	.unpaged_data ALIGN(4096) : { unpaged_*.o(.data .rodata*) }
19	__k_unpaged__kern_unpaged_edata = .;
20
21	.unpaged_bss  ALIGN(4096) : { unpaged_*.o(.bss COMMON) }
22	__k_unpaged__kern_unpaged_end = .;
23
24	. += _kern_offset;
25
26	. = ALIGN(4096); usermapped_start = .;
27	.usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { usermapped_glo*.o(*) }
28	. = ALIGN(4096); usermapped_nonglo_start = .;
29	.usermapped : AT(ADDR(.usermapped) - _kern_offset) { usermapped_*.o(*) }
30	. = ALIGN(4096); usermapped_end = .;
31	.text             : AT(ADDR(.text) - _kern_offset) { *(.text*) }
32	_etext = .;
33	.data ALIGN(4096) : AT(ADDR(.data) - _kern_offset) { *(.data .rodata* ) }
34	. = ALIGN(4096);
35	_edata = .;
36	__k_unpaged__edata = . - _kern_offset;
37	.bss ALIGN(4096)  : AT(ADDR(.bss) - _kern_offset) { *(.bss* COMMON)
38		__k_unpaged__kern_size = . - _kern_vir_base;
39		_kern_size = __k_unpaged__kern_size;
40
41		. += 4096;
42	}
43	_end = .;
44        __k_unpaged__end = . - _kern_offset;
45
46      /DISCARD/ :
47       {
48               *(.ARM.exidx*)
49       }
50
51}
52