]> git.sur5r.net Git - u-boot/commit
kgdb: Remove first_entry for kgdb
authorPeng Fan <van.freenix@gmail.com>
Mon, 1 Sep 2014 13:48:07 +0000 (21:48 +0800)
committerTom Rini <trini@ti.com>
Tue, 16 Sep 2014 16:23:56 +0000 (12:23 -0400)
commitf9f040b21587ec884ff761cfa2f2fb66cc5157d1
treed1ee243faebc72936b07e3227b27c034ad1db0cc
parentf6c8f38ec601d32d88ba279d53991e15015c9466
kgdb: Remove first_entry for kgdb

There are two ways to run into handle_exception, run command 'kgdb' and
encounter a breakpoint which triggers exception handling.

The origin source code only saves regs when first run command 'kgdb'.
Take the following for example, When run 'kgdb', regs is saved to entry_regs.
When run 'bootz', regs is not saved. However, if we set a breakpoint, then
continue. When breakpoint is reached, run `quit`, and Now return to the
instruction which follows kgdb, but not bootz.This may cause errors. So,
save regs for each handle_exception call to return to the correct place.
Example:
Target      |    Host
=>kgdb      |    (gdb)b bootz
            |    (gdb)c
=>bootz     |
            |    (gdb)Here stop because of breakpoint
            |    (gdb)q

Signed-off-by: Peng Fan <van.freenix@gmail.com>
common/kgdb.c