Commit 18fc1ad1 authored by Ivan Kokshaysky's avatar Ivan Kokshaysky Committed by Linus Torvalds

[PATCH] alpha: percpu update [7/10]

Generic per-cpu areas; wrappers for SMP boot process.
parent 7226c990
......@@ -441,7 +441,7 @@ fork_by_hand(void)
* Bring one cpu online.
*/
static int __init
smp_boot_one_cpu(int cpuid, int cpunum)
smp_boot_one_cpu(int cpuid)
{
struct task_struct *idle;
long timeout;
......@@ -578,7 +578,7 @@ smp_boot_cpus(void)
if (((hwrpb_cpu_present_mask >> i) & 1) == 0)
continue;
if (smp_boot_one_cpu(i, cpu_count))
if (smp_boot_one_cpu(i))
continue;
cpu_present_mask |= 1UL << i;
......@@ -603,14 +603,22 @@ smp_boot_cpus(void)
smp_num_cpus = cpu_count;
}
/*
* Called by smp_init to release the blocking online cpus once they
* are all started.
*/
void __init
smp_commence(void)
smp_prepare_cpus(unsigned int max_cpus)
{
smp_boot_cpus();
}
int __devinit
__cpu_up(unsigned int cpu)
{
return cpu_online(cpu) ? 0 : -ENOSYS;
}
void __init
smp_cpus_done(unsigned int max_cpus)
{
/* smp_init sets smp_threads_ready -- that's enough. */
smp_threads_ready = 1;
mb();
}
......
......@@ -58,6 +58,11 @@ SECTIONS
__initcall_end = .;
}
. = ALIGN(64);
__per_cpu_start = .;
.data.percpu : { *(.data.percpu) }
__per_cpu_end = .;
/* The initial task and kernel stack */
.data.init_thread ALIGN(2*8192) : {
__init_end = .;
......
#ifndef __ALPHA_PERCPU_H
#define __ALPHA_PERCPU_H
#include <asm-generic/percpu.h>
#endif /* __ALPHA_PERCPU_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment