x86, microcode, AMD: Fix early microcode loading
authorTorsten Kaiser <just.for.lkml@googlemail.com>
Thu, 8 Aug 2013 17:38:18 +0000 (19:38 +0200)
committerBorislav Petkov <bp@suse.de>
Mon, 12 Aug 2013 16:32:45 +0000 (18:32 +0200)
commit84516098b58e05821780dc0b89abcee434b4dca5
tree8d842dce0d6a7ba771948844820dbc660e628b6b
parent8c6b79bb1211d91fb31bcbc2a1eea8d6963d3ad9
x86, microcode, AMD: Fix early microcode loading

load_microcode_amd() (and the helper it is using) should not have an
cpu parameter. The microcode loading does not depend on the CPU wrt the
patches loaded since they will end up in a global list for all CPUs
anyway.

The change from cpu to x86family in load_microcode_amd()
now allows to drop the code messing with cpu_data(cpu) from
collect_cpu_info_amd_early(), which is wrong anyway because at that
point the per-cpu cpu_info is not yet setup (These values would later be
overwritten by smp_store_boot_cpu_info() / smp_store_cpu_info()).

Fold the rest of collect_cpu_info_amd_early() into load_ucode_amd_ap(),
because its only used at one place and without the cpuinfo_x86 accesses
it was not much left.

Signed-off-by: Torsten Kaiser <just.for.lkml@googlemail.com>
[ Fengguang: build fix ]
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
[ Boris: adapt it to current tree. ]
Signed-off-by: Borislav Petkov <bp@suse.de>
arch/x86/include/asm/microcode_amd.h
arch/x86/kernel/microcode_amd.c
arch/x86/kernel/microcode_amd_early.c