git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
sh
/
kernel
/
smp.c
diff --git
a/arch/sh/kernel/smp.c
b/arch/sh/kernel/smp.c
index
56a39d6
..
dbebadd
100644
(file)
--- a/
arch/sh/kernel/smp.c
+++ b/
arch/sh/kernel/smp.c
@@
-10,7
+10,6
@@
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
-#include <linux/config.h>
#include <linux/cache.h>
#include <linux/cpumask.h>
#include <linux/delay.h>
#include <linux/cache.h>
#include <linux/cpumask.h>
#include <linux/delay.h>
@@
-22,6
+21,7
@@
#include <linux/time.h>
#include <linux/timex.h>
#include <linux/sched.h>
#include <linux/time.h>
#include <linux/timex.h>
#include <linux/sched.h>
+#include <linux/module.h>
#include <asm/atomic.h>
#include <asm/processor.h>
#include <asm/atomic.h>
#include <asm/processor.h>
@@
-39,7
+39,10
@@
struct sh_cpuinfo cpu_data[NR_CPUS];
extern void per_cpu_trap_init(void);
cpumask_t cpu_possible_map;
extern void per_cpu_trap_init(void);
cpumask_t cpu_possible_map;
+EXPORT_SYMBOL(cpu_possible_map);
+
cpumask_t cpu_online_map;
cpumask_t cpu_online_map;
+EXPORT_SYMBOL(cpu_online_map);
static atomic_t cpus_booted = ATOMIC_INIT(0);
/* These are defined by the board-specific code. */
static atomic_t cpus_booted = ATOMIC_INIT(0);
/* These are defined by the board-specific code. */
@@
-100,7
+103,7
@@
int __cpu_up(unsigned int cpu)
if (IS_ERR(tsk))
panic("Failed forking idle task for cpu %d\n", cpu);
if (IS_ERR(tsk))
panic("Failed forking idle task for cpu %d\n", cpu);
- t
sk->thread_info
->cpu = cpu;
+ t
ask_thread_info(tsk)
->cpu = cpu;
cpu_set(cpu, cpu_online_map);
cpu_set(cpu, cpu_online_map);
@@
-109,7
+112,9
@@
int __cpu_up(unsigned int cpu)
int start_secondary(void *unused)
{
int start_secondary(void *unused)
{
- unsigned int cpu = smp_processor_id();
+ unsigned int cpu;
+
+ cpu = smp_processor_id();
atomic_inc(&init_mm.mm_count);
current->active_mm = &init_mm;
atomic_inc(&init_mm.mm_count);
current->active_mm = &init_mm;
@@
-117,6
+122,7
@@
int start_secondary(void *unused)
smp_store_cpu_info(cpu);
__smp_slave_init(cpu);
smp_store_cpu_info(cpu);
__smp_slave_init(cpu);
+ preempt_disable();
per_cpu_trap_init();
atomic_inc(&cpus_booted);
per_cpu_trap_init();
atomic_inc(&cpus_booted);