summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc')
-rw-r--r--bsps/powerpc/gen5200/start/linkcmds.gen5200_base4
-rw-r--r--bsps/powerpc/haleakala/start/linkcmds4
-rw-r--r--bsps/powerpc/include/bsp/linker-symbols.h4
-rw-r--r--bsps/powerpc/mpc8260ads/start/linkcmds4
-rw-r--r--bsps/powerpc/qoriq/start/mmu-config.c1
-rw-r--r--bsps/powerpc/shared/start/linkcmds.base7
-rw-r--r--bsps/powerpc/shared/start/linkcmds.share3
-rw-r--r--bsps/powerpc/ss555/start/linkcmds4
-rw-r--r--bsps/powerpc/virtex4/start/linkcmds4
-rw-r--r--bsps/powerpc/virtex5/start/linkcmds4
10 files changed, 39 insertions, 0 deletions
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