Messages in this thread Patch in this message | | | Date | Sat, 10 Aug 2002 19:30:52 +0400 | From | Ivan Kokshaysky <> | Subject | [patch 2.5.30] alpha: percpu update [7/10] |
| |
Generic per-cpu areas; wrappers for SMP boot process.
Ivan.
--- 2.5.30/include/asm-alpha/percpu.h Thu Jan 1 00:00:00 1970 +++ linux/include/asm-alpha/percpu.h Sat Aug 10 01:29:20 2002 @@ -0,0 +1,6 @@ +#ifndef __ALPHA_PERCPU_H +#define __ALPHA_PERCPU_H + +#include <asm-generic/percpu.h> + +#endif /* __ALPHA_PERCPU_H */ --- 2.5.30/arch/alpha/vmlinux.lds.in Sun May 26 13:58:11 2002 +++ linux/arch/alpha/vmlinux.lds.in Sat Aug 10 01:29:20 2002 @@ -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 = .; --- 2.5.30/arch/alpha/kernel/smp.c Sat Aug 10 01:24:08 2002 +++ linux/arch/alpha/kernel/smp.c Sat Aug 10 01:29:20 2002 @@ -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(); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |