[U-Boot-Users] Optimization problem showing up in tsec.c on MPC8641D
Joe Hamman
joe.hamman at comcast.net
Fri May 4 02:09:48 CEST 2007
Hi all,
I was about to submit a patch to add support for an MPC8641D based board,
but I ran into a problem in tsec.c when I set optimization back to -Os.
(With optimization set to -O1 or -O2, the problem does not appear.)
If I let the code run from reset, it halts at address 0ffe18bc (tsec.c line
309) and all the GPRs appear to be 0xffffffff. If I place an internal
hardware breakpoint at 0ffe18bc, and run from reset, it hits the breakpoint
4 times (there is a quad phy on the board). If I resume after the 4th
break, the code runs to the u-boot prompt, counts down and loads
linux/ramdisk/dtb from flash and boots into linux correctly.
At first I thought it might be a DRAM problem, possibly not letting it
"settle" long enough after initialization, so I let it hit the breakpoint
(everything looked good), removed the breakpoint and let it resume and I see
the same problem.
Here's the snippet of code that's giving me the trouble:
302 /* Reset MII (due to new addresses) */
303 priv->phyregs->miimcfg = MIIMCFG_RESET;
0ffe1890: lwz r9,4(r31)
0ffe1894: lis r0,-0x8000
0ffe1898: stw r0,0x520(r9)
304 asm("sync");
0ffe189c: sync
305 priv->phyregs->miimcfg = MIIMCFG_INIT_VALUE;
0ffe18a0: li r0,3
0ffe18a4: stw r0,0x520(r9)
306 asm("sync");
0ffe18a8: sync
307 while (priv->phyregs->miimind & MIIMIND_BUSY) ;
0ffe18ac: lwz r0,0x534(r9)
0ffe18b0: andi. r11,r0,1
0ffe18b4: bne 0xFFE18AC
308
309 if (0 == relocated)
0ffe18b8: lwz r9,-0x7FDC(r30)
0ffe18bc: lwz r0,0(r9)
0ffe18c0: cmpi 7,r0,0
0ffe18c4: bne cr7,0xFFE1984
1316 /* First thing's first: relocate the pointers to the
1317 * PHY command structures (the structs were done) */
1318 phy_info[i] = (struct phy_info *)((uint) phy_info[i]
0ffe18c8: lwz r27,-0x8000(r30)
0ffe18cc: mr r3,r29
0ffe18d0: b 0xFFE196C
0ffe18d4: lwz r9,0x18(r3)
1319 + gd->reloc_off);
1320 phy_info[i]->name += gd->reloc_off;
0ffe18d8: lwz r4,0x18(r3)
0ffe18dc: add r9,r0,r9
Thanks in advance,
Joe
More information about the U-Boot
mailing list