git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
arch
/
ppc
/
kernel
/
smp.c
diff --git
a/arch/ppc/kernel/smp.c
b/arch/ppc/kernel/smp.c
index
c28fbf3
..
dae4917
100644
(file)
--- a/
arch/ppc/kernel/smp.c
+++ b/
arch/ppc/kernel/smp.c
@@
-26,7
+26,6
@@
#include <asm/irq.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/irq.h>
#include <asm/page.h>
#include <asm/pgtable.h>
-#include <asm/hardirq.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/smp.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/smp.h>
@@
-364,22
+363,15
@@
int __devinit start_secondary(void *unused)
int __cpu_up(unsigned int cpu)
{
int __cpu_up(unsigned int cpu)
{
- struct pt_regs regs;
struct task_struct *p;
char buf[32];
int c;
/* create a process for the processor */
/* only regs.msr is actually used, and 0 is OK for it */
struct task_struct *p;
char buf[32];
int c;
/* create a process for the processor */
/* only regs.msr is actually used, and 0 is OK for it */
- memset(®s, 0, sizeof(struct pt_regs));
- p = copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL);
+ p = fork_idle(cpu);
if (IS_ERR(p))
panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p));
if (IS_ERR(p))
panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p));
- wake_up_forked_process(p);
-
- init_idle(p, cpu);
- unhash_process(p);
-
secondary_ti = p->thread_info;
p->thread_info->cpu = cpu;
secondary_ti = p->thread_info;
p->thread_info->cpu = cpu;