Blackfin: kgdb: pass up the CC register instead of a 0 stub
authorMike Frysinger <vapier@gentoo.org>
Mon, 12 Apr 2010 05:53:35 +0000 (05:53 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 22 May 2010 18:19:07 +0000 (14:19 -0400)
While the CC pseudo register can be deduced from the ASTAT register, make
sure we set its value correctly instead of always stubbing it out as 0.
GDB itself looks at this pseudo register instead of ASTAT, so we have to
supply the right value.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/kernel/kgdb.c

index 2c501ceb1e557e4bc25a57d6ea611cb7806b06a5..ad1c05308485585a484e23205a99fa682420ff82 100644 (file)
@@ -66,7 +66,7 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
        gdb_regs[BFIN_RETN] = regs->retn;
        gdb_regs[BFIN_RETE] = regs->rete;
        gdb_regs[BFIN_PC] = regs->pc;
-       gdb_regs[BFIN_CC] = 0;
+       gdb_regs[BFIN_CC] = (regs->astat >> 5) & 1;
        gdb_regs[BFIN_EXTRA1] = 0;
        gdb_regs[BFIN_EXTRA2] = 0;
        gdb_regs[BFIN_EXTRA3] = 0;