[PATCH] powerpc: Fix 460EX/460GT machine check handling
Josh Boyer
jwboyer at linux.vnet.ibm.com
Wed Nov 12 22:27:37 EST 2008
On Wed, 12 Nov 2008 13:02:43 +1100
Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:
> Those cores use the 440A type machine check (ie, they have
> MCSRR0/MCSRR1). They thus need to call the appropriate fixup
> function to hook the right variant of the exception.
>
> Without this, all machine checks become fatal due to loss
> of context when entering the exception handler.
Looks fine to me. However, what machine checks were you getting that
caused you to see this that aren't fatal anyway?
josh
>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> ---
>
> arch/powerpc/kernel/cpu_setup_44x.S | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> --- linux-work.orig/arch/powerpc/kernel/cpu_setup_44x.S 2008-11-12 12:51:24.000000000 +1100
> +++ linux-work/arch/powerpc/kernel/cpu_setup_44x.S 2008-11-12 13:01:03.000000000 +1100
> @@ -34,7 +34,12 @@ _GLOBAL(__setup_cpu_440grx)
> blr
> _GLOBAL(__setup_cpu_460ex)
> _GLOBAL(__setup_cpu_460gt)
> - b __init_fpu_44x
> + mflr r4
> + bl __init_fpu_44x
> + bl __fixup_440A_mcheck
> + mtlr r4
> + blr
> +
> _GLOBAL(__setup_cpu_440gx)
> _GLOBAL(__setup_cpu_440spe)
> b __fixup_440A_mcheck
More information about the Linuxppc-dev
mailing list