]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
x86/microcode/AMD: Do not load when running on a hypervisor
authorBorislav Petkov <bp@suse.de>
Sun, 18 Dec 2016 16:44:13 +0000 (17:44 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 19 Dec 2016 09:46:20 +0000 (10:46 +0100)
commita15a753539eca8ba243d576f02e7ca9c4b7d7042
tree34a1eee40d16e5b2af6cfa16f67a629ecc32f38f
parent200d3553163f6065a0f1f142f92d1cf716d586c2
x86/microcode/AMD: Do not load when running on a hypervisor

Doing so is completely void of sense for multiple reasons so prevent
it. Set dis_ucode_ldr to true and thus disable the microcode loader by
default to address xen pv guests which execute the AP path but not the
BSP path.

By having it turned off by default, the APs won't run into the loader
either.

Also, check CPUID(1).ECX[31] which hypervisors set. Well almost, not the
xen pv one. That one gets the aforementioned "fix".

Also, improve the detection method by caching the final decision whether
to continue loading in dis_ucode_ldr and do it once on the BSP. The APs
then simply test that value.

Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Juergen Gross <jgross@suse.com>
Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Acked-by: Juergen Gross <jgross@suse.com>
Link: http://lkml.kernel.org/r/20161218164414.9649-4-bp@alien8.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/cpu/microcode/core.c