On Thu, 13 Dec 2007 18:38:31 +1100
Benjamin Herrenschmidt <[EMAIL PROTECTED]> wrote:

> This adds a cputable function pointer for the CPU-side machine
> check handling. The semantic is still the same as the old one,
> the one in ppc_md. overrides the one in cputable, though
> ultimately we'll want to change that so the CPU gets first.
> 
> This removes CONFIG_440A which was a problem for multiplatform
> kernels and instead fixes up the IVOR at runtime from a setup_cpu
> function. The "A" version of the machine check also tweaks the
> regs->trap value to differenciate the 2 versions at the C level.

[snip]

> Index: linux-merge/include/asm-ppc/reg_booke.h
> ===================================================================
> --- linux-merge.orig/include/asm-ppc/reg_booke.h      2007-12-11 
> 16:21:38.000000000 +1100
> +++ linux-merge/include/asm-ppc/reg_booke.h   2007-12-11 16:23:21.000000000 
> +1100
> @@ -207,7 +207,7 @@
>  #define      CCR1_TCS        0x00000080 /* Timer Clock Select */
> 
>  /* Bit definitions for the MCSR. */
> -#ifdef CONFIG_440A
> +#ifdef CONFIG_44x
>  #define MCSR_MCS     0x80000000 /* Machine Check Summary */
>  #define MCSR_IB              0x40000000 /* Instruction PLB Error */
>  #define MCSR_DRB     0x20000000 /* Data Read PLB Error */

This breaks non-44x based arch/ppc platforms.  For example ep405 in
arch/ppc fails with:

/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c: In function 
‘machine_check_440A’:
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:260: error: ‘MCSR_IB’ 
undeclared (first use in this function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:260: error: (Each 
undeclared identifier is reported only once
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:260: error: for each 
function it appears in.)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:262: error: ‘MCSR_DRB’ 
undeclared (first use in this function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:264: error: ‘MCSR_DWB’ 
undeclared (first use in this function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:266: error: ‘MCSR_TLBP’ 
undeclared (first use in this function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:268: error: ‘MCSR_ICP’ 
undeclared (first use in this function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:272: error: ‘MCSR_DCSP’ 
undeclared (first use in this function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:274: error: ‘MCSR_DCFP’ 
undeclared (first use in this function)
/home/jwboyer/src/linux-2.6/arch/ppc/kernel/traps.c:276: error: ‘MCSR_IMPE’ 
undeclared (first use in this function)
make[2]: *** [arch/ppc/kernel/traps.o] Error 1

The same is true for other platforms as well.  Getting closer...

josh
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to