1433d6423SLionel SambucOUTPUT_ARCH("arm") 2433d6423SLionel SambucENTRY(__k_unpaged_MINIX) 3433d6423SLionel Sambuc 4433d6423SLionel Sambuc_kern_phys_base = 0x80200000; /* phys 4MB aligned for convenient remapping */ 5433d6423SLionel Sambuc_kern_vir_base = 0xF0400000; /* map kernel high for max. user vir space */ 6433d6423SLionel Sambuc_kern_offset = (_kern_vir_base - _kern_phys_base); 7433d6423SLionel Sambuc 8433d6423SLionel Sambuc__k_unpaged__kern_offset = _kern_offset; 9433d6423SLionel Sambuc__k_unpaged__kern_vir_base = _kern_vir_base; 10433d6423SLionel Sambuc__k_unpaged__kern_phys_base = _kern_phys_base; 11433d6423SLionel Sambuc 12433d6423SLionel SambucSECTIONS 13433d6423SLionel Sambuc{ 14433d6423SLionel Sambuc . = _kern_phys_base; 15433d6423SLionel Sambuc __k_unpaged__kern_unpaged_start = .; 16433d6423SLionel Sambuc 17*41b870c8SEmmanuel Blot .unpaged_text ALIGN(4096) : { unpaged_*.o(.startup); unpaged_*.o(.text) } 18433d6423SLionel Sambuc .unpaged_data ALIGN(4096) : { unpaged_*.o(.data .rodata*) } 19433d6423SLionel Sambuc __k_unpaged__kern_unpaged_edata = .; 20433d6423SLionel Sambuc 21433d6423SLionel Sambuc .unpaged_bss ALIGN(4096) : { unpaged_*.o(.bss COMMON) } 22433d6423SLionel Sambuc __k_unpaged__kern_unpaged_end = .; 23433d6423SLionel Sambuc 24433d6423SLionel Sambuc . += _kern_offset; 25433d6423SLionel Sambuc 26433d6423SLionel Sambuc . = ALIGN(4096); usermapped_start = .; 275f5dcc54SLionel Sambuc .usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { *(.usermapped_glo) } 28433d6423SLionel Sambuc . = ALIGN(4096); usermapped_nonglo_start = .; 295f5dcc54SLionel Sambuc .usermapped : AT(ADDR(.usermapped) - _kern_offset) { *(.usermapped) } 30433d6423SLionel Sambuc . = ALIGN(4096); usermapped_end = .; 31433d6423SLionel Sambuc .text : AT(ADDR(.text) - _kern_offset) { *(.text*) } 32433d6423SLionel Sambuc _etext = .; 33433d6423SLionel Sambuc .data ALIGN(4096) : AT(ADDR(.data) - _kern_offset) { *(.data .rodata* ) } 34433d6423SLionel Sambuc . = ALIGN(4096); 35433d6423SLionel Sambuc _edata = .; 36433d6423SLionel Sambuc __k_unpaged__edata = . - _kern_offset; 37433d6423SLionel Sambuc .bss ALIGN(4096) : AT(ADDR(.bss) - _kern_offset) { *(.bss* COMMON) 38433d6423SLionel Sambuc __k_unpaged__kern_size = . - _kern_vir_base; 39433d6423SLionel Sambuc _kern_size = __k_unpaged__kern_size; 40433d6423SLionel Sambuc 41433d6423SLionel Sambuc . += 4096; 42433d6423SLionel Sambuc } 43433d6423SLionel Sambuc _end = .; 44433d6423SLionel Sambuc __k_unpaged__end = . - _kern_offset; 45433d6423SLionel Sambuc 46433d6423SLionel Sambuc /DISCARD/ : 47433d6423SLionel Sambuc { 48433d6423SLionel Sambuc *(.ARM.exidx*) 49433d6423SLionel Sambuc } 50433d6423SLionel Sambuc} 51