diff options
-rw-r--r-- | arch/powerpc/kernel/process.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 57c589c34147..588c0cb8115e 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -354,6 +354,14 @@ static void show_instructions(struct pt_regs *regs) | |||
354 | if (!(i % 8)) | 354 | if (!(i % 8)) |
355 | printk("\n"); | 355 | printk("\n"); |
356 | 356 | ||
357 | #if !defined(CONFIG_BOOKE) | ||
358 | /* If executing with the IMMU off, adjust pc rather | ||
359 | * than print XXXXXXXX. | ||
360 | */ | ||
361 | if (!(regs->msr & MSR_IR)) | ||
362 | pc = (unsigned long)phys_to_virt(pc); | ||
363 | #endif | ||
364 | |||
357 | /* We use __get_user here *only* to avoid an OOPS on a | 365 | /* We use __get_user here *only* to avoid an OOPS on a |
358 | * bad address because the pc *should* only be a | 366 | * bad address because the pc *should* only be a |
359 | * kernel address. | 367 | * kernel address. |