1#define VMLINUX_SYMBOL(_sym_) _##_sym_ 2#include <asm-generic/vmlinux.lds.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 . = ALIGN(16); /* Exception table */ 83 ___start___ex_table = .; 84 *(__ex_table) 85 ___stop___ex_table = .; 86 } 87 88 RODATA 89#if defined(CONFIG_ROMKERNEL) 90 SECURITY_INIT 91#endif 92 ROEND = .; 93#if defined(CONFIG_ROMKERNEL) 94 . = RAMTOP; 95 .data : AT(ROEND) 96#else 97 .data : 98#endif 99 { 100 __sdata = . ; 101 ___data_start = . ; 102 103 . = ALIGN(0x2000) ; 104 *(.data.init_task) 105 . = ALIGN(0x4) ; 106 DATA_DATA 107 . = ALIGN(0x4) ; 108 *(.data.*) 109 110 . = ALIGN(0x4) ; 111 ___init_begin = .; 112 __sinittext = .; 113 *(.init.text) 114 __einittext = .; 115 *(.init.data) 116 . = ALIGN(0x4) ; 117 ___setup_start = .; 118 *(.init.setup) 119 . = ALIGN(0x4) ; 120 ___setup_end = .; 121 ___initcall_start = .; 122 INITCALLS 123 ___initcall_end = .; 124 ___con_initcall_start = .; 125 *(.con_initcall.init) 126 ___con_initcall_end = .; 127 *(.exit.text) 128 *(.exit.data) 129#if defined(CONFIG_BLK_DEV_INITRD) 130 . = ALIGN(4); 131 ___initramfs_start = .; 132 *(.init.ramfs) 133 ___initramfs_end = .; 134#endif 135 . = ALIGN(0x4) ; 136 ___init_end = .; 137 __edata = . ; 138 } 139#if defined(CONFIG_RAMKERNEL) 140 SECURITY_INIT 141#endif 142 __begin_data = LOADADDR(.data); 143 .bss : 144 { 145 . = ALIGN(0x4) ; 146 __sbss = . ; 147 *(.bss*) 148 . = ALIGN(0x4) ; 149 *(COMMON) 150 . = ALIGN(0x4) ; 151 __ebss = . ; 152 __end = . ; 153 __ramstart = .; 154 } 155 /DISCARD/ : { 156 *(.exitcall.exit) 157 } 158 .romfs : 159 { 160 *(.romfs*) 161 } 162 . = RAMTOP+RAMSIZE; 163 .dummy : 164 { 165 COMMAND_START = . - 0x200 ; 166 __ramend = . ; 167 } 168} 169