[rtems commit] bsps: Support RTEMS_NOINIT in linkcmds
Sebastian Huber
sebh at rtems.org
Sun May 2 18:41:00 UTC 2021
Module: rtems
Branch: master
Commit: e10dec0fe72c19320d2c93b905457a5327ec1235
Changeset: http://git.rtems.org/rtems/commit/?id=e10dec0fe72c19320d2c93b905457a5327ec1235
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Fri Apr 30 15:47:10 2021 +0200
bsps: Support RTEMS_NOINIT in linkcmds
Update #3866.
---
bsps/arm/include/bsp/arm-cp15-start.h | 6 +++++-
bsps/arm/include/bsp/linker-symbols.h | 4 ++++
bsps/arm/shared/start/linkcmds.base | 7 +++++++
bsps/bfin/TLL6527M/start/linkcmds | 4 ++++
bsps/bfin/bf537Stamp/start/linkcmds | 4 ++++
bsps/bfin/eZKit533/start/linkcmds | 4 ++++
bsps/i386/pc386/start/linkcmds | 3 +++
bsps/lm32/lm32_evr/start/linkcmds | 4 ++++
bsps/lm32/milkymist/start/linkcmds | 4 ++++
bsps/m68k/av5282/start/linkcmds | 4 ++++
bsps/m68k/av5282/start/linkcmdsflash | 4 ++++
bsps/m68k/av5282/start/linkcmdsram | 4 ++++
bsps/m68k/csb360/start/linkcmds | 4 ++++
bsps/m68k/gen68340/start/linkcmds | 4 ++++
bsps/m68k/gen68360/start/linkcmds | 4 ++++
bsps/m68k/gen68360/start/linkcmds.bootp | 4 ++++
bsps/m68k/gen68360/start/linkcmds.prom | 4 ++++
bsps/m68k/mcf5206elite/start/linkcmds | 4 ++++
bsps/m68k/mcf5206elite/start/linkcmds.flash | 4 ++++
bsps/m68k/mcf52235/start/linkcmds | 4 ++++
bsps/m68k/mcf5225x/start/linkcmds | 4 ++++
bsps/m68k/mcf5235/start/linkcmds | 4 ++++
bsps/m68k/mcf5235/start/linkcmdsflash | 4 ++++
bsps/m68k/mcf5235/start/linkcmdsram | 4 ++++
bsps/m68k/mcf5329/start/linkcmds | 4 ++++
bsps/m68k/mcf5329/start/linkcmdsflash | 4 ++++
bsps/m68k/mrm332/start/linkcmds | 3 +++
bsps/m68k/shared/start/linkcmds.base | 7 +++++++
bsps/m68k/uC5282/start/linkcmds | 4 ++++
bsps/mips/csb350/start/linkcmds | 4 ++++
bsps/mips/hurricane/start/linkcmds | 4 ++++
bsps/mips/jmr3904/start/linkcmds | 4 ++++
bsps/mips/malta/start/linkcmds | 4 ++++
bsps/mips/rbtx4925/start/linkcmds | 4 ++++
bsps/mips/rbtx4938/start/linkcmds | 4 ++++
bsps/moxie/moxiesim/start/linkcmds | 3 +++
bsps/nios2/nios2_iss/start/linkcmds | 4 ++++
bsps/or1k/shared/start/linkcmds.base | 7 +++++++
bsps/powerpc/gen5200/start/linkcmds.gen5200_base | 4 ++++
bsps/powerpc/haleakala/start/linkcmds | 4 ++++
bsps/powerpc/include/bsp/linker-symbols.h | 4 ++++
bsps/powerpc/mpc8260ads/start/linkcmds | 4 ++++
bsps/powerpc/qoriq/start/mmu-config.c | 1 +
bsps/powerpc/shared/start/linkcmds.base | 7 +++++++
bsps/powerpc/shared/start/linkcmds.share | 3 +++
bsps/powerpc/ss555/start/linkcmds | 4 ++++
bsps/powerpc/virtex4/start/linkcmds | 4 ++++
bsps/powerpc/virtex5/start/linkcmds | 4 ++++
bsps/riscv/include/bsp/linker-symbols.h | 4 ++++
bsps/riscv/shared/start/linkcmds.base.in | 7 +++++++
bsps/sh/gensh1/start/linkcmds | 4 ++++
bsps/sh/gensh2/start/linkcmds | 4 ++++
bsps/sh/gensh2/start/linkcmds.ram | 4 ++++
bsps/sh/gensh2/start/linkcmds.rom | 4 ++++
bsps/sh/gensh4/start/linkcmds | 4 ++++
bsps/sh/gensh4/start/linkcmds.rom | 4 ++++
bsps/sh/gensh4/start/linkcmds.rom2ram | 4 ++++
bsps/sh/shsim/start/linkcmds | 4 ++++
bsps/sparc/shared/start/linkcmds.base | 3 +++
bsps/sparc64/shared/start/linkcmds | 4 ++++
bsps/v850/gdbv850sim/start/linkcmds | 3 +++
bsps/x86_64/amd64/start/linkcmds | 5 +++++
62 files changed, 256 insertions(+), 1 deletion(-)
diff --git a/bsps/arm/include/bsp/arm-cp15-start.h b/bsps/arm/include/bsp/arm-cp15-start.h
index 75cbdac..2e32a1b 100644
--- a/bsps/arm/include/bsp/arm-cp15-start.h
+++ b/bsps/arm/include/bsp/arm-cp15-start.h
@@ -78,6 +78,10 @@ typedef struct {
.end = (uint32_t) bsp_section_rtemsstack_end, \
.flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
}, { \
+ .begin = (uint32_t) bsp_section_noinit_begin, \
+ .end = (uint32_t) bsp_section_noinit_end, \
+ .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
+ }, { \
.begin = (uint32_t) bsp_section_work_begin, \
.end = (uint32_t) bsp_section_work_end, \
.flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
@@ -99,7 +103,7 @@ typedef struct {
.flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
}
-#define ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX 9
+#define ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX 10
BSP_START_DATA_SECTION extern const arm_cp15_start_section_config
arm_cp15_start_mmu_config_table[];
diff --git a/bsps/arm/include/bsp/linker-symbols.h b/bsps/arm/include/bsp/linker-symbols.h
index 635ba5e..38a849a 100644
--- a/bsps/arm/include/bsp/linker-symbols.h
+++ b/bsps/arm/include/bsp/linker-symbols.h
@@ -96,6 +96,10 @@ LINKER_SYMBOL(bsp_section_rtemsstack_begin)
LINKER_SYMBOL(bsp_section_rtemsstack_end)
LINKER_SYMBOL(bsp_section_rtemsstack_size)
+LINKER_SYMBOL(bsp_section_noinit_begin)
+LINKER_SYMBOL(bsp_section_noinit_end)
+LINKER_SYMBOL(bsp_section_noinit_size)
+
LINKER_SYMBOL(bsp_section_work_begin)
LINKER_SYMBOL(bsp_section_work_end)
LINKER_SYMBOL(bsp_section_work_size)
diff --git a/bsps/arm/shared/start/linkcmds.base b/bsps/arm/shared/start/linkcmds.base
index a56e23f..1b88255 100644
--- a/bsps/arm/shared/start/linkcmds.base
+++ b/bsps/arm/shared/start/linkcmds.base
@@ -338,6 +338,13 @@ SECTIONS {
} > REGION_WORK AT > REGION_WORK
bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
+ .noinit (NOLOAD) : ALIGN_WITH_INPUT {
+ bsp_section_noinit_begin = .;
+ *(.noinit*)
+ bsp_section_noinit_end = .;
+ } > REGION_WORK AT > REGION_WORK
+ bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
+
.work : ALIGN_WITH_INPUT {
/*
* The work section will occupy the remaining REGION_WORK region and
diff --git a/bsps/bfin/TLL6527M/start/linkcmds b/bsps/bfin/TLL6527M/start/linkcmds
index 0afd7fc..315f1b7 100644
--- a/bsps/bfin/TLL6527M/start/linkcmds
+++ b/bsps/bfin/TLL6527M/start/linkcmds
@@ -128,6 +128,10 @@ SECTIONS
__end = .;
} > sdram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > sdram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
_WorkAreaBase = .;
diff --git a/bsps/bfin/bf537Stamp/start/linkcmds b/bsps/bfin/bf537Stamp/start/linkcmds
index 5d2635d..c6bbcf4 100644
--- a/bsps/bfin/bf537Stamp/start/linkcmds
+++ b/bsps/bfin/bf537Stamp/start/linkcmds
@@ -136,6 +136,10 @@ SECTIONS
__end = .;
} > sdram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > sdram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
_WorkAreaBase = .;
diff --git a/bsps/bfin/eZKit533/start/linkcmds b/bsps/bfin/eZKit533/start/linkcmds
index bd2f4d7..6f338b0 100644
--- a/bsps/bfin/eZKit533/start/linkcmds
+++ b/bsps/bfin/eZKit533/start/linkcmds
@@ -125,6 +125,10 @@ SECTIONS
__end = .;
} > sdram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > sdram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
_WorkAreaBase = .;
diff --git a/bsps/i386/pc386/start/linkcmds b/bsps/i386/pc386/start/linkcmds
index 01ec1e9..46a7af4 100644
--- a/bsps/i386/pc386/start/linkcmds
+++ b/bsps/i386/pc386/start/linkcmds
@@ -205,6 +205,9 @@ SECTIONS
}
. = ALIGN(32 / 8);
_end = .; PROVIDE (end = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
}
diff --git a/bsps/lm32/lm32_evr/start/linkcmds b/bsps/lm32/lm32_evr/start/linkcmds
index a4b204d..dd429a7 100644
--- a/bsps/lm32/lm32_evr/start/linkcmds
+++ b/bsps/lm32/lm32_evr/start/linkcmds
@@ -253,6 +253,10 @@ SECTIONS
} > sdram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > sdram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/lm32/milkymist/start/linkcmds b/bsps/lm32/milkymist/start/linkcmds
index c5ca175..021814a 100644
--- a/bsps/lm32/milkymist/start/linkcmds
+++ b/bsps/lm32/milkymist/start/linkcmds
@@ -251,6 +251,10 @@ SECTIONS
_clear_end = .;
} > sdram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > sdram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/av5282/start/linkcmds b/bsps/m68k/av5282/start/linkcmds
index 4ffee0f..0c0b3df 100644
--- a/bsps/m68k/av5282/start/linkcmds
+++ b/bsps/m68k/av5282/start/linkcmds
@@ -183,6 +183,10 @@ SECTIONS
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/av5282/start/linkcmdsflash b/bsps/m68k/av5282/start/linkcmdsflash
index 1307d84..83d761b 100644
--- a/bsps/m68k/av5282/start/linkcmdsflash
+++ b/bsps/m68k/av5282/start/linkcmdsflash
@@ -183,6 +183,10 @@ SECTIONS
_clear_end = .;
}
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/av5282/start/linkcmdsram b/bsps/m68k/av5282/start/linkcmdsram
index 7ec8edb..354a26c 100644
--- a/bsps/m68k/av5282/start/linkcmdsram
+++ b/bsps/m68k/av5282/start/linkcmdsram
@@ -182,6 +182,10 @@ SECTIONS
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/csb360/start/linkcmds b/bsps/m68k/csb360/start/linkcmds
index f7b2a98..430f122 100644
--- a/bsps/m68k/csb360/start/linkcmds
+++ b/bsps/m68k/csb360/start/linkcmds
@@ -158,6 +158,10 @@ SECTIONS
clear_end = .;
} > ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/gen68340/start/linkcmds b/bsps/m68k/gen68340/start/linkcmds
index 83a033a..a480084 100644
--- a/bsps/m68k/gen68340/start/linkcmds
+++ b/bsps/m68k/gen68340/start/linkcmds
@@ -189,6 +189,10 @@ SECTIONS {
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/gen68360/start/linkcmds b/bsps/m68k/gen68360/start/linkcmds
index 0bbb394..0bf9efa 100644
--- a/bsps/m68k/gen68360/start/linkcmds
+++ b/bsps/m68k/gen68360/start/linkcmds
@@ -153,6 +153,10 @@ SECTIONS {
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/gen68360/start/linkcmds.bootp b/bsps/m68k/gen68360/start/linkcmds.bootp
index 2c1814a..422396f 100644
--- a/bsps/m68k/gen68360/start/linkcmds.bootp
+++ b/bsps/m68k/gen68360/start/linkcmds.bootp
@@ -155,6 +155,10 @@ SECTIONS {
_clear_end = .;
} >myram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >mvram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/gen68360/start/linkcmds.prom b/bsps/m68k/gen68360/start/linkcmds.prom
index 64aad46..da8acdf 100644
--- a/bsps/m68k/gen68360/start/linkcmds.prom
+++ b/bsps/m68k/gen68360/start/linkcmds.prom
@@ -153,6 +153,10 @@ SECTIONS {
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/mcf5206elite/start/linkcmds b/bsps/m68k/mcf5206elite/start/linkcmds
index ebabe5f..89325cd 100644
--- a/bsps/m68k/mcf5206elite/start/linkcmds
+++ b/bsps/m68k/mcf5206elite/start/linkcmds
@@ -191,6 +191,10 @@ SECTIONS
clear_end = .;
} > ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/mcf5206elite/start/linkcmds.flash b/bsps/m68k/mcf5206elite/start/linkcmds.flash
index e467ecb..cf1e5ed 100644
--- a/bsps/m68k/mcf5206elite/start/linkcmds.flash
+++ b/bsps/m68k/mcf5206elite/start/linkcmds.flash
@@ -190,6 +190,10 @@ SECTIONS
clear_end = .;
} > ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/mcf52235/start/linkcmds b/bsps/m68k/mcf52235/start/linkcmds
index a5c69b2..e20d303 100644
--- a/bsps/m68k/mcf52235/start/linkcmds
+++ b/bsps/m68k/mcf52235/start/linkcmds
@@ -171,6 +171,10 @@ SECTIONS
PROVIDE (_clear_end = .);
} >sram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >sram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
PROVIDE(WorkAreaBase = .);
diff --git a/bsps/m68k/mcf5225x/start/linkcmds b/bsps/m68k/mcf5225x/start/linkcmds
index 0cd4555..ae9800d 100644
--- a/bsps/m68k/mcf5225x/start/linkcmds
+++ b/bsps/m68k/mcf5225x/start/linkcmds
@@ -171,6 +171,10 @@ SECTIONS
PROVIDE (_clear_end = .);
} >sram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >sram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
PROVIDE(WorkAreaBase = .);
diff --git a/bsps/m68k/mcf5235/start/linkcmds b/bsps/m68k/mcf5235/start/linkcmds
index a1ecc35..fe2ebd2 100644
--- a/bsps/m68k/mcf5235/start/linkcmds
+++ b/bsps/m68k/mcf5235/start/linkcmds
@@ -190,6 +190,10 @@ SECTIONS
_clear_end = .;
} > dram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > dram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/mcf5235/start/linkcmdsflash b/bsps/m68k/mcf5235/start/linkcmdsflash
index c644b34..2c25105 100644
--- a/bsps/m68k/mcf5235/start/linkcmdsflash
+++ b/bsps/m68k/mcf5235/start/linkcmdsflash
@@ -195,6 +195,10 @@ SECTIONS
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/mcf5235/start/linkcmdsram b/bsps/m68k/mcf5235/start/linkcmdsram
index ae15b92..25e0f9b 100644
--- a/bsps/m68k/mcf5235/start/linkcmdsram
+++ b/bsps/m68k/mcf5235/start/linkcmdsram
@@ -190,6 +190,10 @@ SECTIONS
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/mcf5329/start/linkcmds b/bsps/m68k/mcf5329/start/linkcmds
index 54fa5b3..8b017c0 100644
--- a/bsps/m68k/mcf5329/start/linkcmds
+++ b/bsps/m68k/mcf5329/start/linkcmds
@@ -179,6 +179,10 @@ SECTIONS
. = ALIGN (16);
PROVIDE (_end = .);
_clear_end = .;
+ } > dram
+
+ .noinit (NOLOAD) : {
+ *(.noinit*)
WorkAreaBase = .;
} > dram
diff --git a/bsps/m68k/mcf5329/start/linkcmdsflash b/bsps/m68k/mcf5329/start/linkcmdsflash
index 99e04d3..aacaca7 100644
--- a/bsps/m68k/mcf5329/start/linkcmdsflash
+++ b/bsps/m68k/mcf5329/start/linkcmdsflash
@@ -175,6 +175,10 @@ SECTIONS
. = ALIGN (16);
PROVIDE (_end = .);
_clear_end = .;
+ } > dram
+
+ .noinit (NOLOAD) : {
+ *(.noinit*)
WorkAreaBase = .;
} > dram
diff --git a/bsps/m68k/mrm332/start/linkcmds b/bsps/m68k/mrm332/start/linkcmds
index 1ce4416..7c31b92 100644
--- a/bsps/m68k/mrm332/start/linkcmds
+++ b/bsps/m68k/mrm332/start/linkcmds
@@ -194,6 +194,9 @@ SECTIONS
PROVIDE (end = .);
_clear_end = .;
} > ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/m68k/shared/start/linkcmds.base b/bsps/m68k/shared/start/linkcmds.base
index 1daf2e1..92c4a5d 100644
--- a/bsps/m68k/shared/start/linkcmds.base
+++ b/bsps/m68k/shared/start/linkcmds.base
@@ -249,6 +249,13 @@ SECTIONS {
} > REGION_DATA AT > REGION_DATA
bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
+ .noinit (NOLOAD) : ALIGN_WITH_INPUT {
+ bsp_section_noinit_begin = .;
+ *(.noinit*)
+ bsp_section_noinit_end = .;
+ } > REGION_DATA AT > REGION_DATA
+ bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
+
.rtemsstack (NOLOAD) : ALIGN_WITH_INPUT {
*(SORT(.rtemsstack.*))
} > REGION_DATA AT > REGION_DATA
diff --git a/bsps/m68k/uC5282/start/linkcmds b/bsps/m68k/uC5282/start/linkcmds
index da97472..6ac9de9 100644
--- a/bsps/m68k/uC5282/start/linkcmds
+++ b/bsps/m68k/uC5282/start/linkcmds
@@ -199,6 +199,10 @@ SECTIONS
_clear_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/mips/csb350/start/linkcmds b/bsps/mips/csb350/start/linkcmds
index 874cc52..56748b4 100644
--- a/bsps/mips/csb350/start/linkcmds
+++ b/bsps/mips/csb350/start/linkcmds
@@ -192,6 +192,10 @@ SECTIONS
_end = .;
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/mips/hurricane/start/linkcmds b/bsps/mips/hurricane/start/linkcmds
index 0a7d9de..383c3f2 100644
--- a/bsps/mips/hurricane/start/linkcmds
+++ b/bsps/mips/hurricane/start/linkcmds
@@ -170,6 +170,10 @@ SECTIONS
_end = .;
}
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/mips/jmr3904/start/linkcmds b/bsps/mips/jmr3904/start/linkcmds
index f81dd1b..2ded55b 100644
--- a/bsps/mips/jmr3904/start/linkcmds
+++ b/bsps/mips/jmr3904/start/linkcmds
@@ -167,6 +167,10 @@ SECTIONS
_clear_end = .;
}
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/mips/malta/start/linkcmds b/bsps/mips/malta/start/linkcmds
index 8002c17..233082e 100644
--- a/bsps/mips/malta/start/linkcmds
+++ b/bsps/mips/malta/start/linkcmds
@@ -168,6 +168,10 @@ SECTIONS
_clear_end = .;
}
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/mips/rbtx4925/start/linkcmds b/bsps/mips/rbtx4925/start/linkcmds
index e78fcb5..2fa62a4 100644
--- a/bsps/mips/rbtx4925/start/linkcmds
+++ b/bsps/mips/rbtx4925/start/linkcmds
@@ -170,6 +170,10 @@ SECTIONS
_end = .;
}
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/mips/rbtx4938/start/linkcmds b/bsps/mips/rbtx4938/start/linkcmds
index fae3885..f298db0 100644
--- a/bsps/mips/rbtx4938/start/linkcmds
+++ b/bsps/mips/rbtx4938/start/linkcmds
@@ -170,6 +170,10 @@ SECTIONS
_end = .;
}
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
WorkAreaBase = .;
diff --git a/bsps/moxie/moxiesim/start/linkcmds b/bsps/moxie/moxiesim/start/linkcmds
index eaf9d8d..e49aece 100644
--- a/bsps/moxie/moxiesim/start/linkcmds
+++ b/bsps/moxie/moxiesim/start/linkcmds
@@ -230,6 +230,9 @@ SECTIONS
_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
PROVIDE (end = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
}
diff --git a/bsps/nios2/nios2_iss/start/linkcmds b/bsps/nios2/nios2_iss/start/linkcmds
index ea037ff..0aed732 100644
--- a/bsps/nios2/nios2_iss/start/linkcmds
+++ b/bsps/nios2/nios2_iss/start/linkcmds
@@ -267,6 +267,10 @@ SECTIONS
__bss_end = ABSOLUTE(.);
} > onchip_memory_0
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > onchip_memory_0
+
.rtemsstack (NOLOAD) : {
_stack_low = ABSOLUTE(.);
*(SORT(.rtemsstack.*))
diff --git a/bsps/or1k/shared/start/linkcmds.base b/bsps/or1k/shared/start/linkcmds.base
index 0d92f64..c276e13 100644
--- a/bsps/or1k/shared/start/linkcmds.base
+++ b/bsps/or1k/shared/start/linkcmds.base
@@ -285,6 +285,13 @@ SECTIONS {
} > REGION_BSS AT > REGION_BSS
bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
+ .noinit (NOLOAD) : ALIGN_WITH_INPUT {
+ bsp_section_noinit_begin = .;
+ *(.noinit*)
+ bsp_section_noinit_end = .;
+ } > REGION_BSS AT > REGION_BSS
+ bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
+
.rtemsstack (NOLOAD) : ALIGN_WITH_INPUT{
*(SORT(.rtemsstack.*))
} > REGION_WORK AT > REGION_WORK
diff --git a/bsps/powerpc/gen5200/start/linkcmds.gen5200_base b/bsps/powerpc/gen5200/start/linkcmds.gen5200_base
index b52943b..bfa3893 100644
--- a/bsps/powerpc/gen5200/start/linkcmds.gen5200_base
+++ b/bsps/powerpc/gen5200/start/linkcmds.gen5200_base
@@ -295,6 +295,10 @@ SECTIONS {
bsp_section_data_size = bsp_section_data_end - bsp_section_data_start;
bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_start;
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > RAM
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} > RAM
diff --git a/bsps/powerpc/haleakala/start/linkcmds b/bsps/powerpc/haleakala/start/linkcmds
index 7a5236d..dc5a198 100644
--- a/bsps/powerpc/haleakala/start/linkcmds
+++ b/bsps/powerpc/haleakala/start/linkcmds
@@ -250,6 +250,10 @@ SECTIONS
bss.size = bss.end - bss.start;
sbss.size = sbss.end - sbss.start;
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >RAM
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} >RAM
diff --git a/bsps/powerpc/include/bsp/linker-symbols.h b/bsps/powerpc/include/bsp/linker-symbols.h
index bd60566..75783dc 100644
--- a/bsps/powerpc/include/bsp/linker-symbols.h
+++ b/bsps/powerpc/include/bsp/linker-symbols.h
@@ -93,6 +93,10 @@ LINKER_SYMBOL(bsp_section_rtemsstack_begin)
LINKER_SYMBOL(bsp_section_rtemsstack_end)
LINKER_SYMBOL(bsp_section_rtemsstack_size)
+LINKER_SYMBOL(bsp_section_noinit_begin)
+LINKER_SYMBOL(bsp_section_noinit_end)
+LINKER_SYMBOL(bsp_section_noinit_size)
+
LINKER_SYMBOL(bsp_section_work_begin)
LINKER_SYMBOL(bsp_section_work_end)
LINKER_SYMBOL(bsp_section_work_size)
diff --git a/bsps/powerpc/mpc8260ads/start/linkcmds b/bsps/powerpc/mpc8260ads/start/linkcmds
index a6b455c..024fc34 100644
--- a/bsps/powerpc/mpc8260ads/start/linkcmds
+++ b/bsps/powerpc/mpc8260ads/start/linkcmds
@@ -289,6 +289,10 @@ SECTIONS
clear_end = .;
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} >ram
diff --git a/bsps/powerpc/qoriq/start/mmu-config.c b/bsps/powerpc/qoriq/start/mmu-config.c
index 296b071..0f9eb0c 100644
--- a/bsps/powerpc/qoriq/start/mmu-config.c
+++ b/bsps/powerpc/qoriq/start/mmu-config.c
@@ -133,6 +133,7 @@ static entry DATA config[] = {
ENTRY_RW(bsp_section_sbss_begin, bsp_section_sbss_size),
ENTRY_RW(bsp_section_bss_begin, bsp_section_bss_size),
ENTRY_RW(bsp_section_rtemsstack_begin, bsp_section_rtemsstack_size),
+ ENTRY_RW(bsp_section_noinit_begin, bsp_section_noinit_size),
ENTRY_RW(bsp_section_stack_begin, bsp_section_stack_size),
ENTRY_IO(bsp_section_nocache_begin, bsp_section_nocache_size),
ENTRY_IO(bsp_section_nocachenoload_begin, bsp_section_nocachenoload_size),
diff --git a/bsps/powerpc/shared/start/linkcmds.base b/bsps/powerpc/shared/start/linkcmds.base
index de80874..521d69a 100644
--- a/bsps/powerpc/shared/start/linkcmds.base
+++ b/bsps/powerpc/shared/start/linkcmds.base
@@ -343,6 +343,13 @@ SECTIONS {
} > REGION_RTEMSSTACK AT > REGION_RTEMSSTACK
bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
+ .noinit (NOLOAD) : ALIGN_WITH_INPUT {
+ bsp_section_noinit_begin = .;
+ *(.noinit*)
+ bsp_section_noinit_end = .;
+ } > REGION_WORK AT > REGION_WORK
+ bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
+
.work : ALIGN_WITH_INPUT {
/*
* The work section will occupy the remaining REGION_WORK region and
diff --git a/bsps/powerpc/shared/start/linkcmds.share b/bsps/powerpc/shared/start/linkcmds.share
index deefbe2..86b02cb 100644
--- a/bsps/powerpc/shared/start/linkcmds.share
+++ b/bsps/powerpc/shared/start/linkcmds.share
@@ -253,6 +253,9 @@ SECTIONS
. = ALIGN(16);
PROVIDE (__bss_end = .);
} > CODE
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > CODE
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} >CODE
diff --git a/bsps/powerpc/ss555/start/linkcmds b/bsps/powerpc/ss555/start/linkcmds
index 3cf9f91..18e8d34 100644
--- a/bsps/powerpc/ss555/start/linkcmds
+++ b/bsps/powerpc/ss555/start/linkcmds
@@ -233,6 +233,10 @@ SECTIONS
PROVIDE(_end = bss.end);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
}
diff --git a/bsps/powerpc/virtex4/start/linkcmds b/bsps/powerpc/virtex4/start/linkcmds
index cb867da..ff61396 100644
--- a/bsps/powerpc/virtex4/start/linkcmds
+++ b/bsps/powerpc/virtex4/start/linkcmds
@@ -252,6 +252,10 @@ SECTIONS
. = ALIGN(0x10); /* Align to a cache-line boundary */
PROVIDE(__bsp_ram_start = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >RAM
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} >RAM
diff --git a/bsps/powerpc/virtex5/start/linkcmds b/bsps/powerpc/virtex5/start/linkcmds
index 7443de4..ca81d57 100644
--- a/bsps/powerpc/virtex5/start/linkcmds
+++ b/bsps/powerpc/virtex5/start/linkcmds
@@ -252,6 +252,10 @@ SECTIONS
. = ALIGN(0x20); /* Align to a cache-line boundary */
PROVIDE(__bsp_ram_start = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >RAM
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} >RAM
diff --git a/bsps/riscv/include/bsp/linker-symbols.h b/bsps/riscv/include/bsp/linker-symbols.h
index f9deda0..87a3a9c 100644
--- a/bsps/riscv/include/bsp/linker-symbols.h
+++ b/bsps/riscv/include/bsp/linker-symbols.h
@@ -63,6 +63,10 @@ LINKER_SYMBOL(bsp_section_rtemsstack_begin)
LINKER_SYMBOL(bsp_section_rtemsstack_end)
LINKER_SYMBOL(bsp_section_rtemsstack_size)
+LINKER_SYMBOL(bsp_section_noinit_begin)
+LINKER_SYMBOL(bsp_section_noinit_end)
+LINKER_SYMBOL(bsp_section_noinit_size)
+
LINKER_SYMBOL(bsp_section_work_begin)
LINKER_SYMBOL(bsp_section_work_end)
LINKER_SYMBOL(bsp_section_work_size)
diff --git a/bsps/riscv/shared/start/linkcmds.base.in b/bsps/riscv/shared/start/linkcmds.base.in
index f114bb8..5f4294d 100644
--- a/bsps/riscv/shared/start/linkcmds.base.in
+++ b/bsps/riscv/shared/start/linkcmds.base.in
@@ -314,6 +314,13 @@ SECTIONS {
} > REGION_RTEMSSTACK AT > REGION_RTEMSSTACK
bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
+ .noinit (NOLOAD) : @RISCV_LINKER_ALIGN_DIRECTIVE@ {
+ bsp_section_noinit_begin = .;
+ *(.noinit*)
+ bsp_section_noinit_end = .;
+ } > REGION_WORK AT > REGION_WORK
+ bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
+
.work (NOLOAD) : @RISCV_LINKER_ALIGN_DIRECTIVE@ {
/*
* The work section will occupy the remaining REGION_WORK region and
diff --git a/bsps/sh/gensh1/start/linkcmds b/bsps/sh/gensh1/start/linkcmds
index dc734de..fc06126 100644
--- a/bsps/sh/gensh1/start/linkcmds
+++ b/bsps/sh/gensh1/start/linkcmds
@@ -187,6 +187,10 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstackidle (NOLOAD) : {
*(SORT(.rtemsstack.idle*))
} > ram
diff --git a/bsps/sh/gensh2/start/linkcmds b/bsps/sh/gensh2/start/linkcmds
index 5fd04db..bdc71bb 100644
--- a/bsps/sh/gensh2/start/linkcmds
+++ b/bsps/sh/gensh2/start/linkcmds
@@ -198,6 +198,10 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstackidle (NOLOAD) : {
*(SORT(.rtemsstack.idle*))
} > ram
diff --git a/bsps/sh/gensh2/start/linkcmds.ram b/bsps/sh/gensh2/start/linkcmds.ram
index 4db55f0..ccf752a 100644
--- a/bsps/sh/gensh2/start/linkcmds.ram
+++ b/bsps/sh/gensh2/start/linkcmds.ram
@@ -200,6 +200,10 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstackidle (NOLOAD) : {
*(SORT(.rtemsstack.idle*))
} > ram
diff --git a/bsps/sh/gensh2/start/linkcmds.rom b/bsps/sh/gensh2/start/linkcmds.rom
index eb71324..6b2a760 100644
--- a/bsps/sh/gensh2/start/linkcmds.rom
+++ b/bsps/sh/gensh2/start/linkcmds.rom
@@ -201,6 +201,10 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstackidle (NOLOAD) : {
*(SORT(.rtemsstack.idle*))
} > ram
diff --git a/bsps/sh/gensh4/start/linkcmds b/bsps/sh/gensh4/start/linkcmds
index 1fb69c9..b940aad 100644
--- a/bsps/sh/gensh4/start/linkcmds
+++ b/bsps/sh/gensh4/start/linkcmds
@@ -145,6 +145,10 @@ SECTIONS
__bss_end = .;
} > ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} > ram
diff --git a/bsps/sh/gensh4/start/linkcmds.rom b/bsps/sh/gensh4/start/linkcmds.rom
index 3c70e4c..704b624 100644
--- a/bsps/sh/gensh4/start/linkcmds.rom
+++ b/bsps/sh/gensh4/start/linkcmds.rom
@@ -188,6 +188,10 @@ SECTIONS
__bss_end = .;
} > ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} > ram
diff --git a/bsps/sh/gensh4/start/linkcmds.rom2ram b/bsps/sh/gensh4/start/linkcmds.rom2ram
index 8d7b0e2..6785556 100644
--- a/bsps/sh/gensh4/start/linkcmds.rom2ram
+++ b/bsps/sh/gensh4/start/linkcmds.rom2ram
@@ -192,6 +192,10 @@ SECTIONS
*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} > ram
diff --git a/bsps/sh/shsim/start/linkcmds b/bsps/sh/shsim/start/linkcmds
index 90f5d60..3a8d0d9 100644
--- a/bsps/sh/shsim/start/linkcmds
+++ b/bsps/sh/shsim/start/linkcmds
@@ -203,6 +203,10 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} > ram
diff --git a/bsps/sparc/shared/start/linkcmds.base b/bsps/sparc/shared/start/linkcmds.base
index 7d5f86b..ed7ab38 100644
--- a/bsps/sparc/shared/start/linkcmds.base
+++ b/bsps/sparc/shared/start/linkcmds.base
@@ -154,6 +154,9 @@ SECTIONS
*(.rela.rtemsroset*)
*(.rela.rtemsrwset*)
} >ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
} > ram
diff --git a/bsps/sparc64/shared/start/linkcmds b/bsps/sparc64/shared/start/linkcmds
index aaf48b5..eb744b4 100644
--- a/bsps/sparc64/shared/start/linkcmds
+++ b/bsps/sparc64/shared/start/linkcmds
@@ -179,6 +179,10 @@ SECTIONS
__end = .;
} > ram
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } > ram
+
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
PROVIDE (WorkAreaBase = .);
diff --git a/bsps/v850/gdbv850sim/start/linkcmds b/bsps/v850/gdbv850sim/start/linkcmds
index a5339ef..84f5dc6 100644
--- a/bsps/v850/gdbv850sim/start/linkcmds
+++ b/bsps/v850/gdbv850sim/start/linkcmds
@@ -192,6 +192,9 @@ SECTIONS
*(.bss)
*(COMMON)
}
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ }
.rtemsstack (NOLOAD) : {
*(SORT(.rtemsstack.*))
}
diff --git a/bsps/x86_64/amd64/start/linkcmds b/bsps/x86_64/amd64/start/linkcmds
index c60d07d..ab6981e 100644
--- a/bsps/x86_64/amd64/start/linkcmds
+++ b/bsps/x86_64/amd64/start/linkcmds
@@ -10,6 +10,7 @@
* Changes:
* - Added HeapSize, RamBase, RamSize, WorkBase
* - rtemssroset section
+ * - noinit section
* - rtemsstack section
*/
@@ -231,6 +232,10 @@ SECTIONS
}
. = ALIGN(64 / 8);
_end = .; PROVIDE (end = .);
+ .noinit (NOLOAD) :
+ {
+ *(.noinit*)
+ }
.rtemsstack (NOLOAD) :
{
*(SORT(.rtemsstack.*))
More information about the vc
mailing list