[PATCH] powerpc: zero out BSS for all platforms

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE7601d

5 messages, 4 authors, 2005-10-11 · open the first message on its own page

[PATCH] powerpc: zero out BSS for all platforms

From: Kumar Gala <hidden>
Date: 2005-10-10 19:51:12

We need to ensure that the BSS is zeroed out for all platforms.
Currently only prom_init.c was clearlying out the BSS which only works
for PPC_OF platforms.

Signed-off-by: Kumar K. Gala <redacted>

---
commit 56381a9f0765ba3ffa5f21a4cdcb93ac0279eeea
tree 9f0f353b0776129626082a46b578d637fb79dad1
parent dfc32a358c961c3fbfa94942ecb06da2e895ffe7
author Kumar K. Gala [off-list ref] Mon, 10 Oct 2005 14:48:36 -0500
committer Kumar K. Gala [off-list ref] Mon, 10 Oct 2005 14:48:36 -0500

 arch/powerpc/kernel/setup.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kernel/setup.c b/arch/powerpc/kernel/setup.c
--- a/arch/powerpc/kernel/setup.c
+++ b/arch/powerpc/kernel/setup.c
@@ -293,6 +293,10 @@ unsigned long __init early_init(unsigned
 
 	reloc_got2(offset);
 
+	/* First zero the BSS -- use memset, some arches don't have
+	 * caches on yet */
+	memset_io(PTRRELOC(&__bss_start), 0, _end - __bss_start);
+
 	/*
 	 * Identify the CPU type and fix up code sections
 	 * that depend on which cpu we have.

Re: [PATCH] powerpc: zero out BSS for all platforms

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-10-11 07:46:11

On Mon, 2005-10-10 at 14:51 -0500, Kumar Gala wrote:
We need to ensure that the BSS is zeroed out for all platforms.
Currently only prom_init.c was clearlying out the BSS which only works
for PPC_OF platforms.

Signed-off-by: Kumar K. Gala <redacted>
You need to make absolutely certain that we have not written anything to
the bss yet though... Is that the case ? I usually prefer doing the
zero'ing in assembly :)

Ben.

Re: [PATCH] powerpc: zero out BSS for all platforms

From: Olaf Hering <hidden>
Date: 2005-10-11 09:30:40

 On Tue, Oct 11, Benjamin Herrenschmidt wrote:
On Mon, 2005-10-10 at 14:51 -0500, Kumar Gala wrote:
quoted
We need to ensure that the BSS is zeroed out for all platforms.
Currently only prom_init.c was clearlying out the BSS which only works
for PPC_OF platforms.

Signed-off-by: Kumar K. Gala <redacted>
You need to make absolutely certain that we have not written anything to
the bss yet though... Is that the case ? I usually prefer doing the
zero'ing in assembly :)
early_init is called so early, its almost like asm code.

-- 
short story of a lazy sysadmin:
 alias appserv=wotan

Re: [PATCH] powerpc: zero out BSS for all platforms

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-10-11 09:48:56

On Tue, 2005-10-11 at 11:30 +0200, Olaf Hering wrote:
 On Tue, Oct 11, Benjamin Herrenschmidt wrote:
quoted
On Mon, 2005-10-10 at 14:51 -0500, Kumar Gala wrote:
quoted
We need to ensure that the BSS is zeroed out for all platforms.
Currently only prom_init.c was clearlying out the BSS which only works
for PPC_OF platforms.

Signed-off-by: Kumar K. Gala <redacted>
You need to make absolutely certain that we have not written anything to
the bss yet though... Is that the case ? I usually prefer doing the
zero'ing in assembly :)
early_init is called so early, its almost like asm code.
Yah, as long as that stuff is still separate between ppc32 and ppc64,
that's fine. We'll have to be careful with iSeries once we do the
merge :)

Ben.

Re: [PATCH] powerpc: zero out BSS for all platforms

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2005-10-11 07:47:48

On Mon, 10 Oct 2005, Kumar Gala wrote:
quoted hunk
We need to ensure that the BSS is zeroed out for all platforms.
Currently only prom_init.c was clearlying out the BSS which only works
for PPC_OF platforms.

Signed-off-by: Kumar K. Gala <redacted>

---
commit 56381a9f0765ba3ffa5f21a4cdcb93ac0279eeea
tree 9f0f353b0776129626082a46b578d637fb79dad1
parent dfc32a358c961c3fbfa94942ecb06da2e895ffe7
author Kumar K. Gala [off-list ref] Mon, 10 Oct 2005 14:48:36 -0500
committer Kumar K. Gala [off-list ref] Mon, 10 Oct 2005 14:48:36 -0500

 arch/powerpc/kernel/setup.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kernel/setup.c b/arch/powerpc/kernel/setup.c
--- a/arch/powerpc/kernel/setup.c
+++ b/arch/powerpc/kernel/setup.c
@@ -293,6 +293,10 @@ unsigned long __init early_init(unsigned
 
 	reloc_got2(offset);
 
+	/* First zero the BSS -- use memset, some arches don't have
                                     ^^^^^^
+	 * caches on yet */
+	memset_io(PTRRELOC(&__bss_start), 0, _end - __bss_start);
        ^^^^^^^^^

The comment is not in sync with the code.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help