Commit e6ebf5deaaaa33b661f0db86380c232b162bd68c
Committed by
H. Peter Anvin
1 parent
d288e1cf8e
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
x86/common.c: load ucode in 64 bit or show loading ucode info in 32 bit on AP
In 64 bit, load ucode on AP in cpu_init(). In 32 bit, show ucode loading info on AP in cpu_init(). Microcode has been loaded earlier before paging. Now it is safe to show the loading microcode info on this AP. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Link: http://lkml.kernel.org/r/1356075872-3054-5-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Showing 1 changed file with 8 additions and 0 deletions Side-by-side Diff
arch/x86/kernel/cpu/common.c
... | ... | @@ -1220,6 +1220,12 @@ |
1220 | 1220 | int cpu; |
1221 | 1221 | int i; |
1222 | 1222 | |
1223 | + /* | |
1224 | + * Load microcode on this cpu if a valid microcode is available. | |
1225 | + * This is early microcode loading procedure. | |
1226 | + */ | |
1227 | + load_ucode_ap(); | |
1228 | + | |
1223 | 1229 | cpu = stack_smp_processor_id(); |
1224 | 1230 | t = &per_cpu(init_tss, cpu); |
1225 | 1231 | oist = &per_cpu(orig_ist, cpu); |
... | ... | @@ -1310,6 +1316,8 @@ |
1310 | 1316 | struct task_struct *curr = current; |
1311 | 1317 | struct tss_struct *t = &per_cpu(init_tss, cpu); |
1312 | 1318 | struct thread_struct *thread = &curr->thread; |
1319 | + | |
1320 | + show_ucode_info_early(); | |
1313 | 1321 | |
1314 | 1322 | if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) { |
1315 | 1323 | printk(KERN_WARNING "CPU#%d already initialized!\n", cpu); |