[PATCH 1/21] [POWERPC] Reworking machine check handling and Fix 440/440A
Josh Boyer
jwboyer at linux.vnet.ibm.com
Mon Dec 24 12:32:10 EST 2007
On Fri, 21 Dec 2007 15:39:21 +1100
Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:
> 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...
> +{
> + 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
More information about the Linuxppc-dev
mailing list