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