Re: [PATCH 1/21] [POWERPC] Reworking machine check handling and Fix 440/440A
From: Josh Boyer <hidden>
Date: 2007-12-24 01:39:03
On Fri, 21 Dec 2007 15:39:21 +1100 Benjamin Herrenschmidt [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Index: linux-merge/arch/powerpc/kernel/traps.c ===================================================================--- linux-merge.orig/arch/powerpc/kernel/traps.c 2007-12-20 11:34:43.000000000 +1100 +++ linux-merge/arch/powerpc/kernel/traps.c 2007-12-20 11:35:40.000000000 +1100
[snip]
-#elif defined (CONFIG_E500) + return 0; +} +#elif defined(CONFIG_E500) +int machine_check_e500(struct pt_regs *regs)
This...
quoted hunk ↗ jump to hunk
+{ + unsigned long reason = get_mc_reason(regs); + printk("Machine check in kernel mode.\n"); printk("Caused by (from MCSR=%lx): ", reason);@@ -403,7 +416,14 @@ static int generic_machine_check_excepti printk("Bus - Instruction Parity Error\n"); if (reason & MCSR_BUS_RPERR) printk("Bus - Read Parity Error\n"); -#elif defined (CONFIG_E200) + + return 0; +} +#elif defined(CONFIG_E200) +int machine_check_e200(struct pt_regs *regs)
... and this cause build failures for most of the mpc8xxx defconfigs. The reason is that e200 and e500 are both lumped under CONFIG_FSL_BOOKE in cputable.c, but you have them segregated more here. I've added a fix that just does CONFIG_FSL_BOOKE here to match cputable.c. josh