public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] MIPS: Add CONFIG_SKIP_LOWLEVEL_INIT and flush dcache upon relocation
Date: Mon, 17 Nov 2008 14:54:32 +0100	[thread overview]
Message-ID: <200811171454.32665.sr@denx.de> (raw)
In-Reply-To: <491FC197.2070306@ruby.dti.ne.jp>

On Sunday 16 November 2008, Shinya Kuribayashi wrote:
> > diff --git a/cpu/mips/start.S b/cpu/mips/start.S
> > index 6a22302..5b71b00 100644
> > --- a/cpu/mips/start.S
> > +++ b/cpu/mips/start.S
> > @@ -243,9 +243,11 @@ reset:
> >  	mtc0	zero, CP0_COUNT
> >  	mtc0	zero, CP0_COMPARE
> >
> > +#if !defined(CONFIG_SKIP_LOWLEVEL_INIT)
> >  	/* CONFIG0 register */
> >  	li	t0, CONF_CM_UNCACHED
> >  	mtc0	t0, CP0_CONFIG
> > +#endif /* !CONFIG_SKIP_LOWLEVEL_INIT */
> >
> >  	/* Initialize $gp.
> >  	 */
>
> It might be preferable to remove the /* CONFIG_SKIP_LOWLEVEL_INIT */
> comment for better readability, IMHO.

Hmmm. I usually prefer to add those comments to the #else and #endif since it 
makes the code better readable. Especially when the chunks of code in-between 
gets bigger. So I would prefer to keep this comment. OK?

> > @@ -323,6 +327,14 @@ relocate_code:
> >  	 * t1 = target address
> >  	 * t2 = source end address
> >  	 */
> > +
> > +	/*
> > +	 * Save destination address and size for later usage in flush_cache()
> > +	 */
> > +	move	t7, a1		/* save gd in t7		*/
> > +	move	a0, t1		/* a0 <-- destination addr	*/
> > +	sub	a1, t2, t0	/* a1 <-- size			*/
> > +
> >  	/* On the purple board we copy the code earlier in a special way
> >  	 * in order to solve flash problems
> >  	 */
> > @@ -338,6 +350,11 @@ relocate_code:
> >  	/* If caches were enabled, we would have to flush them here.
> >  	 */
> >
> > +	/* a0 & a1 are already set up for flush_cache(start, size) */
> > +	la	t9, flush_cache
> > +	jalr	t9
> > +	nop
> > +
> >  	/* Jump to where we've relocated ourselves.
> >  	 */
> >  	addi	t0, a2, in_ram - _start
> > @@ -387,7 +404,7 @@ in_ram:
> >  	bltl	t1, t2, 1b
> >  	sw	zero, 0(t1)	/* delay slot			*/
> >
> > -	move	a0, a1
> > +	move	a0, t7		/* a0 <-- gd			*/
> >  	la	t9, board_init_r
> >  	jr	t9
> >  	move	a1, a2		/* delay slot			*/
>
> - Could we separate this flush_cache patch from this patch?

OK, will do.

> - Please use save register, s[0-7], instead of t7, since t7 register
>   might be overwritten with another value in flush_cache().
>   Furthermore, in this case, a2 should be saved as well.

I'm still new to MIPS so thanks for your suggestions. I'll try to provide a 
fixed up patch today.

Thanks.

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

  reply	other threads:[~2008-11-17 13:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-12 12:17 [U-Boot] [PATCH] MIPS: Add CONFIG_SKIP_LOWLEVEL_INIT and flush dcache upon relocation Stefan Roese
2008-11-16  6:45 ` Shinya Kuribayashi
2008-11-17 13:54   ` Stefan Roese [this message]
2008-11-18  2:31     ` Shinya Kuribayashi

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=200811171454.32665.sr@denx.de \
    --to=sr@denx.de \
    --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