# HG changeset patch
# User Jimi Xenidis <[EMAIL PROTECTED]>
# Node ID 3817c84cb7e81647578042d3e725941ee5f24c51
# Parent  4589b3dec1fd875096858471ae493c708e7049a3
[XEN][POWERPC] Flush the ERAT very early on secondary processors.

This patch solves the problem with the "Synchronizing timebase hang"
that both SMP and "nosmp" users have experienced.  It blows away the
ERAT but performing an SLBIA in the seconadry processor "spinup" code.

Signed-off-by: Amos Waterland <[EMAIL PROTECTED]>
Signed-off-by: Jimi Xenidis <[EMAIL PROTECTED]>
---
 xen/arch/powerpc/powerpc64/exceptions.S |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)

diff -r 4589b3dec1fd -r 3817c84cb7e8 xen/arch/powerpc/powerpc64/exceptions.S
--- a/xen/arch/powerpc/powerpc64/exceptions.S   Sat Nov 11 10:30:07 2006 -0500
+++ b/xen/arch/powerpc/powerpc64/exceptions.S   Sat Nov 11 12:04:45 2006 -0500
@@ -564,7 +564,11 @@ _GLOBAL(sleep)
  */    
     .globl spin_start
 spin_start:
-
+    /* We discovered by experiment that the ERAT must be flushed early.  */
+    isync
+    slbia
+    isync
+       
     /* Do a cache flush for our text, in case the loader didn't */
     LOADADDR(r9, _start)
     LOADADDR(r8, _etext)

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to