aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc/kernel
diff options
context:
space:
mode:
authorChen Gang <gang.chen@asianux.com>2013-10-23 23:50:09 -0400
committerVineet Gupta <vgupta@synopsys.com>2013-11-06 00:11:41 -0500
commit3d01c1ce41fae0fb1d8e50589f9fb3b1fa376c1c (patch)
tree624fa678e2f61feb1af56284df0824556d457607 /arch/arc/kernel
parent0a4c40a3b702730c8b1ad0952e6501e84fadd395 (diff)
arc: kgdb: add default implementation for kgdb_roundup_cpus()
arc supports kgdb, but need update -- add function kgdb_roundup_cpus(), or can not pass compiling. At present, add the simple generic one just like other architectures(e.g. tile, mips ...). The related error (with allmodconfig): kernel/built-in.o: In function `kgdb_cpu_enter': kernel/debug/debug_core.c:580: undefined reference to `kgdb_roundup_cpus' Signed-off-by: Chen Gang <gang.chen@asianux.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel')
-rw-r--r--arch/arc/kernel/kgdb.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arc/kernel/kgdb.c b/arch/arc/kernel/kgdb.c
index a7698fb14818..a2ff5c5d1450 100644
--- a/arch/arc/kernel/kgdb.c
+++ b/arch/arc/kernel/kgdb.c
@@ -196,6 +196,18 @@ void kgdb_arch_set_pc(struct pt_regs *regs, unsigned long ip)
196 instruction_pointer(regs) = ip; 196 instruction_pointer(regs) = ip;
197} 197}
198 198
199static void kgdb_call_nmi_hook(void *ignored)
200{
201 kgdb_nmicallback(raw_smp_processor_id(), NULL);
202}
203
204void kgdb_roundup_cpus(unsigned long flags)
205{
206 local_irq_enable();
207 smp_call_function(kgdb_call_nmi_hook, NULL, 0);
208 local_irq_disable();
209}
210
199struct kgdb_arch arch_kgdb_ops = { 211struct kgdb_arch arch_kgdb_ops = {
200 /* breakpoint instruction: TRAP_S 0x3 */ 212 /* breakpoint instruction: TRAP_S 0x3 */
201#ifdef CONFIG_CPU_BIG_ENDIAN 213#ifdef CONFIG_CPU_BIG_ENDIAN