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 492bc4c1b62..65a1c3d690e 100644 --- a/arch/um/kernel/Makefile +++ b/arch/um/kernel/Makefile @@ -3,9 +3,10 @@  # Licensed under the GPL  # -CPPFLAGS_vmlinux.lds := -DSTART=$(LDS_START) \ -                        -DELF_ARCH=$(LDS_ELF_ARCH)        \ -                        -DELF_FORMAT=$(LDS_ELF_FORMAT) +CPPFLAGS_vmlinux.lds := -DSTART=$(LDS_START)		\ +                        -DELF_ARCH=$(LDS_ELF_ARCH)	\ +                        -DELF_FORMAT=$(LDS_ELF_FORMAT)	\ +			$(LDS_EXTRA)  extra-y := vmlinux.lds  clean-files := diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index f386d04a84a..2b73dedb44c 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)  extern void arch_switch_to(struct task_struct *to); -void *_switch_to(void *prev, void *next, void *last) +void *__switch_to(struct task_struct *from, struct task_struct *to)  { -	struct task_struct *from = prev; -	struct task_struct *to = next; -  	to->thread.prev_sched = from;  	set_current(to); @@ -111,7 +108,6 @@ void *_switch_to(void *prev, void *next, void *last)  	} while (current->thread.saved_task);  	return current->thread.prev_sched; -  }  void interrupt_end(void) diff --git a/arch/um/kernel/skas/mmu.c b/arch/um/kernel/skas/mmu.c index 4947b319f53..0a49ef0c2bf 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)  void uml_setup_stubs(struct mm_struct *mm)  { -	struct page **pages;  	int err, ret;  	if (!skas_needs_stub) diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c index 2e9852c0d48..0a9e57e7446 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)  	cpu_tasks[0].pid = pid;  	cpu_tasks[0].task = current;  #ifdef CONFIG_SMP -	cpu_online_map = cpumask_of_cpu(0); +	init_cpu_online(get_cpu_mask(0));  #endif  	start_kernel();  	return 0; diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c index 155206a6690..6f588e160fb 100644 --- a/arch/um/kernel/smp.c +++ b/arch/um/kernel/smp.c @@ -76,7 +76,7 @@ static int idle_proc(void *cpup)  		cpu_relax();  	notify_cpu_starting(cpu); -	cpu_set(cpu, cpu_online_map); +	set_cpu_online(cpu, true);  	default_idle();  	return 0;  } @@ -110,8 +110,7 @@ void smp_prepare_cpus(unsigned int maxcpus)  	for (i = 0; i < ncpus; ++i)  		set_cpu_possible(i, true); -	cpu_clear(me, cpu_online_map); -	cpu_set(me, cpu_online_map); +	set_cpu_online(me, true);  	cpu_set(me, cpu_callin_map);  	err = os_pipe(cpu_data[me].ipi_pipe, 1, 1); @@ -138,13 +137,13 @@ void smp_prepare_cpus(unsigned int maxcpus)  void smp_prepare_boot_cpu(void)  { -	cpu_set(smp_processor_id(), cpu_online_map); +	set_cpu_online(smp_processor_id(), true);  }  int __cpu_up(unsigned int cpu)  {  	cpu_set(cpu, smp_commenced_mask); -	while (!cpu_isset(cpu, cpu_online_map)) +	while (!cpu_online(cpu))  		mb();  	return 0;  }  |