public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] MIPS build environment
@ 2005-01-29  2:13 Dan Malek
  2005-01-29 10:36 ` Thomas Sailer
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Dan Malek @ 2005-01-29  2:13 UTC (permalink / raw)
  To: u-boot


Hello all MIPS u-booters.

I'd like to discuss how we can make the MIPS
build environment a little bit easier to use.  For
example, the cpu/mips/config.mk assumes big
endian, and although I'll be the first to stand up
and say that's the only proper and useful byte
ordering, there are people willing to pay me
to assist with the alternative :-)  I'd like it if
we can just find a way to invoke 'mipseb-*'
or 'mipsel-*' based upon the configuration
chosen and let it go at that.

I'd also like us to agree to use up to date tools.
Again, the config.mk with the test and hard coded
flags depending upon tools seems unnecessary
since the newer tools have been around for a
while and proven to work.

Unless I'm doing something wrong, I also have
to use binutils with the 'allow_branch_to_undefined'
patch.

Comments?  Other concerns?

Thanks.


	-- Dan

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  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 17:03 ` Wolfgang Denk
  2005-01-30  0:20 ` Eugene Surovegin
  2 siblings, 1 reply; 15+ messages in thread
From: Thomas Sailer @ 2005-01-29 10:36 UTC (permalink / raw)
  To: u-boot

On Fri, 2005-01-28 at 18:13 -0800, Dan Malek wrote:

> to assist with the alternative :-)  I'd like it if
> we can just find a way to invoke 'mipseb-*'
> or 'mipsel-*' based upon the configuration
> chosen and let it go at that.

That would be great!

> Unless I'm doing something wrong, I also have
> to use binutils with the 'allow_branch_to_undefined'
> patch.

It looks to me that the code uses bal in an attempt to be position
independent. It also uses a rather complicated got loading sequence.
This is IMO futile, as the rest of u-boot (especially the copy to RAM
routine) isn't position independent. So you can as well just load the
full address of the called routines into a temporary register and jump
through the register. See the patch below.

Tom


--- start.S.jnx	2005-01-20 21:51:00.000000000 +0100
+++ start.S	2005-01-20 22:01:39.000000000 +0100
@@ -28,6 +28,35 @@
 #include <asm/regdef.h>
 #include <asm/mipsregs.h>
 
+#define NEWASM
+
+#ifdef NEWASM
+
+#define BAL(x) \
+	lui	t0, %hi(x) ;		\
+	ori	t0, t0, %lo(x) ;	\
+	jalr	t0
+
+#define LOADGOT \
+	lui	gp, %hi(_GLOBAL_OFFSET_TABLE_) ;	\
+	ori	gp, gp, %lo(_GLOBAL_OFFSET_TABLE_)
+
+#else
+
+#define BAL(x) \
+	bal	x
+	
+#define LOADGOT \
+	bal	1f ;					\
+	nop ;						\
+	.word	_GLOBAL_OFFSET_TABLE_ - 1f + 4 ;	\
+1: ;							\
+	move	gp, ra ;				\
+	lw	t1, 0(ra) ;				\
+	add	gp, t1	
+	
+#endif
+
 
 #define RVECENT(f,n) \
    b f; nop
@@ -237,18 +266,18 @@
 #ifdef CONFIG_INCA_IP
 	/* Disable INCA-IP Watchdog.
 	 */
-	bal	disable_incaip_wdt
+	BAL(disable_incaip_wdt)
 	nop
 #endif
 
 	/* Initialize any external memory.
 	 */
-	bal	memsetup
+	BAL(memsetup)
 	nop
 
 	/* Initialize caches...
 	 */
-	bal	mips_cache_reset
+	BAL(mips_cache_reset)
 	nop
 
 	/* ... and enable them.
@@ -260,7 +289,7 @@
 	/* Set up temporary stack.
 	 */
 	li	a0, CFG_INIT_SP_OFFSET
-	bal	mips_cache_lock
+	BAL(mips_cache_lock)
 	nop
 
 	li	t0, CFG_SDRAM_BASE + CFG_INIT_SP_OFFSET
@@ -268,13 +297,8 @@
 
 	/* Initialize GOT pointer.
 	 */
-	bal	1f
-	nop
-	.word	_GLOBAL_OFFSET_TABLE_ - 1f + 4
-1:
-	move	gp, ra
-	lw	t1, 0(ra)
-	add	gp, t1
+	LOADGOT
+
 	la	t9, board_init_f
 	j	t9
 	nop

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-29  2:13 [U-Boot-Users] MIPS build environment Dan Malek
  2005-01-29 10:36 ` Thomas Sailer
@ 2005-01-29 17:03 ` Wolfgang Denk
  2005-01-30  0:20 ` Eugene Surovegin
  2 siblings, 0 replies; 15+ messages in thread
From: Wolfgang Denk @ 2005-01-29 17:03 UTC (permalink / raw)
  To: u-boot

Hi Dan,

in message <e7af2eca2d0ca4432255ff965eb51330@embeddededge.com> you wrote:
> 
> I'd like to discuss how we can make the MIPS
> build environment a little bit easier to use.  For
> example, the cpu/mips/config.mk assumes big
> endian, and although I'll be the first to stand up

It was pure chance that the first two MIPS system to which we  ported
U-Boot  (INCA-IP and Purple) happened to be big endian. We, too, have
LE MIPS systems in the queue.

> to assist with the alternative :-)  I'd like it if
> we can just find a way to invoke 'mipseb-*'
> or 'mipsel-*' based upon the configuration
> chosen and let it go at that.

Please feel free to go on :-)

> I'd also like us to agree to use up to date tools.

Yes, but please not not break backward compatibility.

> Again, the config.mk with the test and hard coded
> flags depending upon tools seems unnecessary
> since the newer tools have been around for a
> while and proven to work.

It's true that newer tools are available and working fine,  but  that
doesn't  mean  that we can brak support for the old toolchains. There
are many projects running in Big Companies wheare introducing  a  new
toolchain is sinply not possible with reasonable efforts.

> Unless I'm doing something wrong, I also have
> to use binutils with the 'allow_branch_to_undefined'
> patch.

Yes, this is correct, at least with the  current  code.  Please  feel
free to improve that.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"It's when they say 2 + 2 = 5 that I begin to argue."    - Eric Pepke

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-29 10:36 ` Thomas Sailer
@ 2005-01-29 17:08   ` Wolfgang Denk
  2005-01-29 23:54     ` Thomas Sailer
  0 siblings, 1 reply; 15+ messages in thread
From: Wolfgang Denk @ 2005-01-29 17:08 UTC (permalink / raw)
  To: u-boot

Dear Thomas,

in message <1106994990.5393.8.camel@gamecube.scs.ch> you wrote:
> 
> > Unless I'm doing something wrong, I also have
> > to use binutils with the 'allow_branch_to_undefined'
> > patch.
> 
> It looks to me that the code uses bal in an attempt to be position
> independent. It also uses a rather complicated got loading sequence.
> This is IMO futile, as the rest of u-boot (especially the copy to RAM
> routine) isn't position independent. So you can as well just load the
> full address of the called routines into a temporary register and jump
> through the register. See the patch below.

No, you're moving into the wrong  direction.  I  hereby  reject  this
patch, and will do the same woth all other attempts that go into that
direction.

It was very unfortunate that the MIPS port copied the  memory  layout
and  relocation  part  from ARMBoot, which broke with the IMHO better
design in PPCBoot. If we change the current code, then  please  let's
do  it right and implement it similar as on PowerPC, i. e. get rid of
the hard-coded text addresses in RAM - instead  let's  auto-determine
the  relocation  address  based on the actual RAM size in the system,
always relocating U-Boot to the very end of available RAM.

This is where the ARM and MIPS ports should move to.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Obviously, a major malfunction has occurred."
              -- Steve Nesbitt, voice of Mission Control, January 28,
                 1986, as the shuttle Challenger exploded within view
                 of the grandstands.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-29 17:08   ` Wolfgang Denk
@ 2005-01-29 23:54     ` Thomas Sailer
  2005-01-30  1:22       ` Wolfgang Denk
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Sailer @ 2005-01-29 23:54 UTC (permalink / raw)
  To: u-boot

On Sat, 2005-01-29 at 18:08 +0100, Wolfgang Denk wrote:

> No, you're moving into the wrong  direction.  I  hereby  reject  this
> patch, and will do the same woth all other attempts that go into that
> direction.

Sorry for miscommunicating, I didn't mean to ask you to apply it, I
meant it to stimulate discussion, which succeeded :)

Now I think there's a misunderstanding. There are two parts of u-boot,
namely the part that runs off SDRAM and the part that runs off the ROM.
For both parts the decision whether PIC or fixed address code should be
used is independent.

You argue for PIC/relocatable code in the main u-boot part that runs off
SDRAM. Rightly so, IMO. The patch I posted applies however to the part
that runs off ROM (FLASH) (SDRAM doesn't even work before the call to
memsetup, because the SDRAM controller and cache aren't setup yet). Now
this code is typically located at the reset vector address, and this
address is normally fixed by the silicon/cpu architecture. For this part
of u-boot, relocatability is less useful. Now MIPS has a feature to
allow the machine to be booted from JTAG by relocating the reset vector
into a memory space that when accessed causes a JTAG transaction with
the debug PC to supply the data, so for this feature relocatability of
the ROM part of u-boot could be somewhat useful.

Tom

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-29  2:13 [U-Boot-Users] MIPS build environment Dan Malek
  2005-01-29 10:36 ` Thomas Sailer
  2005-01-29 17:03 ` Wolfgang Denk
@ 2005-01-30  0:20 ` Eugene Surovegin
  2005-01-30  1:24   ` Wolfgang Denk
  2 siblings, 1 reply; 15+ messages in thread
From: Eugene Surovegin @ 2005-01-30  0:20 UTC (permalink / raw)
  To: u-boot

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-29 23:54     ` Thomas Sailer
@ 2005-01-30  1:22       ` Wolfgang Denk
  0 siblings, 0 replies; 15+ messages in thread
From: Wolfgang Denk @ 2005-01-30  1:22 UTC (permalink / raw)
  To: u-boot

Dear Thomas,

in message <1107042893.5393.19.camel@gamecube.scs.ch> you wrote:
> 
> Now I think there's a misunderstanding. There are two parts of u-boot,

No, srictly speaking there are not two parts of U-Boot. U-Boot is one
part, which runs from two different memory locations: first from ROM,
and later from RAM.

> namely the part that runs off SDRAM and the part that runs off the ROM.
> For both parts the decision whether PIC or fixed address code should be
> used is independent.

You have to be very careful, as the code from  the  "ROM  part"  will
call  the  very  same  routines  as the code from the "RAM part", and
everythink is linked into the very same binary image.

> You argue for PIC/relocatable code in the main u-boot part that runs off
> SDRAM. Rightly so, IMO. The patch I posted applies however to the part
> that runs off ROM (FLASH) (SDRAM doesn't even work before the call to
> memsetup, because the SDRAM controller and cache aren't setup yet). Now

I see. Sorry, I missed that.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
In general, they do what you want, unless you want consistency.
                                    - Larry Wall in the perl man page

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-30  0:20 ` Eugene Surovegin
@ 2005-01-30  1:24   ` Wolfgang Denk
  2005-01-30  1:43     ` Eugene Surovegin
  0 siblings, 1 reply; 15+ messages in thread
From: Wolfgang Denk @ 2005-01-30  1:24 UTC (permalink / raw)
  To: u-boot

In message <20050130002030.GA24482@gate.ebshome.net> you wrote:
> 
> 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).

Supported where or by what? You aren't speaking  about  U-Boot  here,
right? Because Infineon's Purple board is a 5Kc system.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
...the increased productivity fostered by a friendly environment  and
quality  tools  is  essential  to  meet  ever  increasing demands for
software.               - M. D. McIlroy, E. N. Pinson and B. A. Tague

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  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:13       ` Wolfgang Denk
  0 siblings, 2 replies; 15+ messages in thread
From: Eugene Surovegin @ 2005-01-30  1:43 UTC (permalink / raw)
  To: u-boot

On Sun, Jan 30, 2005 at 02:24:34AM +0100, Wolfgang Denk wrote:
> In message <20050130002030.GA24482@gate.ebshome.net> you wrote:
> > 
> > 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).
> 
> Supported where or by what? You aren't speaking  about  U-Boot  here,
> right? Because Infineon's Purple board is a 5Kc system.

This is taken from cpu/mips/config.mk

MIPSFLAGS=$(shell \
if [ "$v" -lt "14" ]; then \
        echo "-mcpu=4kc -EB -mabicalls"; \
else \
        echo "-march=4kc -mtune=4kc -Wa,-mips_allow_branch_to_undefined -EB -mabicalls"; \
fi)

Also, this is part from Makefile:

ifeq ($(ARCH),mips)
CROSS_COMPILE = mips_4KC-
endif

So, what is all this then, an exercise in obfuscation? I can tell, it 
was successfully, I really thought only 4kc is supported, my apologies, 
Wolfgang.

Anyway, my comment still stands, this is bogus and cannot work for 4kc 
at least. The only reason INCA-IP port works is because memory is 
really initialized before stack is accessed.

--
Eugene

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-30  1:43     ` Eugene Surovegin
@ 2005-01-30  4:40       ` Dan Malek
  2005-01-30  9:18         ` Wolfgang Denk
  2005-01-30  9:13       ` Wolfgang Denk
  1 sibling, 1 reply; 15+ messages in thread
From: Dan Malek @ 2005-01-30  4:40 UTC (permalink / raw)
  To: u-boot

On Jan 29, 2005, at 5:43 PM, Eugene Surovegin wrote:

> This is taken from cpu/mips/config.mk

Which is the main thing I want to fix.  I don't yet know the proper
solution, but it sounds like there is at least consensus to try
another approach.  The main reason I'm asking is that I don't
have access to other MIPS boards for testing, and I didn't know
the history of this development.  I have several Alchemy Au1xxx
boards that I intend to get running with u-boot, in both big and
little endian modes, along with a couple of R4Kc custom cores.

> ifeq ($(ARCH),mips)
> CROSS_COMPILE = mips_4KC-
> endif

Any objections to setting CROSS_COMPILE in include/config.mk
and allow setting it within the 'mkconfig' part of the Makefile?
I still don't know what to do with the rest of the config.mk, as it
sets R4Kc specific flags based upon the binutils version.

Thanks.

	-- Dan

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-30  1:43     ` Eugene Surovegin
  2005-01-30  4:40       ` Dan Malek
@ 2005-01-30  9:13       ` Wolfgang Denk
  2005-01-30 10:26         ` Eugene Surovegin
  1 sibling, 1 reply; 15+ messages in thread
From: Wolfgang Denk @ 2005-01-30  9:13 UTC (permalink / raw)
  To: u-boot

Dear Eugene,

in message <20050130014351.GB24482@gate.ebshome.net> you wrote:
> 
> This is taken from cpu/mips/config.mk

As Dan already pointed out the config.mk  file  probably  needs  some
adaption  to  support  other MIPS configurations. It just happened to
work like this for the currently supported boards.

> Also, this is part from Makefile:
> 
> ifeq ($(ARCH),mips)
> CROSS_COMPILE = mips_4KC-
> endif

Yes, I know. But the Purple is really a 5Kc system - as far as U-Boot
was  concerned  the  code  there  was  no  prolems  using   the   4Kc
configuration for it.

> So, what is all this then, an exercise in obfuscation? I can tell, it 

No, lazuiness - you only change what really needs to  be  changed  to
get something working. As long as this is a one-time use this is IMHO
even  acceptable.  It's  when more systems get added when you have to
think about a more general approach.

> Anyway, my comment still stands, this is bogus and cannot work for 4kc 
> at least. The only reason INCA-IP port works is because memory is 
> really initialized before stack is accessed.

Please feel free to submit a patch.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Quote from a recent meeting:   "We are going to continue having these
meetings everyday until I find out why no work is getting done."

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-30  4:40       ` Dan Malek
@ 2005-01-30  9:18         ` Wolfgang Denk
  2005-01-30 10:33           ` Eugene Surovegin
  0 siblings, 1 reply; 15+ messages in thread
From: Wolfgang Denk @ 2005-01-30  9:18 UTC (permalink / raw)
  To: u-boot

Deear Dan,

in message <ff6e59bad677e5375666e34e99d50cbd@embeddededge.com> you wrote:
> 

ifndef CROSS_COMPILE

> > ifeq ($(ARCH),mips)
> > CROSS_COMPILE = mips_4KC-
> > endif

endif

> Any objections to setting CROSS_COMPILE in include/config.mk
> and allow setting it within the 'mkconfig' part of the Makefile?

Yes. Please don't do this, as it is not  necessary.  The  "mips_4KC-"
setting  above  is  just the default which is used when the user does
not supply a CROSS_COMPILE setting either in his  environment  or  in
the make command line. This should be sufficient.

> I still don't know what to do with the rest of the config.mk, as it
> sets R4Kc specific flags based upon the binutils version.

This   is   because   we   needed   a   way   to    find    out    if
"allow_branch_to_undefined"  is  available;  maybe  you know a better
approach.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A committee is a group that keeps the minutes and loses hours.
                                                      -- Milton Berle

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-30  9:13       ` Wolfgang Denk
@ 2005-01-30 10:26         ` Eugene Surovegin
  2005-09-24 23:16           ` Wolfgang Denk
  0 siblings, 1 reply; 15+ messages in thread
From: Eugene Surovegin @ 2005-01-30 10:26 UTC (permalink / raw)
  To: u-boot

On Sun, Jan 30, 2005 at 10:13:54AM +0100, Wolfgang Denk wrote:
> > Anyway, my comment still stands, this is bogus and cannot work for 4kc 
> > at least. The only reason INCA-IP port works is because memory is 
> > really initialized before stack is accessed.
> 
> Please feel free to submit a patch.

Unfortunately, it's not that simple :). This is one of those rare 
cases when bug might have become a "feature". Let me explain.

Comment about setting up a temporary stack is obviously incorrect, but 
there is side effect of this cache locking (probably unintentional). 

Dcache is never get _unlocked_ after we copied U-Boot into the RAM. 
This effectively _disables_ dcache, because it's highly unlikely that 
we will use those addresses again during normal operation. This in 
turn makes cache-coherency (4kc is non-cache coherent core) a 
non-issue, making drivers simpler.

When I first discovered this "cache-locking-for-temporary-stack" 
inconsistency, my first attempt was to remove cache locking  
altogether, and it even worked, although I haven't done extensive 
testing. 

Then I started thinking about side effect I just described and I 
wasn't quite sure that just removing this was safe. This is the main 
reason I haven't submitted patch in the first place, because I didn't 
have time to audit all the code for the cache-coherency problems.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-30  9:18         ` Wolfgang Denk
@ 2005-01-30 10:33           ` Eugene Surovegin
  0 siblings, 0 replies; 15+ messages in thread
From: Eugene Surovegin @ 2005-01-30 10:33 UTC (permalink / raw)
  To: u-boot

On Sun, Jan 30, 2005 at 10:18:55AM +0100, Wolfgang Denk wrote:
> This   is   because   we   needed   a   way   to    find    out    if
> "allow_branch_to_undefined"  is  available;  maybe  you know a better
> approach.

Why not just modify start.S (I posted a patch earlier in this thread) 
so we don't need this "allow_branch_to_undefined" hack at all?

--
Eugene

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot-Users] MIPS build environment
  2005-01-30 10:26         ` Eugene Surovegin
@ 2005-09-24 23:16           ` Wolfgang Denk
  0 siblings, 0 replies; 15+ messages in thread
From: Wolfgang Denk @ 2005-09-24 23:16 UTC (permalink / raw)
  To: u-boot

In message <20050130102615.GC24482@gate.ebshome.net> you wrote:
> 
> So, currently I have two possible paths:
> 
> 1) Remove cache locking for 4kc (e.g. put #ifdef CONFIG_PURPLE) or 
> maybe add CONFIG_WRITE_THROUGH_CACHE and use it.
> 
> 2) Call dcache_disable instead.
> 
> Option 1) seems more clean, although potentially more dangerous. 
> Option 2) looks safe and keeps current *behavior* while making it 
> explicit.

I haven't seen any additional comments about this,  or  have  I  been
missing these?

In case it still matters: my preference is 2)

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
In the beginning, I was made. I didn't ask to be made. No one consul-
ted with me or considered my feelings  in  this  matter.  But  if  it
brought  some  passing fancy to some lowly humans as they haphazardly
pranced their way through life's mournful jungle, then so be it.
- Marvin the Paranoid Android

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2005-09-24 23:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox