1 1.7 skrll /* $NetBSD: kern.ldscript,v 1.7 2020/11/04 07:09:45 skrll Exp $ */ 2 1.7 skrll 3 1.1 matt OUTPUT_ARCH(riscv) 4 1.6 maxv ENTRY(start) 5 1.6 maxv 6 1.6 maxv __PAGE_SIZE = 0x1000 ; 7 1.6 maxv __LARGE_PAGE_SIZE = 0x200000 ; 8 1.6 maxv 9 1.1 matt SECTIONS 10 1.1 matt { 11 1.6 maxv .text : AT (ADDR(.text) & 0x0fffffff) 12 1.6 maxv { 13 1.6 maxv *(.text) 14 1.6 maxv *(.text.*) 15 1.6 maxv *(.stub) 16 1.6 maxv } 17 1.6 maxv _etext = . ; 18 1.6 maxv PROVIDE (etext = .); 19 1.6 maxv 20 1.6 maxv . = ALIGN(__LARGE_PAGE_SIZE); 21 1.6 maxv 22 1.6 maxv __rodata_start = . ; 23 1.6 maxv .rodata : 24 1.6 maxv { 25 1.6 maxv *(.rodata) 26 1.6 maxv *(.rodata.*) 27 1.6 maxv *(.srodata) 28 1.6 maxv *(.srodata.*) 29 1.6 maxv } 30 1.6 maxv 31 1.6 maxv . = ALIGN(__LARGE_PAGE_SIZE); 32 1.6 maxv 33 1.6 maxv __data_start = . ; 34 1.6 maxv .data : 35 1.6 maxv { 36 1.6 maxv *(.data) 37 1.6 maxv *(.sdata) 38 1.6 maxv *(.sdata.*) 39 1.6 maxv } 40 1.6 maxv _edata = . ; 41 1.6 maxv PROVIDE (edata = .) ; 42 1.6 maxv 43 1.6 maxv __bss_start = .; 44 1.6 maxv .bss : 45 1.6 maxv { 46 1.6 maxv *(.bss) 47 1.6 maxv *(.bss.*) 48 1.6 maxv *(.sbss) 49 1.6 maxv *(.sbss.*) 50 1.6 maxv *(COMMON) 51 1.6 maxv . = ALIGN(__LARGE_PAGE_SIZE); 52 1.6 maxv } 53 1.6 maxv 54 1.6 maxv . = ALIGN(__PAGE_SIZE); 55 1.6 maxv 56 1.6 maxv /* End of the kernel image */ 57 1.6 maxv __kernel_end = . ; 58 1.6 maxv 59 1.6 maxv _end = . ; 60 1.6 maxv PROVIDE (end = .) ; 61 1.6 maxv .note.netbsd.ident : 62 1.6 maxv { 63 1.6 maxv KEEP(*(.note.netbsd.ident)); 64 1.6 maxv } 65 1.1 matt } 66