Home | History | Annotate | Line # | Download | only in conf
kern.ldscript revision 1.7.4.1
      1  1.7.4.1  thorpej /*	$NetBSD: kern.ldscript,v 1.7.4.1 2021/05/13 00:47:27 thorpej Exp $	*/
      2  1.7.4.1  thorpej 
      3  1.7.4.1  thorpej #include "assym.h"
      4      1.7    skrll 
      5      1.1     matt OUTPUT_ARCH(riscv)
      6      1.6     maxv ENTRY(start)
      7      1.6     maxv 
      8      1.6     maxv __PAGE_SIZE = 0x1000 ;
      9      1.6     maxv __LARGE_PAGE_SIZE = 0x200000 ;
     10      1.6     maxv 
     11      1.1     matt SECTIONS
     12      1.1     matt {
     13  1.7.4.1  thorpej 
     14  1.7.4.1  thorpej 	.text : AT (KERNEL_PHYS)
     15      1.6     maxv 	{
     16  1.7.4.1  thorpej 		PROVIDE(__kernel_text = .);
     17      1.6     maxv 		*(.text)
     18      1.6     maxv 		*(.text.*)
     19      1.6     maxv 		*(.stub)
     20      1.6     maxv 	}
     21      1.6     maxv 	_etext = . ;
     22      1.6     maxv 	PROVIDE (etext = .);
     23      1.6     maxv 
     24      1.6     maxv 	. = ALIGN(__LARGE_PAGE_SIZE);
     25      1.6     maxv 
     26  1.7.4.1  thorpej 	PROVIDE(__rodata_start = .);
     27      1.6     maxv 	.rodata :
     28      1.6     maxv 	{
     29      1.6     maxv 		*(.rodata)
     30      1.6     maxv 		*(.rodata.*)
     31      1.6     maxv 		*(.srodata)
     32      1.6     maxv 		*(.srodata.*)
     33      1.6     maxv 	}
     34      1.6     maxv 
     35  1.7.4.1  thorpej 	PROVIDE(_etext = .);
     36  1.7.4.1  thorpej 	PROVIDE(etext = .);
     37      1.6     maxv 	. = ALIGN(__LARGE_PAGE_SIZE);
     38      1.6     maxv 
     39      1.6     maxv 	.data :
     40      1.6     maxv 	{
     41  1.7.4.1  thorpej 		PROVIDE(__data_start = .);
     42      1.6     maxv 		*(.data)
     43  1.7.4.1  thorpej 	}
     44  1.7.4.1  thorpej 
     45  1.7.4.1  thorpej 	. = ALIGN(COHERENCY_UNIT);
     46  1.7.4.1  thorpej 	.data.cacheline_aligned :
     47  1.7.4.1  thorpej 	{
     48  1.7.4.1  thorpej 		*(.data.cacheline_aligned)
     49  1.7.4.1  thorpej 	}
     50  1.7.4.1  thorpej 	. = ALIGN(COHERENCY_UNIT);
     51  1.7.4.1  thorpej 	.data.read_mostly :
     52  1.7.4.1  thorpej 	{
     53  1.7.4.1  thorpej 		*(.data.read_mostly)
     54  1.7.4.1  thorpej 	}
     55  1.7.4.1  thorpej 	. = ALIGN(COHERENCY_UNIT);
     56  1.7.4.1  thorpej 
     57  1.7.4.1  thorpej 	.sdata :
     58  1.7.4.1  thorpej 	{
     59  1.7.4.1  thorpej 		__global_pointer$ = . + 0x800;
     60      1.6     maxv 		*(.sdata)
     61      1.6     maxv 		*(.sdata.*)
     62      1.6     maxv 	}
     63  1.7.4.1  thorpej 	_edata = .;
     64  1.7.4.1  thorpej 	PROVIDE (edata = .);
     65      1.6     maxv 
     66      1.6     maxv 	__bss_start = .;
     67      1.6     maxv 	.bss :
     68      1.6     maxv 	{
     69      1.6     maxv 		*(.bss)
     70      1.6     maxv 		*(.bss.*)
     71      1.6     maxv 		*(.sbss)
     72      1.6     maxv 		*(.sbss.*)
     73      1.6     maxv 		*(COMMON)
     74      1.6     maxv 		. = ALIGN(__LARGE_PAGE_SIZE);
     75      1.6     maxv 	}
     76  1.7.4.1  thorpej 	_bss_end__ = . ;
     77  1.7.4.1  thorpej 	__bss_end__ = . ;
     78      1.6     maxv 	. = ALIGN(__PAGE_SIZE);
     79      1.6     maxv 
     80  1.7.4.1  thorpej 	__end__ = . ;
     81  1.7.4.1  thorpej 	_end = .;
     82  1.7.4.1  thorpej 	PROVIDE(end = .);
     83      1.6     maxv 	.note.netbsd.ident :
     84      1.6     maxv 	{
     85      1.6     maxv 		KEEP(*(.note.netbsd.ident));
     86      1.6     maxv 	}
     87      1.1     matt }
     88