diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2006-11-07 18:22:59 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-11-12 22:48:56 -0500 |
commit | a416dd8d9cd3a3fa77b9839e0e6fc3c54927d8c3 (patch) | |
tree | 28f75e9810e1698b0aa4aab17deaa909ab1daa35 /arch | |
parent | 66a91e9c0ab62ea938afaba7352741d8c554a589 (diff) |
[PATCH] Do a single one-line printk in bad_page_fault()
bad_page_fault() prints a message telling the user what type of bad
fault we took. The first line of this message is currently implemented
as two separate printks. This has the unfortunate effect that if
several cpus simultaneously take a bad fault, the first and second parts
of the printk get jumbled up, which looks dodge and is hard to read.
So do a single one-line printk for each fault type.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/mm/fault.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index e8fa50624b70..03aeb3a46077 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -426,18 +426,21 @@ void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig) | |||
426 | 426 | ||
427 | /* kernel has accessed a bad area */ | 427 | /* kernel has accessed a bad area */ |
428 | 428 | ||
429 | printk(KERN_ALERT "Unable to handle kernel paging request for "); | ||
430 | switch (regs->trap) { | 429 | switch (regs->trap) { |
431 | case 0x300: | 430 | case 0x300: |
432 | case 0x380: | 431 | case 0x380: |
433 | printk("data at address 0x%08lx\n", regs->dar); | 432 | printk(KERN_ALERT "Unable to handle kernel paging request for " |
434 | break; | 433 | "data at address 0x%08lx\n", regs->dar); |
435 | case 0x400: | 434 | break; |
436 | case 0x480: | 435 | case 0x400: |
437 | printk("instruction fetch\n"); | 436 | case 0x480: |
438 | break; | 437 | printk(KERN_ALERT "Unable to handle kernel paging request for " |
439 | default: | 438 | "instruction fetch\n"); |
440 | printk("unknown fault\n"); | 439 | break; |
440 | default: | ||
441 | printk(KERN_ALERT "Unable to handle kernel paging request for " | ||
442 | "unknown fault\n"); | ||
443 | break; | ||
441 | } | 444 | } |
442 | printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n", | 445 | printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n", |
443 | regs->nip); | 446 | regs->nip); |