All of lore.kernel.org
 help / color / mirror / Atom feed
* Patch - Sun4d SMP now boots
@ 2004-08-19 13:32 Chris Newport
  2004-08-19 14:12 ` William Lee Irwin III
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Chris Newport @ 2004-08-19 13:32 UTC (permalink / raw)
  To: sparclinux


I have now applied the patch posted to the list by Pasi Pirhonen
on 19Nov2003. This needs to be applied AFTER the patches from Thomas.

More work is needed to get rid of the previously reported compiler
warnings in the same function before this is fit to be submitted, but
I will have to leave that to those who understand what they are doing
<B-).

This now boots and runs, but is horribly unstable.

==== BEGIN INCLUDE

root@phobos:~# cd /usr/src/linux/arch/sparc/kernel
root@phobos:/usr/src/linux/arch/sparc/kernel# diff -ru sun4d_smp.csaved sun4d_s
mp.c

--- sun4d_smp.csaved	2004-08-19 13:12:24.000000000 +0100
+++ sun4d_smp.c	2004-08-19 13:46:07.000000000 +0100
@@ -340,7 +340,8 @@
 		register int high = smp_highest_cpu;
 		unsigned long flags;

-		spin_lock_irqsave(&cross_call_lock, flags);
+		//spin_lock_irqsave(&cross_call_lock, flags);
+		spin_lock_bh(&cross_call_lock);

 		{
 			/* If you make changes here, make sure gcc generates proper code... */
@@ -373,6 +374,8 @@
 				}
 			}
 		}
+		/* first run local copy */
+		func(arg1, arg2, arg3, arg4, arg5);

 		{
 			register int i;
@@ -390,8 +393,10 @@
 			} while(++i <= high);
 		}

-		spin_unlock_irqrestore(&cross_call_lock, flags);
-	}
+		//spin_unlock_irqrestore(&cross_call_lock, flags);
+		spin_unlock_bh(&cross_call_lock);
+	} else
+		func(arg1, arg2, arg3, arg4, arg5); /* just need to run local copy */
 }

 /* Running cross calls. */

===== END INCLUDE

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-08-19 15:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-19 13:32 Patch - Sun4d SMP now boots Chris Newport
2004-08-19 14:12 ` William Lee Irwin III
2004-08-19 14:33 ` David S. Miller
2004-08-19 14:49 ` C.Newport
2004-08-19 15:00 ` William Lee Irwin III
2004-08-19 15:22 ` C.Newport
2004-08-19 15:29 ` William Lee Irwin III

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.