diff options
Diffstat (limited to 'arch/um/kernel')
-rw-r--r-- | arch/um/kernel/Makefile | 7 | ||||
-rw-r--r-- | arch/um/kernel/process.c | 6 | ||||
-rw-r--r-- | arch/um/kernel/skas/mmu.c | 1 | ||||
-rw-r--r-- | arch/um/kernel/skas/process.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/smp.c | 9 |
5 files changed, 10 insertions, 15 deletions
diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile index 492bc4c1b62b..65a1c3d690ea 100644 --- a/arch/um/kernel/Makefile +++ b/arch/um/kernel/Makefile | |||
@@ -3,9 +3,10 @@ | |||
3 | # Licensed under the GPL | 3 | # Licensed under the GPL |
4 | # | 4 | # |
5 | 5 | ||
6 | CPPFLAGS_vmlinux.lds := -DSTART=$(LDS_START) \ | 6 | CPPFLAGS_vmlinux.lds := -DSTART=$(LDS_START) \ |
7 | -DELF_ARCH=$(LDS_ELF_ARCH) \ | 7 | -DELF_ARCH=$(LDS_ELF_ARCH) \ |
8 | -DELF_FORMAT=$(LDS_ELF_FORMAT) | 8 | -DELF_FORMAT=$(LDS_ELF_FORMAT) \ |
9 | $(LDS_EXTRA) | ||
9 | extra-y := vmlinux.lds | 10 | extra-y := vmlinux.lds |
10 | clean-files := | 11 | clean-files := |
11 | 12 | ||
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index f386d04a84a5..2b73dedb44ca 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
@@ -88,11 +88,8 @@ static inline void set_current(struct task_struct *task) | |||
88 | 88 | ||
89 | extern void arch_switch_to(struct task_struct *to); | 89 | extern void arch_switch_to(struct task_struct *to); |
90 | 90 | ||
91 | void *_switch_to(void *prev, void *next, void *last) | 91 | void *__switch_to(struct task_struct *from, struct task_struct *to) |
92 | { | 92 | { |
93 | struct task_struct *from = prev; | ||
94 | struct task_struct *to = next; | ||
95 | |||
96 | to->thread.prev_sched = from; | 93 | to->thread.prev_sched = from; |
97 | set_current(to); | 94 | set_current(to); |
98 | 95 | ||
@@ -111,7 +108,6 @@ void *_switch_to(void *prev, void *next, void *last) | |||
111 | } while (current->thread.saved_task); | 108 | } while (current->thread.saved_task); |
112 | 109 | ||
113 | return current->thread.prev_sched; | 110 | return current->thread.prev_sched; |
114 | |||
115 | } | 111 | } |
116 | 112 | ||
117 | void interrupt_end(void) | 113 | void interrupt_end(void) |
diff --git a/arch/um/kernel/skas/mmu.c b/arch/um/kernel/skas/mmu.c index 4947b319f53a..0a49ef0c2bf4 100644 --- a/arch/um/kernel/skas/mmu.c +++ b/arch/um/kernel/skas/mmu.c | |||
@@ -103,7 +103,6 @@ int init_new_context(struct task_struct *task, struct mm_struct *mm) | |||
103 | 103 | ||
104 | void uml_setup_stubs(struct mm_struct *mm) | 104 | void uml_setup_stubs(struct mm_struct *mm) |
105 | { | 105 | { |
106 | struct page **pages; | ||
107 | int err, ret; | 106 | int err, ret; |
108 | 107 | ||
109 | if (!skas_needs_stub) | 108 | if (!skas_needs_stub) |
diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c index 2e9852c0d487..0a9e57e7446b 100644 --- a/arch/um/kernel/skas/process.c +++ b/arch/um/kernel/skas/process.c | |||
@@ -41,7 +41,7 @@ static int __init start_kernel_proc(void *unused) | |||
41 | cpu_tasks[0].pid = pid; | 41 | cpu_tasks[0].pid = pid; |
42 | cpu_tasks[0].task = current; | 42 | cpu_tasks[0].task = current; |
43 | #ifdef CONFIG_SMP | 43 | #ifdef CONFIG_SMP |
44 | cpu_online_map = cpumask_of_cpu(0); | 44 | init_cpu_online(get_cpu_mask(0)); |
45 | #endif | 45 | #endif |
46 | start_kernel(); | 46 | start_kernel(); |
47 | return 0; | 47 | return 0; |
diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c index 155206a66908..6f588e160fb0 100644 --- a/arch/um/kernel/smp.c +++ b/arch/um/kernel/smp.c | |||
@@ -76,7 +76,7 @@ static int idle_proc(void *cpup) | |||
76 | cpu_relax(); | 76 | cpu_relax(); |
77 | 77 | ||
78 | notify_cpu_starting(cpu); | 78 | notify_cpu_starting(cpu); |
79 | cpu_set(cpu, cpu_online_map); | 79 | set_cpu_online(cpu, true); |
80 | default_idle(); | 80 | default_idle(); |
81 | return 0; | 81 | return 0; |
82 | } | 82 | } |
@@ -110,8 +110,7 @@ void smp_prepare_cpus(unsigned int maxcpus) | |||
110 | for (i = 0; i < ncpus; ++i) | 110 | for (i = 0; i < ncpus; ++i) |
111 | set_cpu_possible(i, true); | 111 | set_cpu_possible(i, true); |
112 | 112 | ||
113 | cpu_clear(me, cpu_online_map); | 113 | set_cpu_online(me, true); |
114 | cpu_set(me, cpu_online_map); | ||
115 | cpu_set(me, cpu_callin_map); | 114 | cpu_set(me, cpu_callin_map); |
116 | 115 | ||
117 | err = os_pipe(cpu_data[me].ipi_pipe, 1, 1); | 116 | err = os_pipe(cpu_data[me].ipi_pipe, 1, 1); |
@@ -138,13 +137,13 @@ void smp_prepare_cpus(unsigned int maxcpus) | |||
138 | 137 | ||
139 | void smp_prepare_boot_cpu(void) | 138 | void smp_prepare_boot_cpu(void) |
140 | { | 139 | { |
141 | cpu_set(smp_processor_id(), cpu_online_map); | 140 | set_cpu_online(smp_processor_id(), true); |
142 | } | 141 | } |
143 | 142 | ||
144 | int __cpu_up(unsigned int cpu) | 143 | int __cpu_up(unsigned int cpu) |
145 | { | 144 | { |
146 | cpu_set(cpu, smp_commenced_mask); | 145 | cpu_set(cpu, smp_commenced_mask); |
147 | while (!cpu_isset(cpu, cpu_online_map)) | 146 | while (!cpu_online(cpu)) |
148 | mb(); | 147 | mb(); |
149 | return 0; | 148 | return 0; |
150 | } | 149 | } |