aboutsummaryrefslogtreecommitdiff
path: root/arch/ppc64/boot/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc64/boot/main.c')
-rw-r--r--arch/ppc64/boot/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/ppc64/boot/main.c b/arch/ppc64/boot/main.c
index d039c47f8e5..c2c1f330911 100644
--- a/arch/ppc64/boot/main.c
+++ b/arch/ppc64/boot/main.c
@@ -26,6 +26,7 @@ extern void flush_cache(void *, unsigned long);
#define ONE_MB 0x100000
extern char _start[];
+extern char __bss_start[];
extern char _end[];
extern char _vmlinux_start[];
extern char _vmlinux_end[];
@@ -138,6 +139,8 @@ void start(unsigned long a1, unsigned long a2, void *promptr)
Elf64_Ehdr *elf64;
Elf64_Phdr *elf64ph;
+ memset(__bss_start, 0, _end - __bss_start);
+
prom = (int (*)(void *)) promptr;
chosen_handle = finddevice("/chosen");
if (chosen_handle == (void *) -1)