[PATCH 4/25] powerpc: Reworking machine check handling and Fix 440/440A
Josh Boyer
jwboyer at linux.vnet.ibm.com
Tue Dec 11 04:59:26 EST 2007
On Thu, 06 Dec 2007 19:00:03 +1100
Benjamin Herrenschmidt <benh at kernel.crashing.org> 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.
This breaks ARCH=ppc builds. Unfortunately, that tree shares the
cputable.[ch] files, but has it's own traps.c. Which means you get
lots of nice undefined references like below for example:
arch/powerpc/kernel/built-in.o:(.init.data+0x44): undefined reference to `machine_check_4xx'
arch/powerpc/kernel/built-in.o:(.init.data+0x8c): undefined reference to `machine_check_4xx'
arch/powerpc/kernel/built-in.o:(.init.data+0xd4): undefined reference to `machine_check_4xx'
Because the cputable entries for the processors are setting the .machine_check function and it's never built.
I'm not sure which would be easier, making arch/ppc use traps.c from arch/powerpc, or adding similar functionality there.
josh
More information about the Linuxppc-dev
mailing list