From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751267AbdAQRqo (ORCPT ); Tue, 17 Jan 2017 12:46:44 -0500 Received: from mail.skyhub.de ([78.46.96.112]:60659 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750997AbdAQRqj (ORCPT ); Tue, 17 Jan 2017 12:46:39 -0500 From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 00/13] x86/microcode: 4.11 queue Date: Tue, 17 Jan 2017 18:37:21 +0100 Message-Id: <20170117173734.14251-1-bp@alien8.de> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Borislav Petkov 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