patch-1.3.94 linux/init/main.c

Next file: linux/kernel/exit.c
Previous file: linux/include/net/ip_masq.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.93/linux/init/main.c linux/init/main.c
@@ -138,6 +138,9 @@
 #ifdef CONFIG_ISDN_DRV_PCBIT
 extern void pcbit_setup(char *str, int *ints);
 #endif
+#ifdef CONFIG_RISCOM8
+extern void riscom8_setup(char *str, int *ints);
+#endif
 
 
 #if defined(CONFIG_SYSVIPC) || defined(CONFIG_KERNELD)
@@ -346,6 +349,9 @@
 #ifdef CONFIG_DIGI
 	{ "digi=", pcxx_setup },
 #endif
+#ifdef CONFIG_RISCOM8
+	{ "riscom8=", riscom8_setup },
+#endif
 	{ 0, 0 }
 };
 
@@ -639,6 +645,8 @@
 
 	for (i=1; i<smp_num_cpus; i++)
 	{
+		struct task_struct *n, *p;
+
 		j = cpu_logical_map[i];
 		/*
 		 *	We use kernel_thread for the idlers which are
@@ -650,6 +658,14 @@
 		 */
 		current_set[j]=task[i];
 		current_set[j]->processor=j;
+		cli();
+		n = task[i]->next_run;
+		p = task[i]->prev_run;
+		nr_running--;
+		n->prev_run = p;
+		p->next_run = n;
+		task[i]->next_run = task[i]->prev_run = task[i];
+		sti();
 	}
 }		
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this