diff options
Diffstat (limited to 'arch/powerpc/kernel/process.c')
| -rw-r--r-- | arch/powerpc/kernel/process.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 59311ec0d422..4ec605521504 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
| @@ -241,8 +241,12 @@ void discard_lazy_cpu_state(void) | |||
| 241 | } | 241 | } |
| 242 | #endif /* CONFIG_SMP */ | 242 | #endif /* CONFIG_SMP */ |
| 243 | 243 | ||
| 244 | static DEFINE_PER_CPU(unsigned long, current_dabr); | ||
| 245 | |||
| 244 | int set_dabr(unsigned long dabr) | 246 | int set_dabr(unsigned long dabr) |
| 245 | { | 247 | { |
| 248 | __get_cpu_var(current_dabr) = dabr; | ||
| 249 | |||
| 246 | #ifdef CONFIG_PPC_MERGE /* XXX for now */ | 250 | #ifdef CONFIG_PPC_MERGE /* XXX for now */ |
| 247 | if (ppc_md.set_dabr) | 251 | if (ppc_md.set_dabr) |
| 248 | return ppc_md.set_dabr(dabr); | 252 | return ppc_md.set_dabr(dabr); |
| @@ -259,8 +263,6 @@ int set_dabr(unsigned long dabr) | |||
| 259 | DEFINE_PER_CPU(struct cpu_usage, cpu_usage_array); | 263 | DEFINE_PER_CPU(struct cpu_usage, cpu_usage_array); |
| 260 | #endif | 264 | #endif |
| 261 | 265 | ||
| 262 | static DEFINE_PER_CPU(unsigned long, current_dabr); | ||
| 263 | |||
| 264 | struct task_struct *__switch_to(struct task_struct *prev, | 266 | struct task_struct *__switch_to(struct task_struct *prev, |
| 265 | struct task_struct *new) | 267 | struct task_struct *new) |
| 266 | { | 268 | { |
| @@ -325,10 +327,8 @@ struct task_struct *__switch_to(struct task_struct *prev, | |||
| 325 | 327 | ||
| 326 | #endif /* CONFIG_SMP */ | 328 | #endif /* CONFIG_SMP */ |
| 327 | 329 | ||
| 328 | if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr)) { | 330 | if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr)) |
| 329 | set_dabr(new->thread.dabr); | 331 | set_dabr(new->thread.dabr); |
| 330 | __get_cpu_var(current_dabr) = new->thread.dabr; | ||
| 331 | } | ||
| 332 | 332 | ||
| 333 | new_thread = &new->thread; | 333 | new_thread = &new->thread; |
| 334 | old_thread = ¤t->thread; | 334 | old_thread = ¤t->thread; |
