projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cpu/ non-mpc*: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).
[oweals/u-boot.git]
/
cpu
/
mips
/
start.S
diff --git
a/cpu/mips/start.S
b/cpu/mips/start.S
index 86a8407f61afc4e2d82324aa26f053671166c162..e91e2137d704f7eb8c0fe7ab6b1907673c1f2716 100644
(file)
--- a/
cpu/mips/start.S
+++ b/
cpu/mips/start.S
@@
-65,7
+65,7
@@
_start:
RVECENT(romReserved,14)
RVECENT(romReserved,15)
RVECENT(romReserved,16)
RVECENT(romReserved,14)
RVECENT(romReserved,15)
RVECENT(romReserved,16)
- RVECENT(romReserved,17)
+ RVECENT(romReserved,17)
RVECENT(romReserved,18)
RVECENT(romReserved,19)
RVECENT(romReserved,20)
RVECENT(romReserved,18)
RVECENT(romReserved,19)
RVECENT(romReserved,20)
@@
-111,7
+111,7
@@
_start:
RVECENT(romReserved,60)
RVECENT(romReserved,61)
RVECENT(romReserved,62)
RVECENT(romReserved,60)
RVECENT(romReserved,61)
RVECENT(romReserved,62)
- RVECENT(romReserved,63)
+ RVECENT(romReserved,63)
XVECENT(romExcHandle,0x200) /* bfc00200: R4000 tlbmiss vector */
RVECENT(romReserved,65)
RVECENT(romReserved,66)
XVECENT(romExcHandle,0x200) /* bfc00200: R4000 tlbmiss vector */
RVECENT(romReserved,65)
RVECENT(romReserved,66)
@@
-127,7
+127,7
@@
_start:
RVECENT(romReserved,76)
RVECENT(romReserved,77)
RVECENT(romReserved,78)
RVECENT(romReserved,76)
RVECENT(romReserved,77)
RVECENT(romReserved,78)
- RVECENT(romReserved,79)
+ RVECENT(romReserved,79)
XVECENT(romExcHandle,0x280) /* bfc00280: R4000 xtlbmiss vector */
RVECENT(romReserved,81)
RVECENT(romReserved,82)
XVECENT(romExcHandle,0x280) /* bfc00280: R4000 xtlbmiss vector */
RVECENT(romReserved,81)
RVECENT(romReserved,82)
@@
-143,7
+143,7
@@
_start:
RVECENT(romReserved,92)
RVECENT(romReserved,93)
RVECENT(romReserved,94)
RVECENT(romReserved,92)
RVECENT(romReserved,93)
RVECENT(romReserved,94)
- RVECENT(romReserved,95)
+ RVECENT(romReserved,95)
XVECENT(romExcHandle,0x300) /* bfc00300: R4000 cache vector */
RVECENT(romReserved,97)
RVECENT(romReserved,98)
XVECENT(romExcHandle,0x300) /* bfc00300: R4000 cache vector */
RVECENT(romReserved,97)
RVECENT(romReserved,98)
@@
-176,7
+176,7
@@
_start:
RVECENT(romReserved,125)
RVECENT(romReserved,126)
RVECENT(romReserved,127)
RVECENT(romReserved,125)
RVECENT(romReserved,126)
RVECENT(romReserved,127)
-
+
/* We hope there are no more reserved vectors!
* 128 * 8 == 1024 == 0x400
* so this is address R_VEC+0x400 == 0xbfc00400
/* We hope there are no more reserved vectors!
* 128 * 8 == 1024 == 0x400
* so this is address R_VEC+0x400 == 0xbfc00400
@@
-214,7
+214,11
@@
reset:
mtc0 zero, CP0_WATCHHI
/* STATUS register */
mtc0 zero, CP0_WATCHHI
/* STATUS register */
+#ifdef CONFIG_TB0229
+ li k0, ST0_CU0
+#else
mfc0 k0, CP0_STATUS
mfc0 k0, CP0_STATUS
+#endif
li k1, ~ST0_IE
and k0, k1
mtc0 k0, CP0_STATUS
li k1, ~ST0_IE
and k0, k1
mtc0 k0, CP0_STATUS
@@
-230,21
+234,34
@@
reset:
li t0, CONF_CM_UNCACHED
mtc0 t0, CP0_CONFIG
li t0, CONF_CM_UNCACHED
mtc0 t0, CP0_CONFIG
+ /* Initialize GOT pointer.
+ */
+ bal 1f
+ nop
+ .word _GLOBAL_OFFSET_TABLE_
+ 1:
+ move gp, ra
+ lw t1, 0(ra)
+ move gp, t1
+
#ifdef CONFIG_INCA_IP
/* Disable INCA-IP Watchdog.
*/
#ifdef CONFIG_INCA_IP
/* Disable INCA-IP Watchdog.
*/
- bal disable_incaip_wdt
+ la t9, disable_incaip_wdt
+ jalr t9
nop
#endif
nop
#endif
- /* Initialize any external memory.
+ /* Initialize any external memory.
*/
*/
- bal memsetup
+ la t9, lowlevel_init
+ jalr t9
nop
/* Initialize caches...
*/
nop
/* Initialize caches...
*/
- bal mips_cache_reset
+ la t9, mips_cache_reset
+ jalr t9
nop
/* ... and enable them.
nop
/* ... and enable them.
@@
-256,21
+273,13
@@
reset:
/* Set up temporary stack.
*/
li a0, CFG_INIT_SP_OFFSET
/* 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)
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
la t9, board_init_f
j t9
nop
@@
-291,6
+300,11
@@
reset:
relocate_code:
move sp, a0 /* Set new stack pointer */
relocate_code:
move sp, a0 /* Set new stack pointer */
+ li t0, CFG_MONITOR_BASE
+ la t3, in_ram
+ lw t2, -12(t3) /* t2 <-- uboot_end_data */
+ move t1, a2
+
/*
* Fix GOT pointer:
*
/*
* Fix GOT pointer:
*
@@
-300,10
+314,6
@@
relocate_code:
sub gp, CFG_MONITOR_BASE
add gp, a2 /* gp now adjusted */
sub t6, gp, t6 /* t6 <-- relocation offset */
sub gp, CFG_MONITOR_BASE
add gp, a2 /* gp now adjusted */
sub t6, gp, t6 /* t6 <-- relocation offset */
-
- li t0, CFG_MONITOR_BASE
- add t2, t0, CFG_MONITOR_LEN
- move t1, a2
/*
* t0 = source address
/*
* t0 = source address
@@
-362,14
+372,13
@@
in_ram:
1: addi t1, 4
bltl t1, t2, 1b
sw zero, 0(t1) /* delay slot */
1: addi t1, 4
bltl t1, t2, 1b
sw zero, 0(t1) /* delay slot */
-
+
move a0, a1
la t9, board_init_r
j t9
move a1, a2 /* delay slot */
.end relocate_code
move a0, a1
la t9, board_init_r
j t9
move a1, a2 /* delay slot */
.end relocate_code
-
/* Exception handlers.
/* Exception handlers.
@@
-379,4
+388,3
@@
romReserved:
romExcHandle:
b romExcHandle
romExcHandle:
b romExcHandle
-