diff options
Diffstat (limited to 'arch/sparc/kernel/process.c')
-rw-r--r-- | arch/sparc/kernel/process.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c index 143fe2f3c1c4..2c216ffeea90 100644 --- a/arch/sparc/kernel/process.c +++ b/arch/sparc/kernel/process.c | |||
@@ -83,9 +83,6 @@ void default_idle(void) | |||
83 | */ | 83 | */ |
84 | void cpu_idle(void) | 84 | void cpu_idle(void) |
85 | { | 85 | { |
86 | if (current->pid != 0) | ||
87 | goto out; | ||
88 | |||
89 | /* endless idle loop with no priority at all */ | 86 | /* endless idle loop with no priority at all */ |
90 | for (;;) { | 87 | for (;;) { |
91 | if (ARCH_SUN4C_SUN4) { | 88 | if (ARCH_SUN4C_SUN4) { |
@@ -126,8 +123,6 @@ void cpu_idle(void) | |||
126 | schedule(); | 123 | schedule(); |
127 | check_pgt_cache(); | 124 | check_pgt_cache(); |
128 | } | 125 | } |
129 | out: | ||
130 | return; | ||
131 | } | 126 | } |
132 | 127 | ||
133 | #else | 128 | #else |
@@ -333,6 +328,17 @@ void show_stack(struct task_struct *tsk, unsigned long *_ksp) | |||
333 | printk("\n"); | 328 | printk("\n"); |
334 | } | 329 | } |
335 | 330 | ||
331 | void dump_stack(void) | ||
332 | { | ||
333 | unsigned long *ksp; | ||
334 | |||
335 | __asm__ __volatile__("mov %%fp, %0" | ||
336 | : "=r" (ksp)); | ||
337 | show_stack(current, ksp); | ||
338 | } | ||
339 | |||
340 | EXPORT_SYMBOL(dump_stack); | ||
341 | |||
336 | /* | 342 | /* |
337 | * Note: sparc64 has a pretty intricated thread_saved_pc, check it out. | 343 | * Note: sparc64 has a pretty intricated thread_saved_pc, check it out. |
338 | */ | 344 | */ |