xref: /minix/minix/kernel/arch/i386/kernel.lds (revision 9f988b79)
1OUTPUT_ARCH("i386")
2ENTRY(__k_unpaged_MINIX)
3
4_kern_phys_base = 0x00400000;	/* 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 : { unpaged_*.o(.text) }
18	.unpaged_data ALIGN(4096) : { unpaged_*.o(.data .rodata*) }
19	.unpaged_bss  ALIGN(4096) : { unpaged_*.o(.bss COMMON) }
20	__k_unpaged__kern_unpaged_end = .;
21
22	. += _kern_offset;
23
24	. = ALIGN(4096); usermapped_start = .;
25	.usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { *(.usermapped_glo) }
26	. = ALIGN(4096); usermapped_nonglo_start = .;
27	.usermapped : AT(ADDR(.usermapped) - _kern_offset) { *(.usermapped) }
28	. = ALIGN(4096); usermapped_end = .;
29	.text             : AT(ADDR(.text) - _kern_offset) { *(.text*) }
30	.data ALIGN(4096) : AT(ADDR(.data) - _kern_offset) { *(.data .rodata* ) }
31	. = ALIGN(4096);
32	.bss ALIGN(4096)  : AT(ADDR(.bss) - _kern_offset) { *(.bss* COMMON)
33		__k_unpaged__kern_size = . - _kern_vir_base;
34		_kern_size = __k_unpaged__kern_size;
35	}
36	_end = .;
37}
38