1/* $NetBSD: kern.ldscript.Xen,v 1.18 2022/01/24 00:15:09 maya Exp $ */ 2 3#include "assym.h" 4 5__PAGE_SIZE = 0x1000 ; 6 7ENTRY(_start) 8SECTIONS 9{ 10 .text : AT (ADDR(.text)) 11 { 12 *(.text) 13 *(.text.*) 14 *(.stub) 15 . = ALIGN(__PAGE_SIZE); 16 } :main =0xCC 17 _etext = . ; 18 PROVIDE (etext = .) ; 19 20 . = ALIGN(__PAGE_SIZE); 21 22 __rodata_start = . ; 23 24 .rodata.hotpatch : 25 { 26 __rodata_hotpatch_start = . ; 27 *(.rodata.hotpatch) 28 __rodata_hotpatch_end = . ; 29 } 30 31 .rodata : 32 { 33 *(.rodata) 34 *(.rodata.*) 35 . = ALIGN(COHERENCY_UNIT); 36 __CTOR_LIST__ = .; 37 *(.ctors) 38 __CTOR_END__ = .; 39 } 40 41 . = ALIGN(__PAGE_SIZE); 42 43 __data_start = . ; 44 .data : 45 { 46 *(.data) 47 } 48 49 . = ALIGN(COHERENCY_UNIT); 50 .data.cacheline_aligned : 51 { 52 *(.data.cacheline_aligned) 53 } 54 . = ALIGN(COHERENCY_UNIT); 55 .data.read_mostly : 56 { 57 *(.data.read_mostly) 58 } 59 . = ALIGN(COHERENCY_UNIT); 60 61 _edata = . ; 62 PROVIDE (edata = .) ; 63 __bss_start = . ; 64 .bss : 65 { 66 *(.bss) 67 *(.bss.*) 68 *(COMMON) 69 . = ALIGN(__PAGE_SIZE); 70 } 71 72 . = ALIGN(__PAGE_SIZE); 73 74 /* End of the kernel image */ 75 __kernel_end = . ; 76 77 _end = . ; 78 PROVIDE (end = .) ; 79 .note.netbsd.ident : 80 { 81 KEEP(*(.note.netbsd.ident)); 82 } 83 .note.Xen : 84 { 85 KEEP(*(.note.Xen)); 86 } :notes 87} 88 89PHDRS 90{ 91 main PT_LOAD; 92 notes PT_NOTE; 93} 94