| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #include <asm-generic/vmlinux.lds.h> | 
| Tim Abbott | eb121d1 | 2009-09-24 10:36:21 -0400 | [diff] [blame] | 2 | #include <asm/page.h> | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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) | 
|  | 48 | INPUT(romfs.o) | 
|  | 49 | #endif | 
|  | 50 |  | 
|  | 51 | _jiffies = _jiffies_64 + 4; | 
|  | 52 |  | 
|  | 53 | ENTRY(__start) | 
|  | 54 |  | 
|  | 55 | SECTIONS | 
|  | 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 | { | 
| Eric W. Biederman | fd593d1 | 2006-12-07 02:14:04 +0100 | [diff] [blame] | 73 | _text = .; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 74 | #if defined(CONFIG_ROMKERNEL) | 
|  | 75 | *(.int_redirect) | 
|  | 76 | #endif | 
|  | 77 | __stext = . ; | 
| Sam Ravnborg | 7664709 | 2007-05-13 00:31:33 +0200 | [diff] [blame] | 78 | TEXT_TEXT | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 79 | SCHED_TEXT | 
|  | 80 | LOCK_TEXT | 
|  | 81 | __etext = . ; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 82 | } | 
| Tim Abbott | eb121d1 | 2009-09-24 10:36:21 -0400 | [diff] [blame] | 83 | EXCEPTION_TABLE(16) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Tim Abbott | eb121d1 | 2009-09-24 10:36:21 -0400 | [diff] [blame] | 100 | INIT_TASK_DATA(0x2000) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 101 | . = ALIGN(0x4) ; | 
| Sam Ravnborg | ca96725 | 2007-05-17 13:38:44 +0200 | [diff] [blame] | 102 | DATA_DATA | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 103 | . = ALIGN(0x4) ; | 
|  | 104 | *(.data.*) | 
|  | 105 |  | 
|  | 106 | . = ALIGN(0x4) ; | 
|  | 107 | ___init_begin = .; | 
|  | 108 | __sinittext = .; | 
| Sam Ravnborg | 01ba2bd | 2008-01-20 14:15:03 +0100 | [diff] [blame] | 109 | INIT_TEXT | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 110 | __einittext = .; | 
| Sam Ravnborg | 01ba2bd | 2008-01-20 14:15:03 +0100 | [diff] [blame] | 111 | INIT_DATA | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 112 | . = ALIGN(0x4) ; | 
| Tim Abbott | eb121d1 | 2009-09-24 10:36:21 -0400 | [diff] [blame] | 113 | INIT_SETUP(0x4) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 114 | ___setup_start = .; | 
|  | 115 | *(.init.setup) | 
|  | 116 | . = ALIGN(0x4) ; | 
|  | 117 | ___setup_end = .; | 
| Tim Abbott | eb121d1 | 2009-09-24 10:36:21 -0400 | [diff] [blame] | 118 | INIT_CALLS | 
|  | 119 | CON_INITCALL | 
| Sam Ravnborg | 01ba2bd | 2008-01-20 14:15:03 +0100 | [diff] [blame] | 120 | EXIT_TEXT | 
|  | 121 | EXIT_DATA | 
| Tim Abbott | eb121d1 | 2009-09-24 10:36:21 -0400 | [diff] [blame] | 122 | INIT_RAM_FS | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | } | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 143 | .romfs : | 
|  | 144 | { | 
|  | 145 | *(.romfs*) | 
|  | 146 | } | 
|  | 147 | . = RAMTOP+RAMSIZE; | 
|  | 148 | .dummy : | 
|  | 149 | { | 
|  | 150 | COMMAND_START = . - 0x200 ; | 
|  | 151 | __ramend = . ; | 
|  | 152 | } | 
| Tejun Heo | 023bf6f | 2009-07-09 11:27:40 +0900 | [diff] [blame] | 153 |  | 
|  | 154 | DISCARDS | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 155 | } |