Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 228455
b: refs/heads/master
c: 900de05
h: refs/heads/master
i:
  228453: 2fe7807
  228451: 7eb9006
  228447: db70a71
v: v3
  • Loading branch information
Sonic Zhang authored and Mike Frysinger committed Jan 10, 2011
1 parent 2678899 commit 27aff2d
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 84e97c1014a2afe1a07beb1b6de5f2d867b368fd
refs/heads/master: 900de05182d520ff66378e74a7b18f7d9971a32d
20 changes: 20 additions & 0 deletions trunk/arch/blackfin/kernel/kgdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,18 @@ void kgdb_roundup_cpu(int cpu, unsigned long flags)
}
#endif

#ifdef CONFIG_IPIPE
static unsigned long kgdb_arch_imask;

void kgdb_post_primary_code(struct pt_regs *regs, int e_vector, int err_code)
{
if (kgdb_arch_imask) {
cpu_pda[raw_smp_processor_id()].ex_imask = kgdb_arch_imask;
kgdb_arch_imask = 0;
}
}
#endif

int kgdb_arch_handle_exception(int vector, int signo,
int err_code, char *remcom_in_buffer,
char *remcom_out_buffer,
Expand Down Expand Up @@ -388,6 +400,11 @@ int kgdb_arch_handle_exception(int vector, int signo,
* kgdb_single_step > 0 means in single step mode
*/
kgdb_single_step = i + 1;

#ifdef CONFIG_IPIPE
kgdb_arch_imask = cpu_pda[raw_smp_processor_id()].ex_imask;
cpu_pda[raw_smp_processor_id()].ex_imask = 0;
#endif
}

bfin_correct_hw_break();
Expand Down Expand Up @@ -448,6 +465,9 @@ void kgdb_arch_set_pc(struct pt_regs *regs, unsigned long ip)
int kgdb_arch_init(void)
{
kgdb_single_step = 0;
#ifdef CONFIG_IPIPE
kgdb_arch_imask = 0;
#endif

bfin_remove_all_hw_break();
return 0;
Expand Down

0 comments on commit 27aff2d

Please sign in to comment.