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