[parisc-linux-cvs] linux-2.6 jejb

James Bottomley James.Bottomley at SteelEye.com
Thu Jul 29 09:42:56 MDT 2004


On Thu, 2004-07-29 at 11:38, James Bottomley wrote:
> CVSROOT:	/var/cvs
> Module name:	linux-2.6
> Changes by:	jejb	04/07/29 09:38:07
> 
> Modified files:
> 	arch/parisc/kernel: head.S head64.S 
> 
> Log message:
> Correct boot problems of slave CPUs

ios was HPMCing when starting the secondary CPUs because of missing
phys<->virt conversions.

The 32 bit SMP path still didn't seem to be doing the thread struct
conversion, so I corrected that as well.

I've tested this on 64 bit, but don't have access to a 32 bit SMP
machine.

James

Index: head.S
===================================================================
RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/head.S,v
retrieving revision 1.7
diff -u -r1.7 head.S
--- head.S	9 Jul 2004 19:04:20 -0000	1.7
+++ head.S	29 Jul 2004 15:32:34 -0000
@@ -267,6 +267,8 @@
 	ldil		L%PA(smp_init_current_idle_task),%sp
 	ldo		R%PA(smp_init_current_idle_task)(%sp),%sp
 	ldw		0(%sp),%sp	/* load task address */
+	tophys_r1	%sp
+	ldw		TASK_THREAD_INFO(%sp), %sp
 	mtctl           %sp,%cr30       /* store in cr30 */
 	addil		L%THREAD_SZ_ALGN,%sp	/* stack is above task */
 	ldo		R%THREAD_SZ_ALGN(%r1),%sp
Index: head64.S
===================================================================
RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/head64.S,v
retrieving revision 1.10
diff -u -r1.10 head64.S
--- head64.S	9 Jul 2004 19:04:20 -0000	1.10
+++ head64.S	29 Jul 2004 15:32:34 -0000
@@ -301,6 +301,7 @@
 	/*  Initialize the SP - monarch sets up smp_init_current_idle_task */
 	load32		PA(smp_init_current_idle_task),%sp
 	ldd		0(%sp),%sp	/* load task address */
+	tophys_r1	%sp
 	ldd		TASK_THREAD_INFO(%sp), %sp
 	mtctl           %sp,%cr30       /* store in cr30 */
 	ldo             THREAD_SZ_ALGN(%sp),%sp




More information about the parisc-linux-cvs mailing list