these 2 look good
On Fri, Apr 30, 2021 at 7:55 AM Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > > Close #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, 252 insertions(+), 5 deletions(-) > > diff --git a/bsps/arm/include/bsp/arm-cp15-start.h > b/bsps/arm/include/bsp/arm-cp15-start.h > index 75cbdac848..e46ea39a0e 100644 > --- a/bsps/arm/include/bsp/arm-cp15-start.h > +++ b/bsps/arm/include/bsp/arm-cp15-start.h > @@ -75,10 +75,6 @@ typedef struct { > .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \ > }, { \ > .begin = (uint32_t) bsp_section_rtemsstack_begin, \ > - .end = (uint32_t) bsp_section_rtemsstack_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 +95,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 8 > > 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 635ba5e5c4..38a849a95a 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 a56e23fe93..1b88255e44 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 0afd7fc47a..315f1b7149 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 5d2635d1f6..c6bbcf4e68 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 bd2f4d79de..6f338b0b3a 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 01ec1e9371..46a7af4cb9 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 a4b204d5eb..dd429a7af1 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 c5ca1751cf..021814a7b5 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 4ffee0fa91..0c0b3df561 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 1307d844c9..83d761bc56 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 7ec8edb6e9..354a26c383 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 f7b2a98698..430f122e3d 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 83a033a96f..a480084b83 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 0bbb3940e3..0bf9efa9ea 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 2c1814aa5d..422396f766 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 64aad46cc7..da8acdf376 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 ebabe5f5f7..89325cda8b 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 e467ecb3b4..cf1e5ed720 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 a5c69b2074..e20d3031d7 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 0cd45553ba..ae9800dcc4 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 a1ecc35387..fe2ebd26d2 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 c644b34fde..2c25105134 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 ae15b92067..25e0f9b093 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 54fa5b34bb..8b017c06a8 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 99e04d3310..aacaca7b47 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 1ce441652a..7c31b92dd1 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 1daf2e1bc7..92c4a5d5c3 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 da97472f1b..6ac9de96ae 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 874cc52d8e..56748b48fa 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 0a7d9ded29..383c3f2cb3 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 f81dd1be04..2ded55b786 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 8002c17234..233082e691 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 e78fcb57a0..2fa62a4b0c 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 fae3885dc5..f298db0513 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 eaf9d8d3a0..e49aece385 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 ea037ffeb9..0aed732ee2 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 0d92f6467f..c276e13cb2 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 b52943bb39..bfa38939b8 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 7a5236d961..dc5a198b00 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 bd605664ad..75783dc080 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 a6b455cb8b..024fc34edc 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 296b071929..0f9eb0c677 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 de8087497c..521d69af92 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 deefbe2186..86b02cb18e 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 3cf9f91e84..18e8d34dd1 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 cb867da2e6..ff61396710 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 7443de459b..ca81d57fde 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 f9deda00f2..87a3a9cd85 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 f114bb885a..5f4294dd9a 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 dc734de8e5..fc06126941 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 5fd04dba41..bdc71bb984 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 4db55f03a8..ccf752a26b 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 eb713244f4..6b2a760cfa 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 1fb69c92a5..b940aadb2b 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 3c70e4c263..704b624f01 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 8d7b0e2380..6785556416 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 90f5d6039e..3a8d0d9d5b 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 7d5f86b23c..ed7ab38b37 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 aaf48b5d83..eb744b45ab 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 a5339ef24d..84f5dc6690 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 c60d07d6ec..ab6981e872 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.*)) > -- > 2.26.2 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel