kern.ldscript revision 1.20
11.20Smaxv/*	$NetBSD: kern.ldscript,v 1.20 2017/08/18 10:28:53 maxv Exp $	*/
21.1Sthorpej
31.15Suebayasi#include "assym.h"
41.15Suebayasi
51.18Smaxv__PAGE_SIZE = 0x1000 ;
61.18Smaxv
71.1SthorpejENTRY(_start)
81.1SthorpejSECTIONS
91.1Sthorpej{
101.20Smaxv	.text : AT (ADDR(.text) & 0x0fffffff)
111.16Smaxv	{
121.16Smaxv		*(.text)
131.16Smaxv		*(.text.*)
141.16Smaxv		*(.stub)
151.20Smaxv		. = ALIGN(__PAGE_SIZE);
161.20Smaxv	} =0xCC
171.16Smaxv	_etext = . ;
181.16Smaxv	PROVIDE (etext = .) ;
191.16Smaxv
201.19Smaxv	. = ALIGN(__PAGE_SIZE);
211.17Smaxv
221.17Smaxv	__rodata_start = . ;
231.16Smaxv	.rodata :
241.16Smaxv	{
251.16Smaxv		*(.rodata)
261.16Smaxv		*(.rodata.*)
271.16Smaxv	}
281.16Smaxv
291.19Smaxv	. = ALIGN(__PAGE_SIZE);
301.19Smaxv
311.16Smaxv	__data_start = . ;
321.16Smaxv	.data :
331.16Smaxv	{
341.16Smaxv		*(.data)
351.16Smaxv	}
361.16Smaxv
371.16Smaxv	. = ALIGN(COHERENCY_UNIT);
381.16Smaxv	.data.cacheline_aligned :
391.16Smaxv	{
401.16Smaxv		*(.data.cacheline_aligned)
411.16Smaxv	}
421.16Smaxv	. = ALIGN(COHERENCY_UNIT);
431.16Smaxv	.data.read_mostly :
441.16Smaxv	{
451.16Smaxv		*(.data.read_mostly)
461.16Smaxv	}
471.16Smaxv	. = ALIGN(COHERENCY_UNIT);
481.18Smaxv
491.16Smaxv	_edata = . ;
501.16Smaxv	PROVIDE (edata = .) ;
511.16Smaxv	__bss_start = . ;
521.16Smaxv	.bss :
531.16Smaxv	{
541.16Smaxv		*(.bss)
551.16Smaxv		*(.bss.*)
561.16Smaxv		*(COMMON)
571.19Smaxv		. = ALIGN(32 / 8);
581.16Smaxv	}
591.18Smaxv
601.18Smaxv	. = ALIGN(__PAGE_SIZE);
611.18Smaxv
621.18Smaxv	/* End of the kernel image */
631.18Smaxv	__kernel_end = . ;
641.18Smaxv
651.16Smaxv	_end = . ;
661.16Smaxv	PROVIDE (end = .) ;
671.16Smaxv	.note.netbsd.ident :
681.16Smaxv	{
691.16Smaxv		KEEP(*(.note.netbsd.ident));
701.16Smaxv	}
711.1Sthorpej}
721.16Smaxv
73