mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] H8/300 vmlinux.lds update
@ 2004-11-10  4:55 Yoshinori Sato
  0 siblings, 0 replies; only message in thread
From: Yoshinori Sato @ 2004-11-10  4:55 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel

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>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-11-10  4:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-10  4:55 [PATCH] H8/300 vmlinux.lds update Yoshinori Sato

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome