Debugging with BDI

Juergen Beisert jbeisert at eurodsn.de
Fri Jul 18 19:26:35 EST 2003


Hi all,

I'm trying to debug my u-boot with BDI. It's a 405GP system.
In the telnet sessoin I can insert "reset run" and the u-boot starts. When I
enter "reset halt" and then "go" it won't do anything. I have tried with ddd
and I see a few instructions work up to the mtmsr instruction (with "restart
halt", "bi 0xfffc0100"and "go" at the BDI telent and then start the ddd)

See file cpu/ppc4xx/start.S:
#if defined(CONFIG_405GP) || defined(CONFIG_405CR) || defined(CONFIG_405)
 /*----------------------------------------------------------------------- */
 /* Clear and set up some registers. */
 /*----------------------------------------------------------------------- */
          addi    r4,r0,0x0000
          mtspr   sgr,r4
          mtspr   dcwr,r4
          mtesr   r4               /* clear Exception Syndrome Reg */
          mttcr   r4                /* clear Timer Control Reg */
          mtxer   r4               /* clear Fixed-Point Exception Reg */
          mtevpr  r4              /* clear Exception Vector Prefix Reg */
          addi  r4,r0,0x1000    /* set ME bit (Machine Exceptions) */
          oris  r4,r4,0x0002      /* set CE bit (Critical Exceptions) */
          mtmsr   r4                  /* change MSR */
When I step the mtmsr instruction ddd shows address 0x700, and the esr
register has 0x8800'0000 (illegal instruction occured?????).
Same when I place a breakpoint behind the mtmsr instruction und use "cont"
instead of "stepi".

What is the difference between "reset run" and "reset halt", "go"?

Thanks in advance for any suggestion.

-- JB

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list