diff options
-rw-r--r-- | arch/arm/lib/barebox.lds.S | 2 | ||||
-rw-r--r-- | arch/blackfin/boards/ipe337/barebox.lds.S | 2 | ||||
-rw-r--r-- | arch/mips/lib/barebox.lds.S | 2 | ||||
-rw-r--r-- | arch/nios2/cpu/barebox.lds.S | 1 | ||||
-rw-r--r-- | arch/ppc/boards/freescale-p2020rdb/barebox.lds.S | 1 | ||||
-rw-r--r-- | arch/ppc/boards/pcm030/barebox.lds.S | 1 | ||||
-rw-r--r-- | arch/x86/lib/barebox.lds.S | 2 | ||||
-rw-r--r-- | common/memory.c | 4 | ||||
-rw-r--r-- | include/asm-generic/sections.h | 1 |
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; |