diff options
Diffstat (limited to 'arch/x86/kernel/alternative.c')
-rw-r--r-- | arch/x86/kernel/alternative.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c index d6405e0842b5..cdc43242da92 100644 --- a/arch/x86/kernel/alternative.c +++ b/arch/x86/kernel/alternative.c | |||
@@ -356,15 +356,15 @@ void alternatives_smp_switch(int smp) | |||
356 | spin_lock_irqsave(&smp_alt, flags); | 356 | spin_lock_irqsave(&smp_alt, flags); |
357 | if (smp) { | 357 | if (smp) { |
358 | printk(KERN_INFO "SMP alternatives: switching to SMP code\n"); | 358 | printk(KERN_INFO "SMP alternatives: switching to SMP code\n"); |
359 | clear_bit(X86_FEATURE_UP, boot_cpu_data.x86_capability); | 359 | clear_cpu_cap(&boot_cpu_data, X86_FEATURE_UP); |
360 | clear_bit(X86_FEATURE_UP, cpu_data(0).x86_capability); | 360 | clear_cpu_cap(&cpu_data(0), X86_FEATURE_UP); |
361 | list_for_each_entry(mod, &smp_alt_modules, next) | 361 | list_for_each_entry(mod, &smp_alt_modules, next) |
362 | alternatives_smp_lock(mod->locks, mod->locks_end, | 362 | alternatives_smp_lock(mod->locks, mod->locks_end, |
363 | mod->text, mod->text_end); | 363 | mod->text, mod->text_end); |
364 | } else { | 364 | } else { |
365 | printk(KERN_INFO "SMP alternatives: switching to UP code\n"); | 365 | printk(KERN_INFO "SMP alternatives: switching to UP code\n"); |
366 | set_bit(X86_FEATURE_UP, boot_cpu_data.x86_capability); | 366 | set_cpu_cap(&boot_cpu_data, X86_FEATURE_UP); |
367 | set_bit(X86_FEATURE_UP, cpu_data(0).x86_capability); | 367 | set_cpu_cap(&cpu_data(0), X86_FEATURE_UP); |
368 | list_for_each_entry(mod, &smp_alt_modules, next) | 368 | list_for_each_entry(mod, &smp_alt_modules, next) |
369 | alternatives_smp_unlock(mod->locks, mod->locks_end, | 369 | alternatives_smp_unlock(mod->locks, mod->locks_end, |
370 | mod->text, mod->text_end); | 370 | mod->text, mod->text_end); |
@@ -431,8 +431,9 @@ void __init alternative_instructions(void) | |||
431 | if (smp_alt_once) { | 431 | if (smp_alt_once) { |
432 | if (1 == num_possible_cpus()) { | 432 | if (1 == num_possible_cpus()) { |
433 | printk(KERN_INFO "SMP alternatives: switching to UP code\n"); | 433 | printk(KERN_INFO "SMP alternatives: switching to UP code\n"); |
434 | set_bit(X86_FEATURE_UP, boot_cpu_data.x86_capability); | 434 | set_cpu_cap(&boot_cpu_data, X86_FEATURE_UP); |
435 | set_bit(X86_FEATURE_UP, cpu_data(0).x86_capability); | 435 | set_cpu_cap(&cpu_data(0), X86_FEATURE_UP); |
436 | |||
436 | alternatives_smp_unlock(__smp_locks, __smp_locks_end, | 437 | alternatives_smp_unlock(__smp_locks, __smp_locks_end, |
437 | _text, _etext); | 438 | _text, _etext); |
438 | } | 439 | } |