#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 }