diff options
| -rw-r--r-- | arch/mips/kernel/kgdb.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/mips/kernel/kgdb.c b/arch/mips/kernel/kgdb.c index 5e76c2daa7f4..1f4e2fa64140 100644 --- a/arch/mips/kernel/kgdb.c +++ b/arch/mips/kernel/kgdb.c | |||
| @@ -329,7 +329,7 @@ static struct notifier_block kgdb_notifier = { | |||
| 329 | }; | 329 | }; |
| 330 | 330 | ||
| 331 | /* | 331 | /* |
| 332 | * Handle the 's' and 'c' commands | 332 | * Handle the 'c' command |
| 333 | */ | 333 | */ |
| 334 | int kgdb_arch_handle_exception(int vector, int signo, int err_code, | 334 | int kgdb_arch_handle_exception(int vector, int signo, int err_code, |
| 335 | char *remcom_in_buffer, char *remcom_out_buffer, | 335 | char *remcom_in_buffer, char *remcom_out_buffer, |
| @@ -337,20 +337,14 @@ int kgdb_arch_handle_exception(int vector, int signo, int err_code, | |||
| 337 | { | 337 | { |
| 338 | char *ptr; | 338 | char *ptr; |
| 339 | unsigned long address; | 339 | unsigned long address; |
| 340 | int cpu = smp_processor_id(); | ||
| 341 | 340 | ||
| 342 | switch (remcom_in_buffer[0]) { | 341 | switch (remcom_in_buffer[0]) { |
| 343 | case 's': | ||
| 344 | case 'c': | 342 | case 'c': |
| 345 | /* handle the optional parameter */ | 343 | /* handle the optional parameter */ |
| 346 | ptr = &remcom_in_buffer[1]; | 344 | ptr = &remcom_in_buffer[1]; |
| 347 | if (kgdb_hex2long(&ptr, &address)) | 345 | if (kgdb_hex2long(&ptr, &address)) |
| 348 | regs->cp0_epc = address; | 346 | regs->cp0_epc = address; |
| 349 | 347 | ||
| 350 | atomic_set(&kgdb_cpu_doing_single_step, -1); | ||
| 351 | if (remcom_in_buffer[0] == 's') | ||
| 352 | atomic_set(&kgdb_cpu_doing_single_step, cpu); | ||
| 353 | |||
| 354 | return 0; | 348 | return 0; |
| 355 | } | 349 | } |
| 356 | 350 | ||
