H8/300 vmlinux.lds update
PATCH 1/1 H8/300 vmlinux.lds update
Signed-off-by Yoshinori Sato <[email protected]>
arch/h8300/kernel/vmlinux.lds.S +57 -86
@@ -1,60 +1,48 @@ #define VMLINUX_SYMBOL(_sym_) _##_sym_ #include <asm-generic/vmlinux.lds.h> -#include <asm/thread_info.h> #include <linux/config.h> +/* target memory map */ #ifdef CONFIG_H8300H_GENERIC -#ifdef CONFIG_ROMKERNEL -#include "../platform/h8300h/generic/rom.ld" -#endif -#ifdef CONFIG_RAMKERNEL -#include "../platform/h8300h/generic/ram.ld" -#endif +#define ROMTOP 0x000000 +#define ROMSIZE 0x200000 +#define RAMTOP 0x200000 +#define RAMSIZE 0x200000 #endif #ifdef CONFIG_H8300H_AKI3068NET -#ifdef CONFIG_ROMKERNEL -#include "../platform/h8300h/aki3068net/rom.ld" -#endif -#ifdef CONFIG_RAMKERNEL -#include "../platform/h8300h/aki3068net/ram.ld" -#endif +#define ROMTOP 0x000000 +#define ROMSIZE 0x080000 +#define RAMTOP 0x400000 +#define RAMSIZE 0x200000 #endif #ifdef CONFIG_H8300H_H8MAX -#ifdef CONFIG_ROMKERNEL -#include "../platform/h8300h/h8max/rom.ld" -#endif -#ifdef CONFIG_RAMKERNEL -#include "../platform/h8300h/h8max/ram.ld" -#endif +#define ROMTOP 0x000000 +#define ROMSIZE 0x080000 +#define RAMTOP 0x400000 +#define RAMSIZE 0x200000 #endif #ifdef CONFIG_H8300H_SIM -#ifdef CONFIG_ROMKERNEL -#include "../platform/h8300h/generic/rom.ld" -#endif -#ifdef CONFIG_RAMKERNEL -#include "../platform/h8300h/generic/ram.ld" -#endif +#define ROMTOP 0x000000 +#define ROMSIZE 0x200000 +#define RAMTOP 0x200000 +#define RAMSIZE 0x200000 #endif #ifdef CONFIG_H8S_SIM -#ifdef CONFIG_ROMKERNEL -#include "../platform/h8s/generic/rom.ld" -#endif -#ifdef CONFIG_RAMKERNEL -#include "../platform/h8s/generic/ram.ld" -#endif +#define ROMTOP 0x000000 +#define ROMSIZE 0x200000 +#define RAMTOP 0x200000 +#define RAMSIZE 0x200000 #endif #ifdef CONFIG_H8S_EDOSK2674 -#ifdef CONFIG_ROMKERNEL -#include "../platform/h8s/edosk2674/rom.ld" -#endif -#ifdef CONFIG_RAMKERNEL -#include "../platform/h8s/edosk2674/ram.ld" -#endif +#define ROMTOP 0x000000 +#define ROMSIZE 0x400000 +#define RAMTOP 0x400000 +#define RAMSIZE 0x800000 #endif #if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
@@ -66,68 +54,45 @@ SECTIONS { #if defined(CONFIG_ROMKERNEL) + . = ROMTOP; .vectors : { __vector = . ; *(.vectors*) - } > vector -#endif -#if defined(CONFIG_RAMKERNEL) - .bootvec : + } +#else + . = RAMTOP; + .bootvec : { *(.bootvec) - } > ram + } #endif .text : { #if defined(CONFIG_ROMKERNEL) - *(.int_redirect) + *(.int_redirect) #endif __stext = . ; *(.text) SCHED_TEXT - . = ALIGN(0x4) ; - *(.exit.text) - *(.text.*) - . = ALIGN(0x4) ; - *(.exitcall.exit) - . = ALIGN(0x4) ; - *(.kstrtab) - . = ALIGN(0x4) ; - *(.rodata*) + LOCK_TEXT + __etext = . ; . = ALIGN(16); /* Exception table */ ___start___ex_table = .; *(__ex_table) ___stop___ex_table = .; - ___start___ksymtab = .; /* Kernel symbol table */ - *(__ksymtab) - ___stop___ksymtab = .; - - ___start___ksymtab_gpl = .; /* Kernel symbol table: GPL-only symbols */ - - *(__ksymtab_gpl) - ___stop___ksymtab_gpl = .; - - ___start___kcrctab = .; /* Kernel symbol table: Normal symbols */ - *(__kcrctab) - ___stop___kcrctab = .; - - ___start___kcrctab_gpl = .; /* Kernel symbol table: GPL-only symbols */ - *(__kcrctab_gpl) - ___stop___kcrctab_gpl = .; - - *(__ksymtab_strings) /* Kernel symbol table: strings */ - - . = ALIGN(0x4) ; - __etext = . ; + RODATA #if defined(CONFIG_ROMKERNEL) - } > rom + SECURITY_INIT #endif -#if defined(CONFIG_RAMKERNEL) - } > ram + ROEND = .; +#if defined(CONFIG_ROMKERNEL) + . = RAMTOP; + .data : AT(ROEND) +#else + .data : #endif - .data : AT( ADDR(.text)+SIZEOF(.text)) { __sdata = . ; ___data_start = . ;
@@ -162,6 +127,8 @@ ___con_initcall_start = .; *(.con_initcall.init) ___con_initcall_end = .; + *(.exit.text) + *(.exit.data) . = ALIGN(4); ___initramfs_start = .; *(.init.ramfs)
@@ -169,13 +136,13 @@ . = ALIGN(0x4) ; ___init_end = .; __edata = . ; - } > ram + } +#if defined(CONFIG_RAMKERNEL) + SECURITY_INIT +#endif __begin_data = LOADADDR(.data) ; #if defined(CONFIG_ROMKERNEL) - .erom : - { - __erom = . ; - } > erom + __erom = LOADADDR(.data) + SIZEOF(.data) ; #endif .bss : {
@@ -188,15 +155,19 @@ __ebss = . ; __end = . ; __ramstart = .; - } > ram + } + /DISCARD/ : { + *(.exitcall.exit) + } + .romfs : { *(.romfs*) - } > ram + } + . = RAMTOP+RAMSIZE; .dummy : { COMMAND_START = . - 0x200 ; __ramend = . ; - } > eram + } } -
arch/h8300/platform/h8300h/aki3068net/ram.ld deleted +0 -11
@@ -1,11 +0,0 @@ -/* AE-3068 (aka. aki3068net) RAM */ - -OUTPUT_ARCH(h8300h) -ENTRY("__start") - -MEMORY - { - ram : ORIGIN = 0x400000, LENGTH = 0x600000-0x400000 - eram : ORIGIN = 0x600000, LENGTH = 0 - iram : ORIGIN = 0xffbf20, LENGTH = 0x4000 - }
arch/h8300/platform/h8300h/generic/ram.ld deleted +0 -11
@@ -1,11 +0,0 @@ -/* Generic RAM */ - -OUTPUT_ARCH(h8300h) -ENTRY("__start") - -MEMORY - { - ram : ORIGIN = 0x400000, LENGTH = 0x200000 - eram : ORIGIN = 0x600000, LENGTH = 0 - iram : ORIGIN = 0xffbf20, LENGTH = 0x4000 - }
arch/h8300/platform/h8300h/generic/rom.ld deleted +0 -12
@@ -1,12 +0,0 @@ -OUTPUT_ARCH(h8300h) -ENTRY("__start") - -MEMORY - { - vector : ORIGIN = 0x000000, LENGTH = 0x000100 - rom : ORIGIN = 0x000100, LENGTH = 0x200000-0x000100 - erom : ORIGIN = 0x200000, LENGTH = 0 - ram : ORIGIN = 0x200000, LENGTH = 0x400000 - eram : ORIGIN = 0x600000, LENGTH = 0 - } -
arch/h8300/platform/h8300h/h8max/ram.ld deleted +0 -11
@@ -1,11 +0,0 @@ -/* H8MAX RAM */ - -OUTPUT_ARCH(h8300h) -ENTRY("__start") - -MEMORY - { - ram : ORIGIN = 0x400000, LENGTH = 0x600000-0x400000 - eram : ORIGIN = 0x600000, LENGTH = 0 - iram : ORIGIN = 0xfffd20, LENGTH = 0x100 - }
arch/h8300/platform/h8s/edosk2674/crt0_rom.S +1 -1
@@ -181,7 +181,7 @@ .long __start .long __start vector = 2 - .rept 126-1 + .rept 126 .long _interrupt_redirect_table+vector*4 vector = vector + 1 .endr
arch/h8300/platform/h8s/edosk2674/ram.ld deleted +0 -10
@@ -1,10 +0,0 @@ -/* EDOSK-2674R RAM */ - -OUTPUT_ARCH(h8300s) -ENTRY("__start") - -MEMORY - { - ram : ORIGIN = 0x400000, LENGTH = 0xc00000-0x400000 - eram : ORIGIN = 0xc00000, LENGTH = 0 - }
arch/h8300/platform/h8s/edosk2674/rom.ld deleted +0 -11
@@ -1,11 +0,0 @@ -OUTPUT_ARCH(h8300s) -ENTRY("__start") - -MEMORY - { - vector : ORIGIN = 0x000000, LENGTH = 0x000200 - rom : ORIGIN = 0x000200, LENGTH = 0x100000-0x000200 - erom : ORIGIN = 0x100000, LENGTH = 0 - ram : ORIGIN = 0x400000, LENGTH = 0xc00000-0x400000 - eram : ORIGIN = 0xc00000, LENGTH = 0 - }
arch/h8300/platform/h8s/generic/ram.ld deleted +0 -8
@@ -1,8 +0,0 @@ -OUTPUT_ARCH(h8300s) -ENTRY("__start") - -MEMORY - { - ram : ORIGIN = 0x400000, LENGTH = 0x200000 - eram : ORIGIN = 0x600000, LENGTH = 0 - }
arch/h8300/platform/h8s/generic/rom.ld deleted +0 -11
@@ -1,11 +0,0 @@ -OUTPUT_ARCH(h8300s) -ENTRY("__start") - -MEMORY - { - vector : ORIGIN = 0x000000, LENGTH = 0x000200 - rom : ORIGIN = 0x000200, LENGTH = 0x200000-0x000200 - erom : ORIGIN = 0x200000, LENGTH = 0 - ram : ORIGIN = 0x200000, LENGTH = 0x400000 - eram : ORIGIN = 0x600000, LENGTH = 0 - }
Signature · 2 lines
Yoshinori Sato <[email protected]>