summaryrefslogtreecommitdiffstats
path: root/bsps/sh
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/sh')
-rw-r--r--bsps/sh/gensh1/start/linkcmds4
-rw-r--r--bsps/sh/gensh2/start/linkcmds4
-rw-r--r--bsps/sh/gensh2/start/linkcmds.ram5
-rw-r--r--bsps/sh/gensh2/start/linkcmds.rom4
-rw-r--r--bsps/sh/gensh4/start/linkcmds10
-rw-r--r--bsps/sh/gensh4/start/linkcmds.rom5
-rw-r--r--bsps/sh/gensh4/start/linkcmds.rom2ram5
-rw-r--r--bsps/sh/shsim/start/linkcmds4
8 files changed, 34 insertions, 7 deletions
diff --git a/bsps/sh/gensh1/start/linkcmds b/bsps/sh/gensh1/start/linkcmds
index d268d4cfc7..bb190f8c5a 100644
--- a/bsps/sh/gensh1/start/linkcmds
+++ b/bsps/sh/gensh1/start/linkcmds
@@ -188,6 +188,10 @@ SECTIONS
_WorkAreaBase = . ;
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > onchip_ram
+
_CPU_Interrupt_stack_low = 0x0f000000 ;
_CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ;
diff --git a/bsps/sh/gensh2/start/linkcmds b/bsps/sh/gensh2/start/linkcmds
index 2c4d44a941..e6db97e0c3 100644
--- a/bsps/sh/gensh2/start/linkcmds
+++ b/bsps/sh/gensh2/start/linkcmds
@@ -199,6 +199,10 @@ SECTIONS
_WorkAreaBase = . ;
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > onchip_ram
+
_CPU_Interrupt_stack_low = 0xFFFFF000;
_CPU_Interrupt_stack_high = 0xFFFFFFFF;
diff --git a/bsps/sh/gensh2/start/linkcmds.ram b/bsps/sh/gensh2/start/linkcmds.ram
index c5349398ff..8b53cd4f39 100644
--- a/bsps/sh/gensh2/start/linkcmds.ram
+++ b/bsps/sh/gensh2/start/linkcmds.ram
@@ -200,7 +200,10 @@ SECTIONS
PROVIDE (end = .);
_WorkAreaBase = . ;
- . = 0x00480000 ;
+
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > onchip_ram
_CPU_Interrupt_stack_low = 0xFFFFF000;
_CPU_Interrupt_stack_high = 0xFFFFFFFF;
diff --git a/bsps/sh/gensh2/start/linkcmds.rom b/bsps/sh/gensh2/start/linkcmds.rom
index 4934c10269..9f50cd7e64 100644
--- a/bsps/sh/gensh2/start/linkcmds.rom
+++ b/bsps/sh/gensh2/start/linkcmds.rom
@@ -206,6 +206,10 @@ SECTIONS
_WorkAreaBase = . ;
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > onchip_ram
+
_CPU_Interrupt_stack_low = 0xFFFFF000;
_CPU_Interrupt_stack_high = 0xFFFFFFFF;
diff --git a/bsps/sh/gensh4/start/linkcmds b/bsps/sh/gensh4/start/linkcmds
index de6bb05693..21e0fdc5c9 100644
--- a/bsps/sh/gensh4/start/linkcmds
+++ b/bsps/sh/gensh4/start/linkcmds
@@ -144,11 +144,14 @@ SECTIONS
__bss_end = .;
} > ram
- .stack . : {
+ .stack : {
. = . + 4096;
- }
+ } > ram
+
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > ram
- . = ALIGN(16);
_WorkAreaBase = . ;
. = ALIGN(16);
@@ -188,6 +191,5 @@ SECTIONS
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
- .stack : { _stack = .; *(.stack) }
/* These must appear regardless of . */
}
diff --git a/bsps/sh/gensh4/start/linkcmds.rom b/bsps/sh/gensh4/start/linkcmds.rom
index 13c6096af1..5e37f06941 100644
--- a/bsps/sh/gensh4/start/linkcmds.rom
+++ b/bsps/sh/gensh4/start/linkcmds.rom
@@ -187,7 +187,10 @@ SECTIONS
__bss_end = .;
} > ram
- . = ALIGN(16);
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > ram
+
_WorkAreaBase = . ;
. = ALIGN(16);
diff --git a/bsps/sh/gensh4/start/linkcmds.rom2ram b/bsps/sh/gensh4/start/linkcmds.rom2ram
index cc14d4e98d..2fff0d1f98 100644
--- a/bsps/sh/gensh4/start/linkcmds.rom2ram
+++ b/bsps/sh/gensh4/start/linkcmds.rom2ram
@@ -190,7 +190,10 @@ SECTIONS
*(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
} >ram
- . = ALIGN(16);
+
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > ram
_WorkAreaBase = . ;
diff --git a/bsps/sh/shsim/start/linkcmds b/bsps/sh/shsim/start/linkcmds
index 41c7245da0..932d94161f 100644
--- a/bsps/sh/shsim/start/linkcmds
+++ b/bsps/sh/shsim/start/linkcmds
@@ -209,6 +209,10 @@ SECTIONS
} > ram
_stack = .;
+ .rtemsstack (NOLOAD) : {
+ *(SORT(.rtemsstack.*))
+ } > ram
+
_WorkAreaBase = . ;
_CPU_Interrupt_stack_low = 0x00080000 ;