Re: [PATCH] powerpc: Fix 460EX/460GT machine check handling

2008-11-12 Thread Benjamin Herrenschmidt
On Wed, 2008-11-12 at 06:27 -0500, Josh Boyer wrote:
 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?

PCI aborts from userspace when toying with video card POSTing 
x86emu :-)

Cheers,
Ben.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] powerpc: Fix 460EX/460GT machine check handling

2008-11-12 Thread Josh Boyer
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.0 +1100
 +++ linux-work/arch/powerpc/kernel/cpu_setup_44x.S2008-11-12 
 13:01:03.0 +1100
 @@ -34,7 +34,12 @@ _GLOBAL(__setup_cpu_440grx)
   blr
  _GLOBAL(__setup_cpu_460ex)
  _GLOBAL(__setup_cpu_460gt)
 - b   __init_fpu_44x
 + mflrr4
 + bl  __init_fpu_44x
 + bl  __fixup_440A_mcheck
 + mtlrr4
 + 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


[PATCH] powerpc: Fix 460EX/460GT machine check handling

2008-11-11 Thread Benjamin Herrenschmidt
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.

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.0 +1100
+++ linux-work/arch/powerpc/kernel/cpu_setup_44x.S  2008-11-12 
13:01:03.0 +1100
@@ -34,7 +34,12 @@ _GLOBAL(__setup_cpu_440grx)
blr
 _GLOBAL(__setup_cpu_460ex)
 _GLOBAL(__setup_cpu_460gt)
-   b   __init_fpu_44x
+   mflrr4
+   bl  __init_fpu_44x
+   bl  __fixup_440A_mcheck
+   mtlrr4
+   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