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*) 136 . = ALIGN(0x4) ; 137 *(COMMON) 138 . = ALIGN(0x4) ; 139 __ebss = . ; 140 __end = . ; 141 __ramstart = .; 142 } 143 .romfs : 144 { 145 *(.romfs*) 146 } 147 . = RAMTOP+RAMSIZE; 148 .dummy : 149 { 150 COMMAND_START = . - 0x200 ; 151 __ramend = . ; 152 } 153 154 DISCARDS 155} 156