summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2013-01-15 14:48:48 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-01-18 11:56:50 +0100
commit43afe67390697041d1d16d4e5c934d2bfa831399 (patch)
tree6e3721bc26af5f1ce8ec53299a538221146589d3
parentf8fd03225d05ce96cdeaf8d96fb73780eb77805c (diff)
downloadbarebox-43afe67390697041d1d16d4e5c934d2bfa831399.tar.gz
barebox-43afe67390697041d1d16d4e5c934d2bfa831399.tar.xz
barebox-data: add barebox-data sections
Add barebox-data section in arm branch to get complete barebox regions in sdram regions tree. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/lib/barebox.lds.S2
-rw-r--r--arch/blackfin/boards/ipe337/barebox.lds.S2
-rw-r--r--arch/mips/lib/barebox.lds.S2
-rw-r--r--arch/nios2/cpu/barebox.lds.S1
-rw-r--r--arch/ppc/boards/freescale-p2020rdb/barebox.lds.S1
-rw-r--r--arch/ppc/boards/pcm030/barebox.lds.S1
-rw-r--r--arch/x86/lib/barebox.lds.S2
-rw-r--r--common/memory.c4
-rw-r--r--include/asm-generic/sections.h1
9 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/lib/barebox.lds.S b/arch/arm/lib/barebox.lds.S
index bac1a04f87..e5aee8cd82 100644
--- a/arch/arm/lib/barebox.lds.S
+++ b/arch/arm/lib/barebox.lds.S
@@ -66,6 +66,7 @@ SECTIONS
}
#endif
_etext = .; /* End of text and rodata section */
+ _sdata = .;
. = ALIGN(4);
.data : { *(.data*) }
@@ -87,6 +88,7 @@ SECTIONS
__usymtab : { BAREBOX_SYMS }
__usymtab_end = .;
+ _edata = .;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss*) }
diff --git a/arch/blackfin/boards/ipe337/barebox.lds.S b/arch/blackfin/boards/ipe337/barebox.lds.S
index 6a07b43a1c..21a91eeb0a 100644
--- a/arch/blackfin/boards/ipe337/barebox.lds.S
+++ b/arch/blackfin/boards/ipe337/barebox.lds.S
@@ -55,6 +55,7 @@ SECTIONS
.rodata : { *(.rodata) }
__etext = .; /* End of text and rodata section */
+ __sdata = .;
. = ALIGN(4);
.data : { *(.data) }
@@ -79,6 +80,7 @@ SECTIONS
__usymtab : { BAREBOX_SYMS }
___usymtab_end = .;
+ __edata = .;
. = ALIGN(4);
___bss_start = .;
.bss : { *(.bss) }
diff --git a/arch/mips/lib/barebox.lds.S b/arch/mips/lib/barebox.lds.S
index 0cbf2d71ee..5b3d45dc3c 100644
--- a/arch/mips/lib/barebox.lds.S
+++ b/arch/mips/lib/barebox.lds.S
@@ -44,6 +44,7 @@ SECTIONS
.rodata : { *(.rodata*) }
_etext = .; /* End of text and rodata section */
+ _sdata = .;
. = ALIGN(4);
.data : { *(.data*) }
@@ -68,6 +69,7 @@ SECTIONS
__usymtab : { BAREBOX_SYMS }
__usymtab_end = .;
+ _edata = .;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss*) }
diff --git a/arch/nios2/cpu/barebox.lds.S b/arch/nios2/cpu/barebox.lds.S
index af7be4de3c..943c507531 100644
--- a/arch/nios2/cpu/barebox.lds.S
+++ b/arch/nios2/cpu/barebox.lds.S
@@ -74,6 +74,7 @@ SECTIONS
* adjacent to simplify the startup code -- and provide
* the global pointer for gp-relative access.
*/
+ _sdata = .;
_data = .;
.data :
{
diff --git a/arch/ppc/boards/freescale-p2020rdb/barebox.lds.S b/arch/ppc/boards/freescale-p2020rdb/barebox.lds.S
index 95033d4904..85a864ec85 100644
--- a/arch/ppc/boards/freescale-p2020rdb/barebox.lds.S
+++ b/arch/ppc/boards/freescale-p2020rdb/barebox.lds.S
@@ -41,6 +41,7 @@ SECTIONS
_etext = .;
PROVIDE (etext = .);
+ _sdata = .;
.rodata :
{
diff --git a/arch/ppc/boards/pcm030/barebox.lds.S b/arch/ppc/boards/pcm030/barebox.lds.S
index cc86d82db6..20ac0d8a06 100644
--- a/arch/ppc/boards/pcm030/barebox.lds.S
+++ b/arch/ppc/boards/pcm030/barebox.lds.S
@@ -69,6 +69,7 @@ SECTIONS
. = (. + 0x0FFF) & 0xFFFFF000;
_etext = .;
PROVIDE (erotext = .);
+ _sdata = .;
.reloc :
{
*(.got)
diff --git a/arch/x86/lib/barebox.lds.S b/arch/x86/lib/barebox.lds.S
index 8bd2a7b30e..05d0f778e5 100644
--- a/arch/x86/lib/barebox.lds.S
+++ b/arch/x86/lib/barebox.lds.S
@@ -153,6 +153,7 @@ SECTIONS
} > barebox
BAREBOX_BARE_INIT_SIZE
+ _sdata = .;
.data : AT ( LOADADDR(.text) + SIZEOF(.text) ) {
*(.data*)
. = ALIGN(4);
@@ -191,6 +192,7 @@ SECTIONS
. = ALIGN(4);
} > barebox
+ _edata = .;
.bss : {
__bss_start = .;
*(.bss*);
diff --git a/common/memory.c b/common/memory.c
index 7dd13849c6..81641f0527 100644
--- a/common/memory.c
+++ b/common/memory.c
@@ -75,6 +75,10 @@ static int mem_malloc_resource(void)
(unsigned long)&_stext,
(unsigned long)&_etext -
(unsigned long)&_stext);
+ request_sdram_region("barebox data",
+ (unsigned long)&_sdata,
+ (unsigned long)&_edata -
+ (unsigned long)&_sdata);
request_sdram_region("bss",
(unsigned long)&__bss_start,
(unsigned long)&__bss_stop -
diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h
index 17d5fd1ae4..5492aa4d98 100644
--- a/include/asm-generic/sections.h
+++ b/include/asm-generic/sections.h
@@ -3,6 +3,7 @@
extern char _text[], _stext[], _etext[];
extern char __bss_start[], __bss_stop[];
+extern char _sdata[], _edata[];
extern char __bare_init_start[], __bare_init_end[];
extern char _end[];
extern void *_barebox_image_size;