From: Borislav Petkov <b...@suse.de> 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