diff options
author | Simon Glass <sjg@chromium.org> | 2013-03-05 14:39:39 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-03-15 16:13:58 -0400 |
commit | 716cc8cc7f0b935db1b7262cf73b00c9e0ea76ee (patch) | |
tree | b9ddba60a4f8ee455a7a70b388fbbf70b41670d7 | |
parent | e103b7ae903dffc8e35cd676c1a72712dec14382 (diff) |
Change stub example to use asm-generic/sections.h
We can use the declarations of __bss_start and _end from this header
instead of declaring them locally.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | arch/mips/include/asm/u-boot-mips.h | 4 | ||||
-rw-r--r-- | arch/nds32/include/asm/u-boot-nds32.h | 8 | ||||
-rw-r--r-- | arch/x86/include/asm/u-boot-x86.h | 6 | ||||
-rw-r--r-- | examples/standalone/stubs.c | 7 |
4 files changed, 12 insertions, 13 deletions
diff --git a/arch/mips/include/asm/u-boot-mips.h b/arch/mips/include/asm/u-boot-mips.h index a483166a9c9..e77636eaaf6 100644 --- a/arch/mips/include/asm/u-boot-mips.h +++ b/arch/mips/include/asm/u-boot-mips.h @@ -7,7 +7,7 @@ static inline unsigned long bss_start(void) { - extern ulong __bss_start; + extern char __bss_start[]; return (unsigned long) &__bss_start; } @@ -19,7 +19,7 @@ static inline unsigned long bss_end(void) static inline unsigned long image_copy_end(void) { - extern ulong __image_copy_end; + extern char __image_copy_end[]; return (unsigned long) &__image_copy_end; } diff --git a/arch/nds32/include/asm/u-boot-nds32.h b/arch/nds32/include/asm/u-boot-nds32.h index a6d7bebf6fc..f3c7b271e97 100644 --- a/arch/nds32/include/asm/u-boot-nds32.h +++ b/arch/nds32/include/asm/u-boot-nds32.h @@ -30,10 +30,10 @@ #define _U_BOOT_NDS32_H_ 1 /* for the following variables, see start.S */ -extern ulong __bss_start; /* BSS start relative to _start */ -extern ulong __bss_end; /* BSS end relative to _start */ -extern ulong _end; /* end of image relative to _start */ -extern ulong _start; /* start of image relative to _start */ +extern char __bss_start[]; /* BSS start relative to _start */ +extern ulong __bss_end; /* BSS end relative to _start */ +extern char _end[]; /* end of image relative to _start */ +extern void _start(void); /* start of image relative to _start */ extern ulong _TEXT_BASE; /* code start */ extern ulong IRQ_STACK_START; /* top of IRQ stack */ extern ulong FIQ_STACK_START; /* top of FIQ stack */ diff --git a/arch/x86/include/asm/u-boot-x86.h b/arch/x86/include/asm/u-boot-x86.h index 948615d4385..3e380fe81d1 100644 --- a/arch/x86/include/asm/u-boot-x86.h +++ b/arch/x86/include/asm/u-boot-x86.h @@ -25,13 +25,13 @@ #define _U_BOOT_I386_H_ 1 /* Exports from the Linker Script */ -extern ulong __text_start; +extern char __text_start[]; extern ulong __data_end; extern ulong __rel_dyn_start; extern ulong __rel_dyn_end; -extern ulong __bss_start; +extern char __bss_start[]; extern ulong __bss_end; -extern ulong _end; +extern char _end[]; /* cpu/.../cpu.c */ int x86_cpu_init_r(void); diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c index 15e9afcacd0..8fb17653b0d 100644 --- a/examples/standalone/stubs.c +++ b/examples/standalone/stubs.c @@ -217,16 +217,15 @@ void __attribute__((unused)) dummy(void) #include <_exports.h> } -extern unsigned long __bss_start, _end; +#include <asm/sections.h> void app_startup(char * const *argv) { - unsigned char * cp = (unsigned char *) &__bss_start; + char *cp = __bss_start; /* Zero out BSS */ - while (cp < (unsigned char *)&_end) { + while (cp < _end) *cp++ = 0; - } #if defined(CONFIG_X86) /* x86 does not have a dedicated register for passing global_data */ |