[PATCH 1/21] [POWERPC] Reworking machine check handling and Fix 440/440A
Josh Boyer
jwboyer at linux.vnet.ibm.com
Tue Dec 25 03:15:57 EST 2007
On Sun, 23 Dec 2007 19:32:10 -0600
Josh Boyer <jwboyer at linux.vnet.ibm.com> wrote:
> 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.
Actually, reverse that. There are other places where e200 and e500 are
separated by ifdefs, so I made cputable.c match the rest.
josh
More information about the Linuxppc-dev
mailing list