[POWERPC] 32-bit early_init() should zero from __bss_start to __bss_stop only

Mark A. Greer mgreer at mvista.com
Thu Oct 26 09:36:49 EST 2006


Currently, early_init() in setup_32.c zeroes from '_bss_start' to '_end'.
It should only zero from '__bss_start' to '__bss_stop'.  This patch does that.

Signed-off-by: Mark A. Greer <mgreer at mvista.com>
---

 setup_32.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)
---

diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index a4c2964..c682e9a 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -95,7 +95,8 @@ unsigned long __init early_init(unsigned
 
 	/* First zero the BSS -- use memset_io, some platforms don't have
 	 * caches on yet */
-	memset_io((void __iomem *)PTRRELOC(&__bss_start), 0, _end - __bss_start);
+	memset_io((void __iomem *)PTRRELOC(&__bss_start), 0,
+			__bss_stop - __bss_start);
 
 	/*
 	 * Identify the CPU type and fix up code sections



More information about the Linuxppc-dev mailing list