diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2014-07-29 04:41:10 -0400 |
---|---|---|
committer | Steven Miao <realmz6@gmail.com> | 2015-04-23 09:34:26 -0400 |
commit | a0f4207d03b40eee6338b51288849965ac2b94e2 (patch) | |
tree | 77af05da8984f6e69b9e77dce5c66815ec482919 /arch/blackfin | |
parent | 4eb147c83f34e00184557923d2bf93f593deb41c (diff) |
bug[220] kgdb: change the smp cross core function entry
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/kernel/kgdb.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/blackfin/kernel/kgdb.c b/arch/blackfin/kernel/kgdb.c index fa53faeeb0e9..48dacde30550 100644 --- a/arch/blackfin/kernel/kgdb.c +++ b/arch/blackfin/kernel/kgdb.c | |||
@@ -330,9 +330,6 @@ static void bfin_disable_hw_debug(struct pt_regs *regs) | |||
330 | } | 330 | } |
331 | 331 | ||
332 | #ifdef CONFIG_SMP | 332 | #ifdef CONFIG_SMP |
333 | extern void generic_exec_single(int cpu, struct call_single_data *data, int wait); | ||
334 | static struct call_single_data kgdb_smp_ipi_data[NR_CPUS]; | ||
335 | |||
336 | void kgdb_passive_cpu_callback(void *info) | 333 | void kgdb_passive_cpu_callback(void *info) |
337 | { | 334 | { |
338 | kgdb_nmicallback(raw_smp_processor_id(), get_irq_regs()); | 335 | kgdb_nmicallback(raw_smp_processor_id(), get_irq_regs()); |
@@ -343,15 +340,14 @@ void kgdb_roundup_cpus(unsigned long flags) | |||
343 | unsigned int cpu; | 340 | unsigned int cpu; |
344 | 341 | ||
345 | for (cpu = cpumask_first(cpu_online_mask); cpu < nr_cpu_ids; | 342 | for (cpu = cpumask_first(cpu_online_mask); cpu < nr_cpu_ids; |
346 | cpu = cpumask_next(cpu, cpu_online_mask)) { | 343 | cpu = cpumask_next(cpu, cpu_online_mask)) |
347 | kgdb_smp_ipi_data[cpu].func = kgdb_passive_cpu_callback; | 344 | smp_call_function_single(cpu, kgdb_passive_cpu_callback, |
348 | generic_exec_single(cpu, &kgdb_smp_ipi_data[cpu], 0); | 345 | NULL, 0); |
349 | } | ||
350 | } | 346 | } |
351 | 347 | ||
352 | void kgdb_roundup_cpu(int cpu, unsigned long flags) | 348 | void kgdb_roundup_cpu(int cpu, unsigned long flags) |
353 | { | 349 | { |
354 | generic_exec_single(cpu, &kgdb_smp_ipi_data[cpu], 0); | 350 | smp_call_function_single(cpu, kgdb_passive_cpu_callback, NULL, 0); |
355 | } | 351 | } |
356 | #endif | 352 | #endif |
357 | 353 | ||