1 1.11.2.4 skrll /* $NetBSD: kern.ldscript,v 1.11.2.4 2017/08/28 17:51:40 skrll Exp $ */ 2 1.11.2.1 skrll 3 1.11.2.1 skrll #include "assym.h" 4 1.1 thorpej 5 1.11.2.3 skrll __PAGE_SIZE = 0x1000 ; 6 1.11.2.3 skrll 7 1.1 thorpej ENTRY(_start) 8 1.1 thorpej SECTIONS 9 1.1 thorpej { 10 1.11.2.4 skrll .text : AT (ADDR(.text) & 0x0fffffff) 11 1.11.2.2 skrll { 12 1.11.2.2 skrll *(.text) 13 1.11.2.2 skrll *(.text.*) 14 1.11.2.2 skrll *(.stub) 15 1.11.2.4 skrll . = ALIGN(__PAGE_SIZE); 16 1.11.2.4 skrll } =0xCC 17 1.11.2.2 skrll _etext = . ; 18 1.11.2.2 skrll PROVIDE (etext = .) ; 19 1.11.2.2 skrll 20 1.11.2.3 skrll . = ALIGN(__PAGE_SIZE); 21 1.11.2.3 skrll 22 1.11.2.3 skrll __rodata_start = . ; 23 1.11.2.2 skrll .rodata : 24 1.11.2.2 skrll { 25 1.11.2.2 skrll *(.rodata) 26 1.11.2.2 skrll *(.rodata.*) 27 1.11.2.2 skrll } 28 1.11.2.2 skrll 29 1.11.2.3 skrll . = ALIGN(__PAGE_SIZE); 30 1.11.2.3 skrll 31 1.11.2.2 skrll __data_start = . ; 32 1.11.2.2 skrll .data : 33 1.11.2.2 skrll { 34 1.11.2.2 skrll *(.data) 35 1.11.2.2 skrll } 36 1.11.2.2 skrll 37 1.11.2.2 skrll . = ALIGN(COHERENCY_UNIT); 38 1.11.2.2 skrll .data.cacheline_aligned : 39 1.11.2.2 skrll { 40 1.11.2.2 skrll *(.data.cacheline_aligned) 41 1.11.2.2 skrll } 42 1.11.2.2 skrll . = ALIGN(COHERENCY_UNIT); 43 1.11.2.2 skrll .data.read_mostly : 44 1.11.2.2 skrll { 45 1.11.2.2 skrll *(.data.read_mostly) 46 1.11.2.2 skrll } 47 1.11.2.2 skrll . = ALIGN(COHERENCY_UNIT); 48 1.11.2.3 skrll 49 1.11.2.2 skrll _edata = . ; 50 1.11.2.2 skrll PROVIDE (edata = .) ; 51 1.11.2.2 skrll __bss_start = . ; 52 1.11.2.2 skrll .bss : 53 1.11.2.2 skrll { 54 1.11.2.2 skrll *(.bss) 55 1.11.2.2 skrll *(.bss.*) 56 1.11.2.2 skrll *(COMMON) 57 1.11.2.3 skrll . = ALIGN(32 / 8); 58 1.11.2.2 skrll } 59 1.11.2.3 skrll 60 1.11.2.3 skrll . = ALIGN(__PAGE_SIZE); 61 1.11.2.3 skrll 62 1.11.2.3 skrll /* End of the kernel image */ 63 1.11.2.3 skrll __kernel_end = . ; 64 1.11.2.3 skrll 65 1.11.2.2 skrll _end = . ; 66 1.11.2.2 skrll PROVIDE (end = .) ; 67 1.11.2.2 skrll .note.netbsd.ident : 68 1.11.2.2 skrll { 69 1.11.2.2 skrll KEEP(*(.note.netbsd.ident)); 70 1.11.2.2 skrll } 71 1.1 thorpej } 72 1.11.2.2 skrll 73