diff options
Diffstat (limited to 'arch/um/kernel/smp.c')
-rw-r--r-- | arch/um/kernel/smp.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c index 15bb54365779..36d89cf8d20b 100644 --- a/arch/um/kernel/smp.c +++ b/arch/um/kernel/smp.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2000 - 2003 Jeff Dike (jdike@addtoit.com) | 2 | * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
3 | * Licensed under the GPL | 3 | * Licensed under the GPL |
4 | */ | 4 | */ |
5 | 5 | ||
@@ -56,12 +56,12 @@ void smp_send_stop(void) | |||
56 | int i; | 56 | int i; |
57 | 57 | ||
58 | printk(KERN_INFO "Stopping all CPUs..."); | 58 | printk(KERN_INFO "Stopping all CPUs..."); |
59 | for(i = 0; i < num_online_cpus(); i++){ | 59 | for (i = 0; i < num_online_cpus(); i++) { |
60 | if(i == current_thread->cpu) | 60 | if (i == current_thread->cpu) |
61 | continue; | 61 | continue; |
62 | os_write_file(cpu_data[i].ipi_pipe[1], "S", 1); | 62 | os_write_file(cpu_data[i].ipi_pipe[1], "S", 1); |
63 | } | 63 | } |
64 | printk("done\n"); | 64 | printk(KERN_INFO "done\n"); |
65 | } | 65 | } |
66 | 66 | ||
67 | static cpumask_t smp_commenced_mask = CPU_MASK_NONE; | 67 | static cpumask_t smp_commenced_mask = CPU_MASK_NONE; |
@@ -72,7 +72,7 @@ static int idle_proc(void *cpup) | |||
72 | int cpu = (int) cpup, err; | 72 | int cpu = (int) cpup, err; |
73 | 73 | ||
74 | err = os_pipe(cpu_data[cpu].ipi_pipe, 1, 1); | 74 | err = os_pipe(cpu_data[cpu].ipi_pipe, 1, 1); |
75 | if(err < 0) | 75 | if (err < 0) |
76 | panic("CPU#%d failed to create IPI pipe, err = %d", cpu, -err); | 76 | panic("CPU#%d failed to create IPI pipe, err = %d", cpu, -err); |
77 | 77 | ||
78 | os_set_fd_async(cpu_data[cpu].ipi_pipe[0], | 78 | os_set_fd_async(cpu_data[cpu].ipi_pipe[0], |
@@ -80,7 +80,7 @@ static int idle_proc(void *cpup) | |||
80 | 80 | ||
81 | wmb(); | 81 | wmb(); |
82 | if (cpu_test_and_set(cpu, cpu_callin_map)) { | 82 | if (cpu_test_and_set(cpu, cpu_callin_map)) { |
83 | printk("huh, CPU#%d already present??\n", cpu); | 83 | printk(KERN_ERR "huh, CPU#%d already present??\n", cpu); |
84 | BUG(); | 84 | BUG(); |
85 | } | 85 | } |
86 | 86 | ||
@@ -99,7 +99,7 @@ static struct task_struct *idle_thread(int cpu) | |||
99 | current->thread.request.u.thread.proc = idle_proc; | 99 | current->thread.request.u.thread.proc = idle_proc; |
100 | current->thread.request.u.thread.arg = (void *) cpu; | 100 | current->thread.request.u.thread.arg = (void *) cpu; |
101 | new_task = fork_idle(cpu); | 101 | new_task = fork_idle(cpu); |
102 | if(IS_ERR(new_task)) | 102 | if (IS_ERR(new_task)) |
103 | panic("copy_process failed in idle_thread, error = %ld", | 103 | panic("copy_process failed in idle_thread, error = %ld", |
104 | PTR_ERR(new_task)); | 104 | PTR_ERR(new_task)); |
105 | 105 | ||
@@ -126,14 +126,14 @@ void smp_prepare_cpus(unsigned int maxcpus) | |||
126 | cpu_set(me, cpu_callin_map); | 126 | cpu_set(me, cpu_callin_map); |
127 | 127 | ||
128 | err = os_pipe(cpu_data[me].ipi_pipe, 1, 1); | 128 | err = os_pipe(cpu_data[me].ipi_pipe, 1, 1); |
129 | if(err < 0) | 129 | if (err < 0) |
130 | panic("CPU#0 failed to create IPI pipe, errno = %d", -err); | 130 | panic("CPU#0 failed to create IPI pipe, errno = %d", -err); |
131 | 131 | ||
132 | os_set_fd_async(cpu_data[me].ipi_pipe[0], | 132 | os_set_fd_async(cpu_data[me].ipi_pipe[0], |
133 | current->thread.mode.tt.extern_pid); | 133 | current->thread.mode.tt.extern_pid); |
134 | 134 | ||
135 | for(cpu = 1; cpu < ncpus; cpu++){ | 135 | for (cpu = 1; cpu < ncpus; cpu++) { |
136 | printk("Booting processor %d...\n", cpu); | 136 | printk(KERN_INFO "Booting processor %d...\n", cpu); |
137 | 137 | ||
138 | idle = idle_thread(cpu); | 138 | idle = idle_thread(cpu); |
139 | 139 | ||
@@ -144,8 +144,8 @@ void smp_prepare_cpus(unsigned int maxcpus) | |||
144 | cpu_relax(); | 144 | cpu_relax(); |
145 | 145 | ||
146 | if (cpu_isset(cpu, cpu_callin_map)) | 146 | if (cpu_isset(cpu, cpu_callin_map)) |
147 | printk("done\n"); | 147 | printk(KERN_INFO "done\n"); |
148 | else printk("failed\n"); | 148 | else printk(KERN_INFO "failed\n"); |
149 | } | 149 | } |
150 | } | 150 | } |
151 | 151 | ||
@@ -187,13 +187,14 @@ void IPI_handler(int cpu) | |||
187 | break; | 187 | break; |
188 | 188 | ||
189 | case 'S': | 189 | case 'S': |
190 | printk("CPU#%d stopping\n", cpu); | 190 | printk(KERN_INFO "CPU#%d stopping\n", cpu); |
191 | while(1) | 191 | while (1) |
192 | pause(); | 192 | pause(); |
193 | break; | 193 | break; |
194 | 194 | ||
195 | default: | 195 | default: |
196 | printk("CPU#%d received unknown IPI [%c]!\n", cpu, c); | 196 | printk(KERN_ERR "CPU#%d received unknown IPI [%c]!\n", |
197 | cpu, c); | ||
197 | break; | 198 | break; |
198 | } | 199 | } |
199 | } | 200 | } |