[U-Boot-Users] A couple of MIPS questions

Hans Zuidam hans.zuidam at philips.com
Wed Aug 30 20:00:02 CEST 2006


Hi,

A couple of questions about the MIPS implementation of U-Boot.  Maybe 
someone can answer them:

In cpu/mips/start.S a large branch table is defined from the symbol _start 
onward.  What is the reason for this?
(There are only a few exception vectors defined in the MIPS32 
architecture, although you can move them
elsewhere in memory.)

The instruction sequence for initialising the GOT is somehwat redundant, 
unless I am missing something:

        move    gp, ra
        lw      t1, 0(ra)
        move    gp, t1

can be replaced by:

        lw      gp, 0(ra)

Is there a reason as to why the MIPS code does not (attempt to) make a 
register dump when an exception
occurs?  (BTW, the branches romReserved and romExcHandle are missing a NOP 
in their delay slot.)

Is it safe to run with caches enabled?  I.e. do all drivers either flush 
the cache when doing I/O or is it safer
to run with caches disabled.

Is there a reason for the serial, ethernet and USB drivers to exist in 
cpu/mips other than that they be belong
to MIPS based SoCs?

Thanks in advance.

Regards,
Hans Zuidam
--
Hans Zuidam
Sen. Systems Engineer, BL DTS ICE, Philips Semiconductors

Building A410, Room 3.40
High Tech Campus 41, 5656 AE Eindhoven, The Netherlands
Tel. +31 (0)40 2746579
E-Mail: hans.zuidam at philips.com





More information about the U-Boot mailing list