[U-Boot-Users] why the = will effect gd in board_init_f but do not effect in board_init_r

zhuzhenhua zzh.hust at gmail.com
Wed Nov 23 02:18:28 CET 2005


in my disassemble file , i find the operation of k0 in board_init_f
but not find in board_init_r, why? is there any other toolchain to
compile u-boot for mips?

bfc008e8 <board_init_f>:
bfc008e8:	3c1c0001 	lui	gp,0x1
bfc008ec:	279cdef8 	addiu	gp,gp,-8456
bfc008f0:	0399e021 	addu	gp,gp,t9
bfc008f4:	27bdffa8 	addiu	sp,sp,-88
bfc008f8:	afbc0010 	sw	gp,16(sp)
bfc008fc:	8f820124 	lw	v0,292(gp)
bfc00900:	afb10044 	sw	s1,68(sp)
bfc00904:	afbf0054 	sw	ra,84(sp)
bfc00908:	afbc0050 	sw	gp,80(sp)
bfc0090c:	afb3004c 	sw	s3,76(sp)
bfc00910:	afb20048 	sw	s2,72(sp)
bfc00914:	afb00040 	sw	s0,64(sp)
bfc00918:	3c114040 	lui	s1,0x4040
bfc0091c:	02228821 	addu	s1,s1,v0

bfc00920:	27ba0018 	addiu	k0,sp,24
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


bfc00bb4 <board_init_r>:
bfc00bb4:	3c1c0001 	lui	gp,0x1
bfc00bb8:	279cdc2c 	addiu	gp,gp,-9172
bfc00bbc:	0399e021 	addu	gp,gp,t9
bfc00bc0:	27bdffd8 	addiu	sp,sp,-40
bfc00bc4:	afbc0010 	sw	gp,16(sp)
bfc00bc8:	afb00018 	sw	s0,24(sp)
bfc00bcc:	00a08021 	move	s0,a1
bfc00bd0:	00802821 	move	a1,a0
bfc00bd4:	8f84000c 	lw	a0,12(gp)
bfc00bd8:	00000000 	nop
bfc00bdc:	2484c520 	addiu	a0,a0,-15072
bfc00be0:	afbf0020 	sw	ra,32(sp)
bfc00be4:	afbc001c 	sw	gp,28(sp)
bfc00be8:	8f9901b0 	lw	t9,432(gp)
bfc00bec:	0320f809 	jalr	t9
bfc00bf0:	00000000 	nop
bfc00bf4:	8fbc0010 	lw	gp,16(sp)
bfc00bf8:	8f84000c 	lw	a0,12(gp)
bfc00bfc:	00000000 	nop
bfc00c00:	2484c52c 	addiu	a0,a0,-15060
bfc00c04:	8f990074 	lw	t9,116(gp)
bfc00c08:	0320f809 	jalr	t9
bfc00c0c:	00000000 	nop
bfc00c10:	8fbc0010 	lw	gp,16(sp)
bfc00c14:	8f420004 	lw	v0,4(k0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ this is gd->flags |= GD_FLG_RELOC;
but at this time k0 is still as in board_init_f,


bfc00c18:	3c034040 	lui	v1,0x4040
bfc00c1c:	00701821 	addu	v1,v1,s0
bfc00c20:	8f84000c 	lw	a0,12(gp)




More information about the U-Boot mailing list