From: Yoshinori Sato <ysato@users.sourceforge.jp>
To: Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] H8/300 vmlinux.lds update
Date: Wed, 10 Nov 2004 13:55:20 +0900 [thread overview]
Message-ID: <m2zn1qpakn.wl%ysato@users.sourceforge.jp> (raw)
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
diff -Nru a/arch/h8300/kernel/vmlinux.lds.S b/arch/h8300/kernel/vmlinux.lds.S
--- a/arch/h8300/kernel/vmlinux.lds.S 2004-11-10 13:42:15 +09:00
+++ b/arch/h8300/kernel/vmlinux.lds.S 2004-11-10 13:42:15 +09:00
@@ -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
+ }
}
-
diff -Nru a/arch/h8300/platform/h8300h/aki3068net/ram.ld b/arch/h8300/platform/h8300h/aki3068net/ram.ld
--- a/arch/h8300/platform/h8300h/aki3068net/ram.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -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
- }
diff -Nru a/arch/h8300/platform/h8300h/generic/ram.ld b/arch/h8300/platform/h8300h/generic/ram.ld
--- a/arch/h8300/platform/h8300h/generic/ram.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -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
- }
diff -Nru a/arch/h8300/platform/h8300h/generic/rom.ld b/arch/h8300/platform/h8300h/generic/rom.ld
--- a/arch/h8300/platform/h8300h/generic/rom.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -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
- }
-
diff -Nru a/arch/h8300/platform/h8300h/h8max/ram.ld b/arch/h8300/platform/h8300h/h8max/ram.ld
--- a/arch/h8300/platform/h8300h/h8max/ram.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -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
- }
diff -Nru a/arch/h8300/platform/h8s/edosk2674/crt0_rom.S b/arch/h8300/platform/h8s/edosk2674/crt0_rom.S
--- a/arch/h8300/platform/h8s/edosk2674/crt0_rom.S 2004-11-10 13:42:15 +09:00
+++ b/arch/h8300/platform/h8s/edosk2674/crt0_rom.S 2004-11-10 13:42:15 +09:00
@@ -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
diff -Nru a/arch/h8300/platform/h8s/edosk2674/ram.ld b/arch/h8300/platform/h8s/edosk2674/ram.ld
--- a/arch/h8300/platform/h8s/edosk2674/ram.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,10 +0,0 @@
-/* EDOSK-2674R RAM */
-
-OUTPUT_ARCH(h8300s)
-ENTRY("__start")
-
-MEMORY
- {
- ram : ORIGIN = 0x400000, LENGTH = 0xc00000-0x400000
- eram : ORIGIN = 0xc00000, LENGTH = 0
- }
diff -Nru a/arch/h8300/platform/h8s/edosk2674/rom.ld b/arch/h8300/platform/h8s/edosk2674/rom.ld
--- a/arch/h8300/platform/h8s/edosk2674/rom.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -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
- }
diff -Nru a/arch/h8300/platform/h8s/generic/ram.ld b/arch/h8300/platform/h8s/generic/ram.ld
--- a/arch/h8300/platform/h8s/generic/ram.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -1,8 +0,0 @@
-OUTPUT_ARCH(h8300s)
-ENTRY("__start")
-
-MEMORY
- {
- ram : ORIGIN = 0x400000, LENGTH = 0x200000
- eram : ORIGIN = 0x600000, LENGTH = 0
- }
diff -Nru a/arch/h8300/platform/h8s/generic/rom.ld b/arch/h8300/platform/h8s/generic/rom.ld
--- a/arch/h8300/platform/h8s/generic/rom.ld 2004-11-10 13:42:15 +09:00
+++ /dev/null Wed Dec 31 16:00:00 196900
@@ -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
- }
--
Yoshinori Sato
<ysato@users.sourceforge.jp>
reply other threads:[~2004-11-10 4:58 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2zn1qpakn.wl%ysato@users.sourceforge.jp \
--to=ysato@users.sourceforge.jp \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.