On Wed, 12 Nov 2008 13:02:43 +1100
Benjamin Herrenschmidt <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>
> ---
> 
>  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
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to