From: David Gibson <david@gibson.dropbear.id.au>
To: Geoff Levand <geoffrey.levand@am.sony.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 3/3] zImage: Cleanup and improve zImage entry point
Date: Sun, 18 Feb 2007 18:23:10 +1100 [thread overview]
Message-ID: <20070218072310.GB1859@localhost.localdomain> (raw)
In-Reply-To: <45D7AA50.3090408@am.sony.com>
On Sat, Feb 17, 2007 at 05:22:24PM -0800, Geoff Levand wrote:
> David Gibson wrote:
> > Index: working-2.6/arch/powerpc/boot/crt0.S
> > @@ -59,6 +60,29 @@ _zimage_start:
> > sync
> > isync
> >
> > - mr r6,r1
> > - b start
> > + /* Possibly set up a custom stack */
> > +.weak _platform_stack_top
> > + lis r8,_platform_stack_top@ha
> > + addi r8,r8,_platform_stack_top@l
> > + cmpwi r8,0
> > + beq 5f
> > + lwz r1,0(r8)
>
>
> Do you need to make a stack frame here for your
> call to platform_init so it will have a place when it
> stores the link register?
Err... isn't the called function responsible for setting up its own
stack frame if necessary. I thought all that was needed was for r1 to
point to some free space.
> > +5:
> > +
> > + /* Clear the BSS */
> > + lis r9,__bss_start@ha
> > + addi r9,r9,__bss_start@l
> > + lis r8,_end@ha
> > + addi r8,r8,_end@l
> > + li r0,0
> > +6: stw r0,0(r9)
> > + addi r9,r9,4
> > + cmplw cr0,r9,r8
> > + blt 6b
>
>
> This messed me up a bit since I had two stacks in the bss, one for each
> processor thread. By the time this was called on the primary thread the
> secondary thread could already be using its stack. I changed the secondary
> thread to use a small stack in the data section, so this seems OK.
Hrm... if you're entering with multiple threads and stacks, you're
probably a prime candidate for providing your own zimage_start,
instead of using this code.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
next prev parent reply other threads:[~2007-02-18 7:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-16 6:24 [0/3] RFC: Cleanups and improvements to the zImage wrapper David Gibson
2007-02-16 6:27 ` [PATCH 1/3] zImage: Add more flexible gunzip convenience functions David Gibson
2007-02-16 6:27 ` [PATCH 2/3] zImage: Cleanup and improve prep_kernel() David Gibson
2007-02-18 1:22 ` Geoff Levand
2007-02-18 7:21 ` David Gibson
2007-02-16 6:27 ` [PATCH 3/3] zImage: Cleanup and improve zImage entry point David Gibson
2007-02-18 1:22 ` Geoff Levand
2007-02-18 7:23 ` David Gibson [this message]
2007-02-19 0:26 ` Paul Mackerras
2007-02-19 0:48 ` David Gibson
2007-02-19 15:14 ` Geoff Levand
2007-02-19 19:59 ` Benjamin Herrenschmidt
2007-02-19 19:57 ` Benjamin Herrenschmidt
2007-02-19 20:37 ` Geoff Levand
2007-02-19 20:50 ` Benjamin Herrenschmidt
2007-02-19 21:14 ` Geoff Levand
2007-02-16 16:47 ` [0/3] RFC: Cleanups and improvements to the zImage wrapper Geoff Levand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070218072310.GB1859@localhost.localdomain \
--to=david@gibson.dropbear.id.au \
--cc=geoffrey.levand@am.sony.com \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox