All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eugene Surovegin <ebs@ebshome.net>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] MIPS build environment
Date: Sat, 29 Jan 2005 16:20:30 -0800	[thread overview]
Message-ID: <20050130002030.GA24482@gate.ebshome.net> (raw)
In-Reply-To: <e7af2eca2d0ca4432255ff965eb51330@embeddededge.com>

On Fri, Jan 28, 2005 at 06:13:23PM -0800, Dan Malek wrote:
> Unless I'm doing something wrong, I also have
> to use binutils with the 'allow_branch_to_undefined'
> patch.

Hmm, why do you need this? 

The only problematic place IIRC is in start.S which is trivially 
fixable without any additional toolchain patches or hacks like 
"mips_allow_branch_to_undefined". Just move initialization of GOT 
pointer right after CONFIG0 and use la/jalr instead of bal when 
calling memsetup, mips_cache_reset etc. This is what I did for MVL 3.1 
based MIPS toolchain.

As a side note, "Setup temporary stack" is completely bogus and isn't 
needed, at least for 4kc which has a write-through dcache (4kc is the 
only MIPS arch currently supported, btw).

--
Eugene
-------------- next part --------------
--- start.S	2004-02-06 17:27:17.000000000 -0800
+++ start.S~jalr	2005-01-29 16:13:18.000000000 -0800
@@ -234,21 +234,35 @@
 	li	t0, CONF_CM_UNCACHED
 	mtc0	t0, CP0_CONFIG
 
+	/* Initialize GOT pointer.
+	 */
+	bal	1f
+	nop
+	.word	_GLOBAL_OFFSET_TABLE_ - 1f + 4
+1:
+	move	gp, ra
+	lw	t1, 0(ra)
+	add	gp, t1
+
+
 #ifdef CONFIG_INCA_IP
 	/* Disable INCA-IP Watchdog.
 	 */
-	bal	disable_incaip_wdt
+	la	t9, disable_incaip_wdt
+	jalr	t9
 	nop
 #endif
 
 	/* Initialize any external memory.
 	 */
-	bal	memsetup
+	la	t9, memsetup
+	jalr	t9
 	nop
 
 	/* Initialize caches...
 	 */
-	bal	mips_cache_reset
+	la	t9, mips_cache_reset
+	jalr	t9
 	nop
 
 	/* ... and enable them.
@@ -260,21 +274,13 @@
 	/* Set up temporary stack.
 	 */
 	li	a0, CFG_INIT_SP_OFFSET
-	bal	mips_cache_lock
+	la	t9, mips_cache_lock
+	jalr	t9
 	nop
 
 	li	t0, CFG_SDRAM_BASE + CFG_INIT_SP_OFFSET
 	la	sp, 0(t0)
 
-	/* Initialize GOT pointer.
-	 */
-	bal	1f
-	nop
-	.word	_GLOBAL_OFFSET_TABLE_ - 1f + 4
-1:
-	move	gp, ra
-	lw	t1, 0(ra)
-	add	gp, t1
 	la	t9, board_init_f
 	j	t9
 	nop

  parent reply	other threads:[~2005-01-30  0:20 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-29  2:13 [U-Boot-Users] MIPS build environment Dan Malek
2005-01-29 10:36 ` Thomas Sailer
2005-01-29 17:08   ` Wolfgang Denk
2005-01-29 23:54     ` Thomas Sailer
2005-01-30  1:22       ` Wolfgang Denk
2005-01-29 17:03 ` Wolfgang Denk
2005-01-30  0:20 ` Eugene Surovegin [this message]
2005-01-30  1:24   ` Wolfgang Denk
2005-01-30  1:43     ` Eugene Surovegin
2005-01-30  4:40       ` Dan Malek
2005-01-30  9:18         ` Wolfgang Denk
2005-01-30 10:33           ` Eugene Surovegin
2005-01-30  9:13       ` Wolfgang Denk
2005-01-30 10:26         ` Eugene Surovegin
2005-09-24 23:16           ` Wolfgang Denk

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=20050130002030.GA24482@gate.ebshome.net \
    --to=ebs@ebshome.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.