Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp1270689rwb; Fri, 13 Jan 2023 09:59:14 -0800 (PST) X-Google-Smtp-Source: AMrXdXt8kBdIo62GsBlWi+nFp1ZJ8wryQkT0vkmNrrE/h6YQ9rtoI+8TzbEwNL/4E+unV8n0ZF90 X-Received: by 2002:aa7:9713:0:b0:581:4260:a650 with SMTP id a19-20020aa79713000000b005814260a650mr12675950pfg.33.1673632754081; Fri, 13 Jan 2023 09:59:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673632754; cv=none; d=google.com; s=arc-20160816; b=eZFTPtyOl7MuN+4/MBsu95hTanfdBa8MxWiO1ws2qp3mWLAy2+6fB1dWADPeqTpqzG pER1GKWeu3uG7Q8hGcEddcWEWhvH1uMbYhuC7iv5Tir2N1CGNR1jXAUqIFMxaqAyqzi8 u53kEOluyjDNuaAOAYnj1MmjtEEopDDJdZw2jgwkIcNIvXYOIhYNMb/IdpeqH8aG3qQa oB81Jor5ft/uXXMVkcb/fw8X8pDenlegmdQH5a5GyggL+VU19L8UTE8Hk2SYfYlBD4cC dYcPOQkryU5LFdgE6DDxkuSnePI4gDUPhyMUOJTGs4i81M2GzvSw8ktRSZUo5tBQlLLV HOyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=oQ7cF0kAMPAt+0YdS3hvzI9ngmp4jInVOpAUO6gzrv0=; b=Ituv3mZt95Xw7Kx4sRw29xB2xyo3pf3gJAEhFZ9x6Aijtnwfq0UEFdnym1Qxri/uY7 IllMgG6DEIgKYevYYCDRtaJxcs+RlmoFZ81LB3BvZyfUSs1moGNhX6TnYkvQpdiJZ5K8 YvW+NkhAWW6NbvcOY6yB2X2hvFsqHTHbkzM1uG5Q8SIloYRXmVA5iJ7JfvZ8451kVvvf 4V0Rh+oWn84qjfCkoKPvnyBGmnM67BJs5ZRCFAgHMuH2af90419czxhZ4q0WqKi9w6Hn CEb0UBdu/tWkj41DMAKvjI95zvamuS6/WQGkf+vWRAMUqy8j9xYNqiIQ/AwyoFlsU+Du EHOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RC0sG3Mf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z14-20020a056a00240e00b00581d10989f4si22368597pfh.215.2023.01.13.09.59.07; Fri, 13 Jan 2023 09:59:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RC0sG3Mf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230123AbjAMRn6 (ORCPT + 52 others); Fri, 13 Jan 2023 12:43:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230007AbjAMRnL (ORCPT ); Fri, 13 Jan 2023 12:43:11 -0500 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC1736C050 for ; Fri, 13 Jan 2023 09:29:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673630974; x=1705166974; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eF7Pboz7JZJBXxVsvwQjcSE5Pxeikn70RVh0Nt52pQs=; b=RC0sG3Mfu1d++/NIj3ZTlrlMYeT0RijgHt8mfwqYaaEKPzr+pTnLsgji QX9oZlkgCejlklVXhrRU8M1ybbVCoF6R8oOzu/cO5TB7ozHJ0zTemWqj9 YawweHGpQRJQ5L1W4XzuIjmwoQSHI45bT+PxBD/9nX54LmzB2/XI16jo6 CiNpFIPmyaJMBoFHLk39tcLYopw9LfRpmvV4yteyxfIlmcJqR5jv54I6d uNbRWCJYQJyD8gqmb1HK2y2xiwAZK1/2CY4h0aULjx7dwbUA8xxS3o9WX Ldm9eN6yC16WwOIA/tTCWTY8spmDzL26R2kYRAK1BUUR0AL1NwRAgeb8B w==; X-IronPort-AV: E=McAfee;i="6500,9779,10589"; a="304430028" X-IronPort-AV: E=Sophos;i="5.97,214,1669104000"; d="scan'208";a="304430028" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 09:29:33 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10589"; a="766089928" X-IronPort-AV: E=Sophos;i="5.97,214,1669104000"; d="scan'208";a="766089928" Received: from araj-ucode.jf.intel.com ([10.23.0.19]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 09:29:33 -0800 From: Ashok Raj To: Borislav Petkov , Thomas Gleixner Cc: Ashok Raj , Tony Luck , LKML , x86 , Ingo Molnar , Dave Hansen , Alison Schofield , Reinette Chatre , Tom Lendacky , Stefan Talpalaru , David Woodhouse , Benjamin Herrenschmidt , Jonathan Corbet , "Rafael J . Wysocki" , Peter Zilstra , Andy Lutomirski , Andrew Cooper Subject: [PATCH v1 Part2 4/5] x86/microcode/intel: Drop wbinvd() from microcode loading Date: Fri, 13 Jan 2023 09:29:19 -0800 Message-Id: <20230113172920.113612-5-ashok.raj@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230113172920.113612-1-ashok.raj@intel.com> References: <20230113172920.113612-1-ashok.raj@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some older processors had a bad interaction when updating microcode if the caches were dirty causing machine checks. The wbinvd() was added to mitigate that before performing microcode updates. Now that Linux checks for the minimum version before performing an update, those microcode revisions can't be loaded. Remove calls to wbinvd(). Signed-off-by: Ashok Raj Reviewed-by: Tony Luck Cc: LKML Cc: x86 Cc: Ingo Molnar Cc: Tony Luck Cc: Dave Hansen Cc: Alison Schofield Cc: Reinette Chatre Cc: Thomas Gleixner (Intel) Cc: Tom Lendacky Cc: Stefan Talpalaru Cc: David Woodhouse Cc: Benjamin Herrenschmidt Cc: Jonathan Corbet Cc: Rafael J. Wysocki Cc: Peter Zilstra (Intel) Cc: Andy Lutomirski Cc: Andrew Cooper --- arch/x86/kernel/cpu/microcode/intel.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c index eba4f463ef1c..68a3c5569cd2 100644 --- a/arch/x86/kernel/cpu/microcode/intel.c +++ b/arch/x86/kernel/cpu/microcode/intel.c @@ -415,12 +415,6 @@ static int apply_microcode_early(struct ucode_cpu_info *uci, bool early) return UCODE_OK; } - /* - * Writeback and invalidate caches before updating microcode to avoid - * internal issues depending on what the microcode is updating. - */ - native_wbinvd(); - /* write microcode via MSR 0x79 */ native_wrmsrl(MSR_IA32_UCODE_WRITE, (unsigned long)mc->bits); @@ -624,12 +618,6 @@ static enum ucode_state apply_microcode_intel(int cpu) goto out; } - /* - * Writeback and invalidate caches before updating microcode to avoid - * internal issues depending on what the microcode is updating. - */ - native_wbinvd(); - /* write microcode via MSR 0x79 */ wrmsrl(MSR_IA32_UCODE_WRITE, (unsigned long)mc->bits); -- 2.34.1