Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1443745rwb; Tue, 29 Nov 2022 13:45:03 -0800 (PST) X-Google-Smtp-Source: AA0mqf7g6/SpSB/iLmFH53JxnfG3Y/ursjkRoDHPJSoytJdNIVSwxBN0UElXgt4TbWcbrJjV2CK7 X-Received: by 2002:a17:902:8a92:b0:189:396f:7c46 with SMTP id p18-20020a1709028a9200b00189396f7c46mr35848902plo.98.1669758303646; Tue, 29 Nov 2022 13:45:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669758303; cv=none; d=google.com; s=arc-20160816; b=tyqlWoNKoybnTvENh5CgxSSYNBqRhbN5nO7xbPghrK6iFNJG1+rDc4blzDRTignmdX TvQZIprTY4FVDBpciFnSPaHMCNKJGsvWwrbCl2npI3F/gS+EnDPPpfMG3mU0gYvm5m7f X1TqbdVk/A/eYlHijNkVl2YQ1v8b3/uISfOlQgM+/Fk95f5vXy8qmEf9QkAi57c++as9 2kOgAR2YdT8iUNHLZpvkczyYUoDCCbPqB2zCGAMr4gVQ25xIY7jnWr2LSwDGvj2g7gHi N6305t5VIPnw1s7eoCaA1ar9JLkNE5fIWqVMRNjFPVhRRVhTbr1K9f1K1dOwFIqCFzmM DsHw== 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=pkzKDTqaBXOKLcFXO7KnzX/DjOJMptJTLrwEvMhth8w=; b=uBE1HHcogTRg6Lk1bMcCjAe0yRBvqzDpY9ajEJr0RpTawu/TLzFLFTz80JgXMdO2oD EFWONB2p9ou5wUswBCnurqKBGJp6Z4lhnEpbFrpj4T4850eHsAFME0Wba646qLhXPmkf wuIIuZ8PgwuRmfdeyZBw0jtDD9jCYlit5rtnVNwzwE5qbUuLdvuHR2vmDqT67n0hMHcs yS9GTFQiMSOAV++x63FZ4NGKuQ3jQhCB9JgCKX8q9IK6T8ivo9Hrm7lMVKO8DpiyCnkw eXcaqIMlqq7Re4oRxpQ9bqjTjDoXt0GU06AhxxEy4YFJv0CAgkgq87xZ7KCC+4ZM2Mqj cqSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Kju5GOzb; 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 c3-20020a170903234300b0017f7faef235si18306711plh.148.2022.11.29.13.44.43; Tue, 29 Nov 2022 13:45:03 -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=Kju5GOzb; 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 S236812AbiK2VJf (ORCPT + 84 others); Tue, 29 Nov 2022 16:09:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35990 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236427AbiK2VJH (ORCPT ); Tue, 29 Nov 2022 16:09:07 -0500 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2EE94101F2 for ; Tue, 29 Nov 2022 13:09:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669756146; x=1701292146; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=aFHPQK+2Oph+JjnPWlBfQ8UflwxbR0mKWG54lIPAftU=; b=Kju5GOzbuX/5maJj+OH88jQB57hEY6ntKq0LAIyDBbn+Ui3z/fd+wvIo 00QKyzaeIrOdmHnRigR7B0nKqLxZo2CZ+6lxuspAABL2+rGvvoFuMa1Nl INTNwc9PIeWmEkI4WKDfKAQX16+ZZew/NSD+BYWujB4gzNXDNyRkkLyyi D+UynJ4oHL4NrSOTnyfGqMOaY63avWzi/zmGuu/EWTPYkTqwA45O5PmOJ p32dSoq6eg29mw5oXt9VsaoB1wvBrsfHUrFpYRCrJv4YnZQ28Xc1cjCAv GbfMxuTF3H5j++EVwazBR41TM20vXIrMm3iVPi9OSd9WJBvBeIxdClQ9L g==; X-IronPort-AV: E=McAfee;i="6500,9779,10546"; a="317083142" X-IronPort-AV: E=Sophos;i="5.96,204,1665471600"; d="scan'208";a="317083142" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Nov 2022 13:09:05 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10546"; a="646066216" X-IronPort-AV: E=Sophos;i="5.96,204,1665471600"; d="scan'208";a="646066216" Received: from araj-ucode.jf.intel.com ([10.23.0.19]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Nov 2022 13:09:04 -0800 From: Ashok Raj To: Borislav Petkov Cc: X86-kernel , LKML Mailing List , Ashok Raj , Dave Hansen , Tony Luck , alison.schofield@intel.com, reinette.chatre@intel.com Subject: [Patch V1 5/7] x86/microcode/intel: Prepare the print_ucode_rev to simply take a rev to print Date: Tue, 29 Nov 2022 13:08:30 -0800 Message-Id: <20221129210832.107850-6-ashok.raj@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221129210832.107850-1-ashok.raj@intel.com> References: <20221129210832.107850-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 Instead of passing a struct ucode_cpu_info, just pass the rev to print. Next patch will permit printing old and new revisions after an early update. A subsequent patch will print a message when early loading fails. struct ucode_cpu_info is always the current version in the CPU. When loading fails this is the old rev, when its successfully applied its the new rev. That makes the code bit ugly to read. Remove the struct ucode_cpu_info parameter from print_ucode() and let the caller to pass in the revision number to print. No functional change. Signed-off-by: Ashok Raj --- arch/x86/kernel/cpu/microcode/intel.c | 28 +++++++++------------------ 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c index d68b084a17e7..0a4f511e39ea 100644 --- a/arch/x86/kernel/cpu/microcode/intel.c +++ b/arch/x86/kernel/cpu/microcode/intel.c @@ -309,10 +309,10 @@ static bool load_builtin_intel_microcode(struct cpio_data *cp) * Print ucode update info. */ static void -print_ucode_info(struct ucode_cpu_info *uci, unsigned int date) +print_ucode_info(unsigned int new_rev, unsigned int date) { pr_info_once("microcode updated early to revision 0x%x, date = %04x-%02x-%02x\n", - uci->cpu_sig.rev, + new_rev, date & 0xffff, date >> 24, (date >> 16) & 0xff); @@ -332,7 +332,7 @@ void show_ucode_info_early(void) if (delay_ucode_info) { intel_cpu_collect_info(&uci); - print_ucode_info(&uci, current_mc_date); + print_ucode_info(uci.cpu_sig.rev. current_mc_date); delay_ucode_info = 0; } } @@ -341,33 +341,23 @@ void show_ucode_info_early(void) * At this point, we can not call printk() yet. Delay printing microcode info in * show_ucode_info_early() until printk() works. */ -static void print_ucode(struct ucode_cpu_info *uci) +static void print_ucode(int new_rev, int date) { struct microcode_intel *mc; int *delay_ucode_info_p; int *current_mc_date_p; - mc = uci->mc; - if (!mc) - return; - delay_ucode_info_p = (int *)__pa_nodebug(&delay_ucode_info); current_mc_date_p = (int *)__pa_nodebug(¤t_mc_date); *delay_ucode_info_p = 1; - *current_mc_date_p = mc->hdr.date; + *current_mc_date_p = date; } #else -static inline void print_ucode(struct ucode_cpu_info *uci) +static inline void print_ucode(int new_rev, int date) { - struct microcode_intel *mc; - - mc = uci->mc; - if (!mc) - return; - - print_ucode_info(uci, mc->hdr.date); + print_ucode_info(new_rev, date); } #endif @@ -407,9 +397,9 @@ static int apply_microcode_early(struct ucode_cpu_info *uci, bool early) uci->cpu_sig.rev = rev; if (early) - print_ucode(uci); + print_ucode(uci->cpu_sig.rev, mc->hdr.date); else - print_ucode_info(uci, mc->hdr.date); + print_ucode_info(uci->cpu_sig.rev, mc->hdr.date); return 0; } -- 2.34.1