x86, microcode, AMD: Fix early ucode loading
authorBorislav Petkov <bp@suse.de>
Fri, 29 Nov 2013 13:58:44 +0000 (14:58 +0100)
committerBorislav Petkov <bp@suse.de>
Mon, 13 Jan 2014 18:59:38 +0000 (19:59 +0100)
commit5335ba5cf475369f88db8e6835764efdcad8ab96
tree3b23ba732f341559b2f90a1f2da5f1b1986b5c99
parente1b43e3f13f7157249fb962ccf88b84eb0421fb4
x86, microcode, AMD: Fix early ucode loading

The original idea to use the microcode cache for the APs doesn't pan out
because we do memory allocation there very early and with IRQs disabled
and we don't want to involve GFP_ATOMIC allocations. Not if it can be
helped.

Thus, extend the caching of the BSP patch approach to the APs and
iterate over the ucode in the initrd instead of using the cache. We
still save the relevant patches to it but later, right before we
jettison the initrd.

While at it, fix early ucode loading on 32-bit too.

Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
arch/x86/include/asm/microcode_amd.h
arch/x86/kernel/microcode_amd.c
arch/x86/kernel/microcode_amd_early.c