123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- #define VMLINUX_SYMBOL(_sym_) _##_sym_
- #include <asm-generic/vmlinux.lds.h>
- #include <linux/config.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 = . ;
- }
- }
|