| #define VMLINUX_SYMBOL(_sym_) _##_sym_ |
| #include <asm-generic/vmlinux.lds.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 : |
| { |
| #if defined(CONFIG_ROMKERNEL) |
| *(.int_redirect) |
| #endif |
| __stext = . ; |
| *(.text) |
| SCHED_TEXT |
| LOCK_TEXT |
| __etext = . ; |
| . = ALIGN(16); /* Exception table */ |
| ___start___ex_table = .; |
| *(__ex_table) |
| ___stop___ex_table = .; |
| } |
| |
| RODATA |
| #if defined(CONFIG_ROMKERNEL) |
| SECURITY_INIT |
| #endif |
| ROEND = .; |
| #if defined(CONFIG_ROMKERNEL) |
| . = RAMTOP; |
| .data : AT(ROEND) |
| #else |
| .data : |
| #endif |
| { |
| __sdata = . ; |
| ___data_start = . ; |
| |
| . = ALIGN(0x2000) ; |
| *(.data.init_task) |
| . = ALIGN(0x4) ; |
| *(.data) |
| . = ALIGN(0x4) ; |
| *(.data.*) |
| |
| . = ALIGN(0x4) ; |
| ___init_begin = .; |
| __sinittext = .; |
| *(.init.text) |
| __einittext = .; |
| *(.init.data) |
| . = ALIGN(0x4) ; |
| ___setup_start = .; |
| *(.init.setup) |
| . = ALIGN(0x4) ; |
| ___setup_end = .; |
| ___initcall_start = .; |
| *(.initcall1.init) |
| *(.initcall2.init) |
| *(.initcall3.init) |
| *(.initcall4.init) |
| *(.initcall5.init) |
| *(.initcall6.init) |
| *(.initcall7.init) |
| ___initcall_end = .; |
| ___con_initcall_start = .; |
| *(.con_initcall.init) |
| ___con_initcall_end = .; |
| *(.exit.text) |
| *(.exit.data) |
| . = ALIGN(4); |
| ___initramfs_start = .; |
| *(.init.ramfs) |
| ___initramfs_end = .; |
| . = 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 = .; |
| } |
| /DISCARD/ : { |
| *(.exitcall.exit) |
| } |
| .romfs : |
| { |
| *(.romfs*) |
| } |
| . = RAMTOP+RAMSIZE; |
| .dummy : |
| { |
| COMMAND_START = . - 0x200 ; |
| __ramend = . ; |
| } |
| } |