diff options
| author | Chen Gang <gang.chen@asianux.com> | 2013-10-23 23:50:09 -0400 |
|---|---|---|
| committer | Vineet Gupta <vgupta@synopsys.com> | 2013-11-06 00:11:41 -0500 |
| commit | 3d01c1ce41fae0fb1d8e50589f9fb3b1fa376c1c (patch) | |
| tree | 624fa678e2f61feb1af56284df0824556d457607 | |
| parent | 0a4c40a3b702730c8b1ad0952e6501e84fadd395 (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>
| -rw-r--r-- | arch/arc/kernel/kgdb.c | 12 |
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 | ||
| 199 | static void kgdb_call_nmi_hook(void *ignored) | ||
| 200 | { | ||
| 201 | kgdb_nmicallback(raw_smp_processor_id(), NULL); | ||
| 202 | } | ||
| 203 | |||
| 204 | void 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 | |||
| 199 | struct kgdb_arch arch_kgdb_ops = { | 211 | struct 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 |
