|
36 | 36 | #include <asm/unwinder.h>
|
37 | 37 | #include <asm/sections.h>
|
38 | 38 |
|
39 |
| -static int kstack_depth_to_print = 0x180; |
40 | 39 | int lwa_flag;
|
41 | 40 | static unsigned long __user *lwa_addr;
|
42 | 41 |
|
@@ -153,80 +152,6 @@ void show_registers(struct pt_regs *regs)
|
153 | 152 | printk("\n");
|
154 | 153 | }
|
155 | 154 |
|
156 |
| -void nommu_dump_state(struct pt_regs *regs, |
157 |
| - unsigned long ea, unsigned long vector) |
158 |
| -{ |
159 |
| - int i; |
160 |
| - unsigned long addr, stack = regs->sp; |
161 |
| - |
162 |
| - printk("\n\r[nommu_dump_state] :: ea %lx, vector %lx\n\r", ea, vector); |
163 |
| - |
164 |
| - printk("CPU #: %d\n" |
165 |
| - " PC: %08lx SR: %08lx SP: %08lx\n", |
166 |
| - 0, regs->pc, regs->sr, regs->sp); |
167 |
| - printk("GPR00: %08lx GPR01: %08lx GPR02: %08lx GPR03: %08lx\n", |
168 |
| - 0L, regs->gpr[1], regs->gpr[2], regs->gpr[3]); |
169 |
| - printk("GPR04: %08lx GPR05: %08lx GPR06: %08lx GPR07: %08lx\n", |
170 |
| - regs->gpr[4], regs->gpr[5], regs->gpr[6], regs->gpr[7]); |
171 |
| - printk("GPR08: %08lx GPR09: %08lx GPR10: %08lx GPR11: %08lx\n", |
172 |
| - regs->gpr[8], regs->gpr[9], regs->gpr[10], regs->gpr[11]); |
173 |
| - printk("GPR12: %08lx GPR13: %08lx GPR14: %08lx GPR15: %08lx\n", |
174 |
| - regs->gpr[12], regs->gpr[13], regs->gpr[14], regs->gpr[15]); |
175 |
| - printk("GPR16: %08lx GPR17: %08lx GPR18: %08lx GPR19: %08lx\n", |
176 |
| - regs->gpr[16], regs->gpr[17], regs->gpr[18], regs->gpr[19]); |
177 |
| - printk("GPR20: %08lx GPR21: %08lx GPR22: %08lx GPR23: %08lx\n", |
178 |
| - regs->gpr[20], regs->gpr[21], regs->gpr[22], regs->gpr[23]); |
179 |
| - printk("GPR24: %08lx GPR25: %08lx GPR26: %08lx GPR27: %08lx\n", |
180 |
| - regs->gpr[24], regs->gpr[25], regs->gpr[26], regs->gpr[27]); |
181 |
| - printk("GPR28: %08lx GPR29: %08lx GPR30: %08lx GPR31: %08lx\n", |
182 |
| - regs->gpr[28], regs->gpr[29], regs->gpr[30], regs->gpr[31]); |
183 |
| - printk(" RES: %08lx oGPR11: %08lx\n", |
184 |
| - regs->gpr[11], regs->orig_gpr11); |
185 |
| - |
186 |
| - printk("Process %s (pid: %d, stackpage=%08lx)\n", |
187 |
| - ((struct task_struct *)(__pa(current)))->comm, |
188 |
| - ((struct task_struct *)(__pa(current)))->pid, |
189 |
| - (unsigned long)current); |
190 |
| - |
191 |
| - printk("\nStack: "); |
192 |
| - printk("Stack dump [0x%08lx]:\n", (unsigned long)stack); |
193 |
| - for (i = 0; i < kstack_depth_to_print; i++) { |
194 |
| - if (((long)stack & (THREAD_SIZE - 1)) == 0) |
195 |
| - break; |
196 |
| - stack++; |
197 |
| - |
198 |
| - printk("%lx :: sp + %02d: 0x%08lx\n", stack, i * 4, |
199 |
| - *((unsigned long *)(__pa(stack)))); |
200 |
| - } |
201 |
| - printk("\n"); |
202 |
| - |
203 |
| - printk("Call Trace: "); |
204 |
| - i = 1; |
205 |
| - while (((long)stack & (THREAD_SIZE - 1)) != 0) { |
206 |
| - addr = *((unsigned long *)__pa(stack)); |
207 |
| - stack++; |
208 |
| - |
209 |
| - if (kernel_text_address(addr)) { |
210 |
| - if (i && ((i % 6) == 0)) |
211 |
| - printk("\n "); |
212 |
| - printk(" [<%08lx>]", addr); |
213 |
| - i++; |
214 |
| - } |
215 |
| - } |
216 |
| - printk("\n"); |
217 |
| - |
218 |
| - printk("\nCode: "); |
219 |
| - |
220 |
| - for (i = -24; i < 24; i++) { |
221 |
| - unsigned long word; |
222 |
| - |
223 |
| - word = ((unsigned long *)(__pa(regs->pc)))[i]; |
224 |
| - |
225 |
| - print_data(regs->pc, word, i); |
226 |
| - } |
227 |
| - printk("\n"); |
228 |
| -} |
229 |
| - |
230 | 155 | /* This is normally the 'Oops' routine */
|
231 | 156 | void __noreturn die(const char *str, struct pt_regs *regs, long err)
|
232 | 157 | {
|
|
0 commit comments