diff options
Diffstat (limited to 'ANDROID_3.4.5/arch/h8300/kernel/vmlinux.lds.S')
-rw-r--r-- | ANDROID_3.4.5/arch/h8300/kernel/vmlinux.lds.S | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/ANDROID_3.4.5/arch/h8300/kernel/vmlinux.lds.S b/ANDROID_3.4.5/arch/h8300/kernel/vmlinux.lds.S new file mode 100644 index 00000000..03d356d9 --- /dev/null +++ b/ANDROID_3.4.5/arch/h8300/kernel/vmlinux.lds.S @@ -0,0 +1,155 @@ +#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 +} |