From 715d6167e07a46f5bc37f42993c209450484bbe8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 19 Jun 2018 15:10:36 +0200 Subject: bsps: Support .rtemsstack.* linker input sections Use a dedicated memory region or place it between the BSS and workspace. Update #3459. --- bsps/sh/gensh1/start/linkcmds | 4 ++++ bsps/sh/gensh2/start/linkcmds | 4 ++++ bsps/sh/gensh2/start/linkcmds.ram | 5 ++++- bsps/sh/gensh2/start/linkcmds.rom | 4 ++++ bsps/sh/gensh4/start/linkcmds | 10 ++++++---- bsps/sh/gensh4/start/linkcmds.rom | 5 ++++- bsps/sh/gensh4/start/linkcmds.rom2ram | 5 ++++- bsps/sh/shsim/start/linkcmds | 4 ++++ 8 files changed, 34 insertions(+), 7 deletions(-) (limited to 'bsps/sh') 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 ; -- cgit v1.2.3