[PATCH] uml: move libc-dependent irq code to os-Linux
The serial UML OS-abstraction layer patch (um/kernel dir). This moves all systemcalls from irq_user.c file under os-Linux dir Signed-off-by: Gennady Sharapov <Gennady.V.Sharapov@intel.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
d9f8b62a6b
commit
63ae2a94d9
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Copyright (C) 2000 - 2003 Jeff Dike (jdike@addtoit.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
@@ -77,9 +77,9 @@ static int idle_proc(void *cpup)
|
||||
if(err < 0)
|
||||
panic("CPU#%d failed to create IPI pipe, err = %d", cpu, -err);
|
||||
|
||||
activate_ipi(cpu_data[cpu].ipi_pipe[0],
|
||||
os_set_fd_async(cpu_data[cpu].ipi_pipe[0],
|
||||
current->thread.mode.tt.extern_pid);
|
||||
|
||||
|
||||
wmb();
|
||||
if (cpu_test_and_set(cpu, cpu_callin_map)) {
|
||||
printk("huh, CPU#%d already present??\n", cpu);
|
||||
@@ -106,7 +106,7 @@ static struct task_struct *idle_thread(int cpu)
|
||||
panic("copy_process failed in idle_thread, error = %ld",
|
||||
PTR_ERR(new_task));
|
||||
|
||||
cpu_tasks[cpu] = ((struct cpu_task)
|
||||
cpu_tasks[cpu] = ((struct cpu_task)
|
||||
{ .pid = new_task->thread.mode.tt.extern_pid,
|
||||
.task = new_task } );
|
||||
idle_threads[cpu] = new_task;
|
||||
@@ -134,12 +134,12 @@ void smp_prepare_cpus(unsigned int maxcpus)
|
||||
if(err < 0)
|
||||
panic("CPU#0 failed to create IPI pipe, errno = %d", -err);
|
||||
|
||||
activate_ipi(cpu_data[me].ipi_pipe[0],
|
||||
os_set_fd_async(cpu_data[me].ipi_pipe[0],
|
||||
current->thread.mode.tt.extern_pid);
|
||||
|
||||
for(cpu = 1; cpu < ncpus; cpu++){
|
||||
printk("Booting processor %d...\n", cpu);
|
||||
|
||||
|
||||
idle = idle_thread(cpu);
|
||||
|
||||
init_idle(idle, cpu);
|
||||
@@ -223,7 +223,7 @@ void smp_call_function_slave(int cpu)
|
||||
atomic_inc(&scf_finished);
|
||||
}
|
||||
|
||||
int smp_call_function(void (*_func)(void *info), void *_info, int nonatomic,
|
||||
int smp_call_function(void (*_func)(void *info), void *_info, int nonatomic,
|
||||
int wait)
|
||||
{
|
||||
int cpus = num_online_cpus() - 1;
|
||||
|
Reference in New Issue
Block a user