Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v3.12 157 lines 2.4 kB view raw
1#include <asm-generic/vmlinux.lds.h> 2#include <asm/page.h> 3 4/* target memory map */ 5#ifdef CONFIG_H8300H_GENERIC 6#define ROMTOP 0x000000 7#define ROMSIZE 0x400000 8#define RAMTOP 0x400000 9#define RAMSIZE 0x400000 10#endif 11 12#ifdef CONFIG_H8300H_AKI3068NET 13#define ROMTOP 0x000000 14#define ROMSIZE 0x080000 15#define RAMTOP 0x400000 16#define RAMSIZE 0x200000 17#endif 18 19#ifdef CONFIG_H8300H_H8MAX 20#define ROMTOP 0x000000 21#define ROMSIZE 0x080000 22#define RAMTOP 0x400000 23#define RAMSIZE 0x200000 24#endif 25 26#ifdef CONFIG_H8300H_SIM 27#define ROMTOP 0x000000 28#define ROMSIZE 0x400000 29#define RAMTOP 0x400000 30#define RAMSIZE 0x400000 31#endif 32 33#ifdef CONFIG_H8S_SIM 34#define ROMTOP 0x000000 35#define ROMSIZE 0x400000 36#define RAMTOP 0x400000 37#define RAMSIZE 0x800000 38#endif 39 40#ifdef CONFIG_H8S_EDOSK2674 41#define ROMTOP 0x000000 42#define ROMSIZE 0x400000 43#define RAMTOP 0x400000 44#define RAMSIZE 0x800000 45#endif 46 47#if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM) 48INPUT(romfs.o) 49#endif 50 51_jiffies = _jiffies_64 + 4; 52 53ENTRY(__start) 54 55SECTIONS 56{ 57#if defined(CONFIG_ROMKERNEL) 58 . = ROMTOP; 59 .vectors : 60 { 61 __vector = . ; 62 *(.vectors*) 63 } 64#else 65 . = RAMTOP; 66 .bootvec : 67 { 68 *(.bootvec) 69 } 70#endif 71 .text : 72 { 73 _text = .; 74#if defined(CONFIG_ROMKERNEL) 75 *(.int_redirect) 76#endif 77 __stext = . ; 78 TEXT_TEXT 79 SCHED_TEXT 80 LOCK_TEXT 81 __etext = . ; 82 } 83 EXCEPTION_TABLE(16) 84 85 RODATA 86#if defined(CONFIG_ROMKERNEL) 87 SECURITY_INIT 88#endif 89 ROEND = .; 90#if defined(CONFIG_ROMKERNEL) 91 . = RAMTOP; 92 .data : AT(ROEND) 93#else 94 .data : 95#endif 96 { 97 __sdata = . ; 98 ___data_start = . ; 99 100 INIT_TASK_DATA(0x2000) 101 . = ALIGN(0x4) ; 102 DATA_DATA 103 . = ALIGN(0x4) ; 104 *(.data.*) 105 106 . = ALIGN(0x4) ; 107 ___init_begin = .; 108 __sinittext = .; 109 INIT_TEXT 110 __einittext = .; 111 INIT_DATA 112 . = ALIGN(0x4) ; 113 INIT_SETUP(0x4) 114 ___setup_start = .; 115 *(.init.setup) 116 . = ALIGN(0x4) ; 117 ___setup_end = .; 118 INIT_CALLS 119 CON_INITCALL 120 EXIT_TEXT 121 EXIT_DATA 122 INIT_RAM_FS 123 . = ALIGN(0x4) ; 124 ___init_end = .; 125 __edata = . ; 126 } 127#if defined(CONFIG_RAMKERNEL) 128 SECURITY_INIT 129#endif 130 __begin_data = LOADADDR(.data); 131 .bss : 132 { 133 . = ALIGN(0x4) ; 134 __sbss = . ; 135 ___bss_start = . ; 136 *(.bss*) 137 . = ALIGN(0x4) ; 138 *(COMMON) 139 . = ALIGN(0x4) ; 140 ___bss_stop = . ; 141 __ebss = . ; 142 __end = . ; 143 __ramstart = .; 144 } 145 .romfs : 146 { 147 *(.romfs*) 148 } 149 . = RAMTOP+RAMSIZE; 150 .dummy : 151 { 152 COMMAND_START = . - 0x200 ; 153 __ramend = . ; 154 } 155 156 DISCARDS 157}