From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/7] common/board_f: add setup of initial stack frame for MIPS
Date: Wed, 19 Nov 2014 17:59:32 +0100 [thread overview]
Message-ID: <546CCC74.4030606@gmail.com> (raw)
In-Reply-To: <CAPnjgZ015mshWVoWS6B7akgXQd9kpjMUW=mYQ+K5SNKHvbbofw@mail.gmail.com>
Hi Simon,
On 17.11.2014 07:24, Simon Glass wrote:
> Hi Daniel,
>
> On 15 November 2014 22:46, Daniel Schwierzeck
> <daniel.schwierzeck@gmail.com> wrote:
>> The MIPS specific setup of the initial stack frame was not
>> ported to generic board_f.
>>
>> Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
>>
>> ---
>>
>> common/board_f.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/common/board_f.c b/common/board_f.c
>> index b5bebc9..57e8a67 100644
>> --- a/common/board_f.c
>> +++ b/common/board_f.c
>> @@ -579,7 +579,7 @@ static int reserve_stacks(void)
>> gd->irq_sp = gd->start_addr_sp;
>> # endif
>> #else
>> -# ifdef CONFIG_PPC
>> +# if defined(CONFIG_PPC) || defined(CONFIG_MIPS)
>> ulong *s;
>> # endif
>>
>> @@ -609,6 +609,12 @@ static int reserve_stacks(void)
>> s = (ulong *) gd->start_addr_sp;
>> *s = 0; /* Terminate back chain */
>> *++s = 0; /* NULL return address */
>> +# elif defined(CONFIG_MIPS)
>> + /* Clear initial stack frame */
>> + s = (ulong *) gd->start_addr_sp;
>> + *s-- = 0;
>> + *s-- = 0;
>> + gd->start_addr_sp = (ulong) s;
>> # endif /* Architecture specific code */
>
> Great to see this happening.
>
> There is a comment in the code here:
>
> /*
> * Handle architecture-specific things here
> * TODO(sjg at chromium.org): Perhaps create arch_reserve_stack()
> * to handle this and put in arch/xxx/lib/stack.c
> */
>
> Perhaps we should do this. You could create a weak function which is
> called for all archs, and implement it just for MIPS at present. I'm
> not sure about a good prototype. Perhaps pass it gd and comment that
> it is allowed to change memory to set up the stack, and adjust
> gd->start_addr_sp and other stack-related values.
>
> Also while I see that PPC writes above the stack pointer, I'm not sure
> why it is valid. Should you in fact use:
>
> *--s = 0;
> *--s = 0;
I'd like to have those patches merged for 2015.01. So I want to keep the
current code to not break anything. Maybe this is not necessary at all.
The MIPS Malta board already uses generic board and does not seem to
have any problems.
--
- Daniel
next prev parent reply other threads:[~2014-11-19 16:59 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-15 22:46 [U-Boot] [PATCH 0/7] MIPS: convert all boards to generic-board Daniel Schwierzeck
2014-11-15 22:46 ` [U-Boot] [PATCH 1/7] common/board_f: add setup of initial stack frame for MIPS Daniel Schwierzeck
2014-11-17 6:24 ` Simon Glass
2014-11-19 16:59 ` Daniel Schwierzeck [this message]
2014-11-19 22:22 ` Simon Glass
2014-11-20 16:54 ` Daniel Schwierzeck
2014-11-20 17:22 ` Simon Glass
2014-11-21 20:46 ` Daniel Schwierzeck
2014-11-21 22:22 ` Simon Glass
2014-11-24 22:20 ` Tom Rini
2014-11-25 13:32 ` Daniel Schwierzeck
2014-11-24 22:12 ` [U-Boot] [U-Boot, " Tom Rini
2014-11-15 22:46 ` [U-Boot] [PATCH 2/7] common/board_f: fix gcc warning on MIPS64 Daniel Schwierzeck
2014-11-17 6:26 ` Simon Glass
2014-11-24 22:12 ` [U-Boot] [U-Boot, " Tom Rini
2014-11-15 22:46 ` [U-Boot] [PATCH 3/7] MIPS: dbau1x00: switch to generic board Daniel Schwierzeck
2014-11-15 22:46 ` [U-Boot] [PATCH 4/7] MIPS: pb1x00: " Daniel Schwierzeck
2014-11-15 22:46 ` [U-Boot] [PATCH 5/7] MIPS: qemu_mips: " Daniel Schwierzeck
2014-11-15 22:46 ` [U-Boot] [PATCH 6/7] MIPS: vct: " Daniel Schwierzeck
2014-11-16 9:17 ` Stefan Roese
2014-11-15 22:46 ` [U-Boot] [PATCH 7/7] MIPS: remove board.c Daniel Schwierzeck
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=546CCC74.4030606@gmail.com \
--to=daniel.schwierzeck@gmail.com \
--cc=u-boot@lists.denx.de \
/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