[PATCH 00/13] x86/microcode: 4.11 queue
From: Borislav Petkov
Date: Tue Jan 17 2017 - 12:46:46 EST
From: Borislav Petkov <bp@xxxxxxx>
Hi,
so this is more of a lessons-learned pile after the rewriting of the
whole patch loading method and not caching addresses. It largely
simplifies the loader - just look at the diffstat - without any
functionality loss (I hope :-)). The driver is also very much readable
now with unified, common paths where possible.
What is more, 6/13 reworks the whole AMD container parsing into much
more readable separation of functionality and functions doing only one
thing properly.
13/13 is also another nice simplification for the AP update path which
looks almost straightforward in comparison with what we had before.
All has been tested on a lot of boxes and in different configurations:
* builtin vs initrd microcode
* old microcode_ctl application method for Intel
* "echo 1 > /sys/devices/system/cpu/microcode/reload" late method
* CONFIG_RANDOMIZE_MEMORY
both on Intel and AMD machines.
Please queue for 4.11.
Thanks.
Borislav Petkov (13):
x86/microcode/intel: Drop stashed AP patch pointer optimization
x86/microcode: Use own MSR accessors
x86/microcode/AMD: Clean up find_equiv_id()
x86/microcode/AMD: Shorten function parameter's name
x86/microcode/AMD: Extend the container struct
x86/microcode/AMD: Rework container parsing
x86/microcode: Decrease CPUID use
x86/microcode/AMD: Get rid of global this_equiv_id
x86/microcode/AMD: Use find_microcode_in_initrd()
x86/microcode/AMD: Check patch level only on the BSP
x86/microcode/AMD: Unify load_ucode_amd_ap()
x86/microcode/AMD: Simplify saving from initrd
x86/microcode/AMD: Remove AP scanning optimization
arch/x86/include/asm/microcode.h | 29 +-
arch/x86/include/asm/microcode_amd.h | 2 -
arch/x86/include/asm/microcode_intel.h | 4 +-
arch/x86/kernel/cpu/microcode/amd.c | 501 +++++++++++----------------------
arch/x86/kernel/cpu/microcode/core.c | 81 ++++--
arch/x86/kernel/cpu/microcode/intel.c | 13 +-
6 files changed, 248 insertions(+), 382 deletions(-)
--
2.11.0