[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