| #include <asm-generic/vmlinux.lds.h> |
| #include <asm/page.h> |
| |
| /* target memory map */ |
| #ifdef CONFIG_H8300H_GENERIC |
| #define ROMTOP 0x000000 |
| #define ROMSIZE 0x400000 |
| #define RAMTOP 0x400000 |
| #define RAMSIZE 0x400000 |
| #endif |
| |
| #ifdef CONFIG_H8300H_AKI3068NET |
| #define ROMTOP 0x000000 |
| #define ROMSIZE 0x080000 |
| #define RAMTOP 0x400000 |
| #define RAMSIZE 0x200000 |
| #endif |
| |
| #ifdef CONFIG_H8300H_H8MAX |
| #define ROMTOP 0x000000 |
| #define ROMSIZE 0x080000 |
| #define RAMTOP 0x400000 |
| #define RAMSIZE 0x200000 |
| #endif |
| |
| #ifdef CONFIG_H8300H_SIM |
| #define ROMTOP 0x000000 |
| #define ROMSIZE 0x400000 |
| #define RAMTOP 0x400000 |
| #define RAMSIZE 0x400000 |
| #endif |
| |
| #ifdef CONFIG_H8S_SIM |
| #define ROMTOP 0x000000 |
| #define ROMSIZE 0x400000 |
| #define RAMTOP 0x400000 |
| #define RAMSIZE 0x800000 |
| #endif |
| |
| #ifdef CONFIG_H8S_EDOSK2674 |
| #define ROMTOP 0x000000 |
| #define ROMSIZE 0x400000 |
| #define RAMTOP 0x400000 |
| #define RAMSIZE 0x800000 |
| #endif |
| |
| #if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM) |
| INPUT(romfs.o) |
| #endif |
| |
| _jiffies = _jiffies_64 + 4; |
| |
| ENTRY(__start) |
| |
| SECTIONS |
| { |
| #if defined(CONFIG_ROMKERNEL) |
| . = ROMTOP; |
| .vectors : |
| { |
| __vector = . ; |
| *(.vectors*) |
| } |
| #else |
| . = RAMTOP; |
| .bootvec : |
| { |
| *(.bootvec) |
| } |
| #endif |
| .text : |
| { |
| _text = .; |
| #if defined(CONFIG_ROMKERNEL) |
| *(.int_redirect) |
| #endif |
| __stext = . ; |
| TEXT_TEXT |
| SCHED_TEXT |
| LOCK_TEXT |
| __etext = . ; |
| } |
| EXCEPTION_TABLE(16) |
| |
| RODATA |
| #if defined(CONFIG_ROMKERNEL) |
| SECURITY_INIT |
| #endif |
| ROEND = .; |
| #if defined(CONFIG_ROMKERNEL) |
| . = RAMTOP; |
| .data : AT(ROEND) |
| #else |
| .data : |
| #endif |
| { |
| __sdata = . ; |
| ___data_start = . ; |
| |
| INIT_TASK_DATA(0x2000) |
| . = ALIGN(0x4) ; |
| DATA_DATA |
| . = ALIGN(0x4) ; |
| *(.data.*) |
| |
| . = ALIGN(0x4) ; |
| ___init_begin = .; |
| __sinittext = .; |
| INIT_TEXT |
| __einittext = .; |
| INIT_DATA |
| . = ALIGN(0x4) ; |
| INIT_SETUP(0x4) |
| ___setup_start = .; |
| *(.init.setup) |
| . = ALIGN(0x4) ; |
| ___setup_end = .; |
| INIT_CALLS |
| CON_INITCALL |
| EXIT_TEXT |
| EXIT_DATA |
| INIT_RAM_FS |
| . = ALIGN(0x4) ; |
| ___init_end = .; |
| __edata = . ; |
| } |
| #if defined(CONFIG_RAMKERNEL) |
| SECURITY_INIT |
| #endif |
| __begin_data = LOADADDR(.data); |
| .bss : |
| { |
| . = ALIGN(0x4) ; |
| __sbss = . ; |
| *(.bss*) |
| . = ALIGN(0x4) ; |
| *(COMMON) |
| . = ALIGN(0x4) ; |
| __ebss = . ; |
| __end = . ; |
| __ramstart = .; |
| } |
| .romfs : |
| { |
| *(.romfs*) |
| } |
| . = RAMTOP+RAMSIZE; |
| .dummy : |
| { |
| COMMAND_START = . - 0x200 ; |
| __ramend = . ; |
| } |
| |
| DISCARDS |
| } |