Home | History | Annotate | Line # | Download | only in conf
      1  1.22      maxv /*	$NetBSD: kern.ldscript,v 1.22 2018/06/24 18:24:53 maxv Exp $	*/
      2   1.1   thorpej 
      3  1.15  uebayasi #include "assym.h"
      4  1.15  uebayasi 
      5  1.18      maxv __PAGE_SIZE = 0x1000 ;
      6  1.18      maxv 
      7   1.1   thorpej ENTRY(_start)
      8   1.1   thorpej SECTIONS
      9   1.1   thorpej {
     10  1.20      maxv 	.text : AT (ADDR(.text) & 0x0fffffff)
     11  1.16      maxv 	{
     12  1.16      maxv 		*(.text)
     13  1.16      maxv 		*(.text.*)
     14  1.16      maxv 		*(.stub)
     15  1.20      maxv 		. = ALIGN(__PAGE_SIZE);
     16  1.20      maxv 	} =0xCC
     17  1.16      maxv 	_etext = . ;
     18  1.16      maxv 	PROVIDE (etext = .) ;
     19  1.16      maxv 
     20  1.19      maxv 	. = ALIGN(__PAGE_SIZE);
     21  1.17      maxv 
     22  1.17      maxv 	__rodata_start = . ;
     23  1.21      maxv 
     24  1.21      maxv 	.rodata.hotpatch :
     25  1.21      maxv 	{
     26  1.21      maxv 		__rodata_hotpatch_start = . ;
     27  1.21      maxv 		*(.rodata.hotpatch)
     28  1.21      maxv 		__rodata_hotpatch_end = . ;
     29  1.21      maxv 	}
     30  1.21      maxv 
     31  1.16      maxv 	.rodata :
     32  1.16      maxv 	{
     33  1.16      maxv 		*(.rodata)
     34  1.16      maxv 		*(.rodata.*)
     35  1.16      maxv 	}
     36  1.16      maxv 
     37  1.19      maxv 	. = ALIGN(__PAGE_SIZE);
     38  1.19      maxv 
     39  1.16      maxv 	__data_start = . ;
     40  1.16      maxv 	.data :
     41  1.16      maxv 	{
     42  1.16      maxv 		*(.data)
     43  1.16      maxv 	}
     44  1.16      maxv 
     45  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     46  1.16      maxv 	.data.cacheline_aligned :
     47  1.16      maxv 	{
     48  1.16      maxv 		*(.data.cacheline_aligned)
     49  1.16      maxv 	}
     50  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     51  1.16      maxv 	.data.read_mostly :
     52  1.16      maxv 	{
     53  1.16      maxv 		*(.data.read_mostly)
     54  1.16      maxv 	}
     55  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     56  1.18      maxv 
     57  1.16      maxv 	_edata = . ;
     58  1.16      maxv 	PROVIDE (edata = .) ;
     59  1.16      maxv 	__bss_start = . ;
     60  1.16      maxv 	.bss :
     61  1.16      maxv 	{
     62  1.16      maxv 		*(.bss)
     63  1.16      maxv 		*(.bss.*)
     64  1.16      maxv 		*(COMMON)
     65  1.22      maxv 		. = ALIGN(__PAGE_SIZE);
     66  1.16      maxv 	}
     67  1.18      maxv 
     68  1.18      maxv 	. = ALIGN(__PAGE_SIZE);
     69  1.18      maxv 
     70  1.18      maxv 	/* End of the kernel image */
     71  1.18      maxv 	__kernel_end = . ;
     72  1.18      maxv 
     73  1.16      maxv 	_end = . ;
     74  1.16      maxv 	PROVIDE (end = .) ;
     75  1.16      maxv 	.note.netbsd.ident :
     76  1.16      maxv 	{
     77  1.16      maxv 		KEEP(*(.note.netbsd.ident));
     78  1.16      maxv 	}
     79   1.1   thorpej }
     80  1.16      maxv 
     81