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