diff options
Diffstat (limited to 'arch/mn10300/kernel/gdb-stub.c')
| -rw-r--r-- | arch/mn10300/kernel/gdb-stub.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/arch/mn10300/kernel/gdb-stub.c b/arch/mn10300/kernel/gdb-stub.c index 41b11706c8ed..a5fc3f05309b 100644 --- a/arch/mn10300/kernel/gdb-stub.c +++ b/arch/mn10300/kernel/gdb-stub.c | |||
| @@ -440,15 +440,11 @@ static const unsigned char gdbstub_insn_sizes[256] = | |||
| 440 | 440 | ||
| 441 | static int __gdbstub_mark_bp(u8 *addr, int ix) | 441 | static int __gdbstub_mark_bp(u8 *addr, int ix) |
| 442 | { | 442 | { |
| 443 | if (addr < (u8 *) 0x70000000UL) | 443 | /* vmalloc area */ |
| 444 | return 0; | 444 | if (((u8 *) VMALLOC_START <= addr) && (addr < (u8 *) VMALLOC_END)) |
| 445 | /* 70000000-7fffffff: vmalloc area */ | ||
| 446 | if (addr < (u8 *) 0x80000000UL) | ||
| 447 | goto okay; | 445 | goto okay; |
| 448 | if (addr < (u8 *) 0x8c000000UL) | 446 | /* SRAM, SDRAM */ |
| 449 | return 0; | 447 | if (((u8 *) 0x80000000UL <= addr) && (addr < (u8 *) 0xa0000000UL)) |
| 450 | /* 8c000000-93ffffff: SRAM, SDRAM */ | ||
| 451 | if (addr < (u8 *) 0x94000000UL) | ||
| 452 | goto okay; | 448 | goto okay; |
| 453 | return 0; | 449 | return 0; |
| 454 | 450 | ||
| @@ -1197,9 +1193,8 @@ static int gdbstub(struct pt_regs *regs, enum exception_code excep) | |||
| 1197 | mn10300_set_gdbleds(1); | 1193 | mn10300_set_gdbleds(1); |
| 1198 | 1194 | ||
| 1199 | asm volatile("mov mdr,%0" : "=d"(mdr)); | 1195 | asm volatile("mov mdr,%0" : "=d"(mdr)); |
| 1200 | asm volatile("mov epsw,%0" : "=d"(epsw)); | 1196 | local_save_flags(epsw); |
| 1201 | asm volatile("mov %0,epsw" | 1197 | local_change_intr_mask_level(NUM2EPSW_IM(CONFIG_GDBSTUB_IRQ_LEVEL + 1)); |
| 1202 | :: "d"((epsw & ~EPSW_IM) | EPSW_IE | EPSW_IM_1)); | ||
| 1203 | 1198 | ||
| 1204 | gdbstub_store_fpu(); | 1199 | gdbstub_store_fpu(); |
| 1205 | 1200 | ||
