From patchwork Mon Nov 20 10:41:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167041 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109961vqn; Mon, 20 Nov 2023 02:44:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IHG9pO/Duw8lsNc7QzJtaHlPffOC1kAb2lSh9n+etCRbF0LXLPThsbO5Xm0PpGfsbhkOdT2 X-Received: by 2002:a17:902:7793:b0:1cc:5378:6a56 with SMTP id o19-20020a170902779300b001cc53786a56mr4837685pll.48.1700477047177; Mon, 20 Nov 2023 02:44:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477047; cv=none; d=google.com; s=arc-20160816; b=UqdFSpQH0JRK8U3Mdx8lggFlEXWMD57EK8TVU2yKGVkfwPWXRxKSPlgACPzLrl8ndN EfRF+Cga8VCLGt8cY+Rih8yG/R4u9BM68DZqYFFdxwiM0lyn/eSM9WPyI942Uf5zosUr 6eci7R7KdE6iJtqQia7b9q+PfMX2/feTEY0TnAWfMM11lO5rK7BMtA74JgviYUJZPAFh e6dtvDPRKAL+rxvsbJR8767+x+Op/VY7zxeqKnyAFZ78bluptD3KpU4FPRk519li86Bo tvanjWh8Gsn/a/7KGtwqJj53IcOG1SOe6J13P0kooKAEoFhWDYhbHJ98jffmMDFon5zg Yu6g== 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=LyFsSHLJuWIth4fnzmUnEOdKoK1Kc4wkYZUjUwGrTjo=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=xx9bPGzen7D7GpCZETWmyY8OePzHX8rWMm/6tNy45Wt0XyVLFukbZ/ZJwrU8pZAVfR jcDWfU1D5UoFhiB4/EOg54uJXMrEMkMaIs+oAOrQx/TjeKxvW/jp3LhDk7SMPKhEn0yK xhdWEihxllRhOtQI/T2kj8RtmXRq4sYvqym65JwFPYGnagRAun355Y8TGNfKRTwhQ7QO SJpyh5f4MPxxVhd1rbkHJdb1QLJST5vc4Z+c7tDR4UEcrytbHlzsRfEKKIof4WAVT/Sz wz9IwVrtTG10rkNWuza+mXhyTCQSstLufR053KcOwvN1QsuvZDiubONQ3Ud3GCSDKgnu 6iqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=dlDFrVYY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id d1-20020a170903230100b001ce5b8cfe7dsi8399739plh.230.2023.11.20.02.44.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:44:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=dlDFrVYY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id EC92680CF546; Mon, 20 Nov 2023 02:42:36 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233166AbjKTKmR (ORCPT + 27 others); Mon, 20 Nov 2023 05:42:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53082 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232566AbjKTKmO (ORCPT ); Mon, 20 Nov 2023 05:42:14 -0500 Received: from mail.alien8.de (mail.alien8.de [IPv6:2a01:4f9:3051:3f93::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 44246CA for ; Mon, 20 Nov 2023 02:42:10 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 7382040E0199; Mon, 20 Nov 2023 10:42:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id RkOOUOSPk8KA; Mon, 20 Nov 2023 10:42:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476925; bh=HxttFcqjU7pq71AIEFYdAjIvuj4XO+qvt4ZK4/zq++U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dlDFrVYYBJfJEwXM4O5nSh0jip04X+D96XbQtfFOgJDd1beZfTwZc5+OLZyQoKPyX zGGf2olJrYxTT4eSaTC97VxMFE6YYFvgD0bg6msN+hV/AYBjGmOA90vJ1dBEBfaSnG gIvElgm8CT75xSMeF/9/X+w14DHAbwRhseZkKjYuj+rZNz5cbTLkyvevhOOeFXmx6f WB8v5c+By/pcyE6HwwZBhoHDeI+mnbvzlCGu/PKiPH+pSe/xyTXGkLb71TzA/nIc1S +9FXpaHXOzrrT1LtY8dqBBt9eUU0MmX2vItpsOSBTeP4ZokLqb01PMyIQLSzqAuvNe xQfsPQacrBlKvEdteSyRCJuU/D/LrglJUpI9N2HX7WrS4dHnELMVGQA/VTBhkDhpKN HeXCIItYhtHoM5A7LnARnZ533EvPHfBi3lldQJqNWsrYyJgDrlHnm3yAGk51nAh+Sl bB+UaKJHODEePzhYmNY+RPYRE827Pst7+w4RKen8O7hRrzIHavAWhMgRAaIrF5xdPy u+BUJaKBj7WleaRDDp1aXloKvvY/EEHovQXzNPzy8hgoCL6ijKde0936gqKr2BoiL6 yrD74wcbg0rU7lLd9ygCJWKMX++jbYOSTLwMYp3A2dFefWhf3ZESuydWYJFB3wCuG1 BuiRogp2cqZOIlEnWiIIxnGQ= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 91C1A40E0031; Mon, 20 Nov 2023 10:42:03 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 01/13] x86/CPU/AMD: Add ZenX generations flags Date: Mon, 20 Nov 2023 11:41:40 +0100 Message-ID: <20231120104152.13740-2-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:42:37 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079419903797655 X-GMAIL-MSGID: 1783079419903797655 From: "Borislav Petkov (AMD)" Add X86_FEATURE flags for each Zen generation. They should be used from now on instead of checking f/m/s. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/include/asm/cpufeatures.h | 6 ++- arch/x86/kernel/cpu/amd.c | 70 +++++++++++++++++++++++++++++- 2 files changed, 72 insertions(+), 4 deletions(-) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index 4af140cf5719..6f6cf49e9891 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -218,7 +218,7 @@ #define X86_FEATURE_IBRS ( 7*32+25) /* Indirect Branch Restricted Speculation */ #define X86_FEATURE_IBPB ( 7*32+26) /* Indirect Branch Prediction Barrier */ #define X86_FEATURE_STIBP ( 7*32+27) /* Single Thread Indirect Branch Predictors */ -#define X86_FEATURE_ZEN (7*32+28) /* "" CPU based on Zen microarchitecture */ +#define X86_FEATURE_ZEN ( 7*32+28) /* "" CPU based on Zen microarchitecture */ #define X86_FEATURE_L1TF_PTEINV ( 7*32+29) /* "" L1TF workaround PTE inversion */ #define X86_FEATURE_IBRS_ENHANCED ( 7*32+30) /* Enhanced IBRS */ #define X86_FEATURE_MSR_IA32_FEAT_CTL ( 7*32+31) /* "" MSR IA32_FEAT_CTL configured */ @@ -308,10 +308,12 @@ #define X86_FEATURE_SMBA (11*32+21) /* "" Slow Memory Bandwidth Allocation */ #define X86_FEATURE_BMEC (11*32+22) /* "" Bandwidth Monitoring Event Configuration */ #define X86_FEATURE_USER_SHSTK (11*32+23) /* Shadow stack support for user mode applications */ - #define X86_FEATURE_SRSO (11*32+24) /* "" AMD BTB untrain RETs */ #define X86_FEATURE_SRSO_ALIAS (11*32+25) /* "" AMD BTB untrain RETs through aliasing */ #define X86_FEATURE_IBPB_ON_VMEXIT (11*32+26) /* "" Issue an IBPB only on VMEXIT */ +#define X86_FEATURE_ZEN2 (11*32+27) /* "" CPU based on Zen2 microarchitecture */ +#define X86_FEATURE_ZEN3 (11*32+28) /* "" CPU based on Zen3 microarchitecture */ +#define X86_FEATURE_ZEN4 (11*32+29) /* "" CPU based on Zen4 microarchitecture */ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */ diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index a7eab05e5f29..fa6ba63ca7e2 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -616,6 +616,49 @@ static void bsp_init_amd(struct cpuinfo_x86 *c) } resctrl_cpu_detect(c); + + /* Figure out Zen generations: */ + switch (c->x86) { + case 0x17: { + switch (c->x86_model) { + case 0x00 ... 0x2f: + case 0x50 ... 0x5f: + setup_force_cpu_cap(X86_FEATURE_ZEN); + break; + case 0x30 ... 0x4f: + case 0x60 ... 0x7f: + case 0x90 ... 0x91: + case 0xa0 ... 0xaf: + setup_force_cpu_cap(X86_FEATURE_ZEN2); + break; + default: + goto warn; + } + break; + } + case 0x19: { + switch (c->x86_model) { + case 0x00 ... 0x0f: + case 0x20 ... 0x5f: + setup_force_cpu_cap(X86_FEATURE_ZEN3); + break; + case 0x10 ... 0x1f: + case 0x60 ... 0xaf: + setup_force_cpu_cap(X86_FEATURE_ZEN4); + break; + default: + goto warn; + } + break; + } + default: + break; + } + + return; + +warn: + WARN_ONCE(1, "Family 0x%x, model: 0x%x??\n", c->x86, c->x86_model); } static void early_detect_mem_encrypt(struct cpuinfo_x86 *c) @@ -974,8 +1017,6 @@ void init_spectral_chicken(struct cpuinfo_x86 *c) static void init_amd_zn(struct cpuinfo_x86 *c) { - set_cpu_cap(c, X86_FEATURE_ZEN); - #ifdef CONFIG_NUMA node_reclaim_distance = 32; #endif @@ -997,6 +1038,22 @@ static void init_amd_zn(struct cpuinfo_x86 *c) } } +static void init_amd_zen(struct cpuinfo_x86 *c) +{ +} + +static void init_amd_zen2(struct cpuinfo_x86 *c) +{ +} + +static void init_amd_zen3(struct cpuinfo_x86 *c) +{ +} + +static void init_amd_zen4(struct cpuinfo_x86 *c) +{ +} + static bool cpu_has_zenbleed_microcode(void) { u32 good_rev = 0; @@ -1077,6 +1134,15 @@ static void init_amd(struct cpuinfo_x86 *c) case 0x19: init_amd_zn(c); break; } + if (boot_cpu_has(X86_FEATURE_ZEN)) + init_amd_zen(c); + else if (boot_cpu_has(X86_FEATURE_ZEN2)) + init_amd_zen2(c); + else if (boot_cpu_has(X86_FEATURE_ZEN3)) + init_amd_zen3(c); + else if (boot_cpu_has(X86_FEATURE_ZEN4)) + init_amd_zen4(c); + /* * Enable workaround for FXSAVE leak on CPUs * without a XSaveErPtr feature From patchwork Mon Nov 20 10:41:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167033 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109538vqn; Mon, 20 Nov 2023 02:42:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IFAxuDKI4ar4Lgep/trTzbawdz9RXrJnB2j5B+152ho97WroBTb+CzeNYp/YzO4fbryeAkk X-Received: by 2002:a05:6808:d4a:b0:3b2:f393:dab1 with SMTP id w10-20020a0568080d4a00b003b2f393dab1mr6984222oik.21.1700476969013; Mon, 20 Nov 2023 02:42:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700476968; cv=none; d=google.com; s=arc-20160816; b=XgmNuaO2MZ69EVjgD+oMO6Ehv6HZ83exS/sTHK78Z7Fr8lEV0haPcO7ibW0OWFgb2n 0GOhMy8TL5N/3MSyWtwWFTi756V7mdJrqLwwhBW6X8PlhZ5VCSsuIjbbVH4bz+GCH4gh ZNfvo9SGIWucAj2BBp6eCspf35LZxbuSGHwDNPPTCFyH+dagmFOz9IeNgbmk5jb2yriT WfsSCWDAqXAcU+nOisxEdk2AWRcbAwwUy9pW0xQeHfu60EWTBJ8ICnW/TZ5RcYGcgroX 2jIboy3zbeFKKYEa6pGn45HeBiw6hYDrfyXD8G4fATIkeZQSsWwMW8/oIUcvXAEkQBf5 AZvw== 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=o9Scu5DzQgUAyUiYXDj9ShBZx68Z/8kv9SCbk0GohKU=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=beTgem6RSxS89G3flo7Zeb4v72ej6uLLgIH0I982mB+FmYgAJsv3Ir4OmFDSJbuj0L zY6tpZzIsXt5L95NGALM9rfomqj9tA6KpYum1Y5aPd1+0KhycIkTZ90FC+mwigyeXk5y /X5weVrLce0c5deRSpWfbjZ+j98mH/DV5aqDT0KbNixL8IhKrDwR+bxYQDa57+7JM0w9 pjKQj51yv6fKzgOZXinA3lbAR5DVanbD/AJz+lRthUGdHrtWkzG6zVlXCDhU/PGrXjYa /QowoFrCtTmDO7xS/AVpnUpd+U7AbFebJlRnDtXiFv++nzYEfztIqDhmFAhG2j23N1QN ZEvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=kvheRbZg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id bx11-20020a056a02050b00b00577960a815csi8417336pgb.188.2023.11.20.02.42.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:42:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=kvheRbZg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id E718580B1FA6; Mon, 20 Nov 2023 02:42:40 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233175AbjKTKmV (ORCPT + 27 others); Mon, 20 Nov 2023 05:42:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233169AbjKTKmR (ORCPT ); Mon, 20 Nov 2023 05:42:17 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5EE2ACA for ; Mon, 20 Nov 2023 02:42:14 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id DAE3740E0191; Mon, 20 Nov 2023 10:42:12 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id zQK2PZAC1s1k; Mon, 20 Nov 2023 10:42:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476929; bh=dv3r8X4PHcRGZmkccWpMHrdFrdRvuJJOngRouvfj1cI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kvheRbZgGhDZDztAyWLdFiT2cZuMpgLvBcqrYW+D7vobax6NfFD0mf/Cpnx3X17+6 pzxJxMNRT/hPi7F+/ErWPgJNFtne/BCNWqu5q9qbiaBrOOGGohLtq95IQtcf2rzicB LPCY2kFEreePjhWkvyH+wJDhSO+HioKRw4HGT6Vpi8+Mn53Q4oY2vAXg7MF4UAftRu O3xkCwTHFrAdjrG+t+muI2kNdjmJtdejZwjpvYsZ15ttZ+xhOj8v/bmhwxZDaP+pf5 z+BD4WfkEWHiWWBPN0b1TarApXOOI8X/l0OTuFKjzE1ZqQmafdd0QdB+nJRSvZnOBx RRQiTURetORNbTlVcH8DQzXeYr4c1KH2eg4oa8GauobXA1YA9iHVldq5PNaWOMDkMc SlPyiV1A4Vc0uR3HFVNjFnxQA3A+mmy6heAqz6nA7+m/QPZXjRBC5QcWiW9+ZwipVa kzA7n+5FwGbOQ7Kl+DPb3EzgHO77hkvqlJGqi7JcMlzz3xBmQNWVtbVXm/K3C6TjiI Zi8ramvdJP9MXKxLcYruG6uOQrzlb8b5qELG3aUETUIk/oJQ5sr8Dz4iLmuNoP75MD tAXxh1lxG0LTOFxNsGCPnmesd4Yd4KZFM4jq7A3sTJ7fyFjxSuDVeOnRflRvvkhzLO DNHSqYGJorxQpvRy00rJedDw= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 6283440E0030; Mon, 20 Nov 2023 10:42:07 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 02/13] x86/CPU/AMD: Carve out the erratum 1386 fix Date: Mon, 20 Nov 2023 11:41:41 +0100 Message-ID: <20231120104152.13740-3-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:42:41 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079338712098417 X-GMAIL-MSGID: 1783079338712098417 From: "Borislav Petkov (AMD)" Call it on the affected CPU generations. No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index fa6ba63ca7e2..b3f939101368 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -984,6 +984,19 @@ static void init_amd_bd(struct cpuinfo_x86 *c) clear_rdrand_cpuid_bit(c); } +static void fix_erratum_1386(struct cpuinfo_x86 *c) +{ + /* + * Work around Erratum 1386. The XSAVES instruction malfunctions in + * certain circumstances on Zen1/2 uarch, and not all parts have had + * updated microcode at the time of writing (March 2023). + * + * Affected parts all have no supervisor XSAVE states, meaning that + * the XSAVEC instruction (which works fine) is equivalent. + */ + clear_cpu_cap(c, X86_FEATURE_XSAVES); +} + void init_spectral_chicken(struct cpuinfo_x86 *c) { #ifdef CONFIG_CPU_UNRET_ENTRY @@ -1004,15 +1017,6 @@ void init_spectral_chicken(struct cpuinfo_x86 *c) } } #endif - /* - * Work around Erratum 1386. The XSAVES instruction malfunctions in - * certain circumstances on Zen1/2 uarch, and not all parts have had - * updated microcode at the time of writing (March 2023). - * - * Affected parts all have no supervisor XSAVE states, meaning that - * the XSAVEC instruction (which works fine) is equivalent. - */ - clear_cpu_cap(c, X86_FEATURE_XSAVES); } static void init_amd_zn(struct cpuinfo_x86 *c) @@ -1040,10 +1044,12 @@ static void init_amd_zn(struct cpuinfo_x86 *c) static void init_amd_zen(struct cpuinfo_x86 *c) { + fix_erratum_1386(c); } static void init_amd_zen2(struct cpuinfo_x86 *c) { + fix_erratum_1386(c); } static void init_amd_zen3(struct cpuinfo_x86 *c) From patchwork Mon Nov 20 10:41:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167034 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109743vqn; Mon, 20 Nov 2023 02:43:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IEi52lMDJUatUiFnodZSlwxMxHl7bW6ZErECOxM5zd5ZhO6osmeVr8e8oKmzRD8SpcfTJUZ X-Received: by 2002:a17:902:d2ca:b0:1cf:5782:7c74 with SMTP id n10-20020a170902d2ca00b001cf57827c74mr3930607plc.7.1700477009575; Mon, 20 Nov 2023 02:43:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477009; cv=none; d=google.com; s=arc-20160816; b=VwbH38juZS9P4o7+p/kePtjvz58rd9H53IXN0UdJCuf44UKzYToPCJUrzHFyUPREak 0Dh16rGkRSWdBaxpSnXqWs6XCsYplAeWfv3z7nNGxc/7XPzPFxz3CfT1VF5PUsgFOQdE Zk4mXucSaGK1kyQmLgN4SOvHXMwE0AKm1KKPtcJeLW/a1t66BeNsauGcIHY8y2rKfEVD HsP0LrUr1rVbsqGf6mtlUgodTkEzz/zcz3yiGWG0Iium28Ni/ApEDx6OCPTPIwrxJl9P gqWuMun7uNhhWZZMhk2rXBBmrXQeoUK/aezp74TQWumxxHQA6jvlw4NupUtCVPolpTvs +z6g== 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=IOgvUPBoapJ273whkDlrSmNDGjGTMGUTwbnlaqq//BQ=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=TXhBSsPf3CBnSS89cR7GiH42Hkp0K8mfGaMUT0tXY0XkWoCvdIXbJ9xp+buHNIS0o7 op2fyTjiDe2aA3ou9wLXElJ5GMmMzg6fY70EvpQkgqz45C3O2Ds0iqTVmM58xGKE/ORK Ujn7H3VvikpdtffTG/aHCpr5pC1KdIAWFS6cGt3SprblSucj6zdmZwW15zvnnN33ZsP4 Mcixwdl9LTsPlKvKyHrOWeUxi4A1bkGpksnKjUlUCojzagwnKdWu/x0IE9Ao6m1T+UjN 5MN28c24dW5AzI5TPvWw6PdfRAOiAJlK8t92VZ4fz5zLw9Cd2b41KpXx59BLZRLRENUF tT0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=GcXwUuf3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id f18-20020a170902e99200b001c613b5e778si7472807plb.557.2023.11.20.02.43.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:43:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=GcXwUuf3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id E42D88046453; Mon, 20 Nov 2023 02:43:26 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232566AbjKTKm2 (ORCPT + 27 others); Mon, 20 Nov 2023 05:42:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53196 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233185AbjKTKmU (ORCPT ); Mon, 20 Nov 2023 05:42:20 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE209F1 for ; Mon, 20 Nov 2023 02:42:16 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 5A74040E01A4; Mon, 20 Nov 2023 10:42:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id mUTZmNe3o_yt; Mon, 20 Nov 2023 10:42:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476933; bh=zSsMqSBzaGE3GgC230bZyMSbMWkZEifLyp6tOh9UKYU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GcXwUuf3TIxj6wQEkO/VjCeM4dRufo8nMzORXihxsDqHvx3xwAX6jn9dPNM35LGUM KjPWSqvhxIkto8BGAeJ5ZAOBlt/sIPHg411HYH7k1+mC8jXc7KQmodVYl7e5+pth6X tRp+vIvfB4vMCWdlcmCFK25+ymVcb8WUUltWD6RBfd9fS2tRftVG1peeWJEjR/bma2 YhT5WPVUuV8Ioia3QIFta+9HIvWZiXm6kxlg1uklmnBE4ZXhkedoO4XNiwTMVFPyXB xkrspt2TkUXxYtJS5liS2on+KsLHE316IBU7+TKXQjZH29VZ4swHkvCxbzowDubx2c U4NdoWuCKYN0O3ENXik7RFzx0wGC+6twroXrflyboJISN9YFz8rUWlAv3mIvsYWuN2 f7Rnrpx5Uxaa+FyqbEclbM9GjiXcfRMkSFL56/6oWz5pG2n1EiAtaxo7/1rtlHVpcJ pc4yNMHI+Mb3OFzPlsuvBbPEtf4BIL3/gRLC+Y6OPiLQlfeG1w5ZIQYM1YnRd2C4HP 1BHe+B1+LmYp/Ovo1Y5S0bVtMyOR8yPKwzy3t9GJ6DP96TYd2H3yoH0z9DLtEOFl2L AUoK/12epO/9ePpIKs5lLDLCuTsnFe/1baD//F3qSNGblayhh1BAI6HtYLSyvjkBT5 5iv/cPDQfCF8PWH4y9YsSIIU= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 0800740E0031; Mon, 20 Nov 2023 10:42:10 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 03/13] x86/CPU/AMD: Move the Zen3 BTC_NO detection to the Zen3 init function Date: Mon, 20 Nov 2023 11:41:42 +0100 Message-ID: <20231120104152.13740-4-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:43:26 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079380624508493 X-GMAIL-MSGID: 1783079380624508493 From: "Borislav Petkov (AMD)" No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index b3f939101368..92202bad9bd3 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -1031,14 +1031,6 @@ static void init_amd_zn(struct cpuinfo_x86 *c) /* Erratum 1076: CPB feature bit not being set in CPUID. */ if (!cpu_has(c, X86_FEATURE_CPB)) set_cpu_cap(c, X86_FEATURE_CPB); - - /* - * Zen3 (Fam19 model < 0x10) parts are not susceptible to - * Branch Type Confusion, but predate the allocation of the - * BTC_NO bit. - */ - if (c->x86 == 0x19 && !cpu_has(c, X86_FEATURE_BTC_NO)) - set_cpu_cap(c, X86_FEATURE_BTC_NO); } } @@ -1054,6 +1046,15 @@ static void init_amd_zen2(struct cpuinfo_x86 *c) static void init_amd_zen3(struct cpuinfo_x86 *c) { + if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) { + /* + * Zen3 (Fam19 model < 0x10) parts are not susceptible to + * Branch Type Confusion, but predate the allocation of the + * BTC_NO bit. + */ + if (!cpu_has(c, X86_FEATURE_BTC_NO)) + set_cpu_cap(c, X86_FEATURE_BTC_NO); + } } static void init_amd_zen4(struct cpuinfo_x86 *c) From patchwork Mon Nov 20 10:41:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167042 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109965vqn; Mon, 20 Nov 2023 02:44:08 -0800 (PST) X-Google-Smtp-Source: AGHT+IGgxqROGYUhVpqhoNFHfB4/nem5pUdRmFmvg6uQNcPTVUVeRzQrFJe4bEuacvfWL2MGObvD X-Received: by 2002:a05:6808:2207:b0:3ae:1298:257a with SMTP id bd7-20020a056808220700b003ae1298257amr10534808oib.1.1700477048124; Mon, 20 Nov 2023 02:44:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477048; cv=none; d=google.com; s=arc-20160816; b=Q1HE190Pn87StfMnFRl9wnwo1sE4FjUB+qxrf42esL17Q7CqIL60E2dK1jpJ2+CSt5 KWCQTSbU55L6t/sOKrUPiS5iM73QYPtPYfz7LY/0pcRy2ONaLAFIrCvFGuCMMS/9A98E VnFZ9sayAfnGzxMUZk9SV1TIzU1TPPukF2eMCCdFb/4jeOBf6B7BClLhUgEVDRkNekMU xu7c0qm9xnLojRBSwvLLt78cSRJY5tXqXCwE699q5JiEAmUyNlJ7MinvAJ8oFIZrKxzA ty1y15ylxwNrrJYl9/eAsrVjEsu5VDPYqY/JHuJWeSh4kGZO5Su4SLMOdAuzgAtg7Aoi od6w== 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=Gj0L5ypR86LrDQ+CM2zpyO3wJEcZMsUheTkvANBOjvw=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=yS/+Pw4oH9pRiDevJaHQ2fEwRo1IQO7M+Lzf/MxA8RX132sJf/xjyg7Q0FX5VDJuwy exPMOgW/839b8jzy/zm1cCcEPmRVpGpzhzGIIlHwvPrNZWY5MF+E0G5StRbVNh3YEhK/ z9OJgFfzoJ9dJ0ZRUYnSmjjaQbUYwR3CAIDjH59lsoXetZVts251qrnBDw6WJDTasRky yHT95y9lqhZ0FR6zcx/s24xCOBQlaJwQemXU6B0jQbHXbWmkOUXYZtBKxff2ihETaWRA XQKvrgSuun5VjiqYjuRXDFffE3OuIAeXEUtS1ooLyB0cxiiJ8PnanKkvnOwRxd/9O3cI cAuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=V8o27gEM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id t19-20020a056a00139300b006cbae9a8866si1079555pfg.398.2023.11.20.02.44.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:44:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=V8o27gEM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 454D180CF549; Mon, 20 Nov 2023 02:42:40 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233193AbjKTKm3 (ORCPT + 27 others); Mon, 20 Nov 2023 05:42:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37884 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233212AbjKTKm0 (ORCPT ); Mon, 20 Nov 2023 05:42:26 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 234AA131 for ; Mon, 20 Nov 2023 02:42:21 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 62CA740E01A4; Mon, 20 Nov 2023 10:42:19 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id U9lP6dp0nkUo; Mon, 20 Nov 2023 10:42:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476936; bh=DySgw/1dED05SP7datXJO+HR26dVzWR7bSCTZBHiUw0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V8o27gEMwrOButFakYWW0vpmJEeZmFXaQfBAEjSK7yKDOOdT3hH7XhhNitq92XUL/ IF6ZF2qhZcuy3cwk2C6v2FH0+vJlQ1lhao+Q8KDuMln+l06lIstfgcgffsIe6POAQC UNvZqHYkxV5vc5eTp2yAwtzZfG/5M1y7pROFyE731/j1FhfXlUTz6c51+/17RyfXSq AtY6/ggVpW9LAeZiVTn4jVL/qye9CgFbxGKu8ywnDAwt/CPSKy5oivxwlAMMddpSfq 3/BFxouFi2+5abL7+l7dWqL0cMZra5Nipty0Xbkqdl2ZE7O/pV9Pj6GFUr9jojvF7v 1oU5xMywnFZwNqHr/N3XShaMBsnDtnBPwHezFrbMSXRrhXg759q07MuTrQtVQ2uNSK jopNTZbuwh6fvtDdbUXHrpJo9GVrP8g6YId3sl+SFj2r3nuikdWha/Xu4iWgAlbv80 oTw7XLvmC3Jsz8oT1jHXqfkIYwE+7d7s5363BM6thjP72GZQ5zkVNnio6B40xuy4TY IoN4ILZrTSgsVayU4MR38L9+X2Fbaye9o11puMq3GvXC/9RXaBLgTOn/pxLwO/Nm/D N2ASOAteLI13CYeEcVTpxGd/XUYh9URRbLrwHUR3/B43Ufeb3A7Noh9/zbkkFlWWse G5Vet65elDTDZcwVPZUIYpms= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id AF21140E0199; Mon, 20 Nov 2023 10:42:14 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 04/13] x86/CPU/AMD: Move erratum 1076 fix into the Zen1 init function Date: Mon, 20 Nov 2023 11:41:43 +0100 Message-ID: <20231120104152.13740-5-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:42:40 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079421349674381 X-GMAIL-MSGID: 1783079421349674381 From: "Borislav Petkov (AMD)" No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 92202bad9bd3..6d87c43e4ee9 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -1024,6 +1024,11 @@ static void init_amd_zn(struct cpuinfo_x86 *c) #ifdef CONFIG_NUMA node_reclaim_distance = 32; #endif +} + +static void init_amd_zen(struct cpuinfo_x86 *c) +{ + fix_erratum_1386(c); /* Fix up CPUID bits, but only if not virtualised. */ if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) { @@ -1034,11 +1039,6 @@ static void init_amd_zn(struct cpuinfo_x86 *c) } } -static void init_amd_zen(struct cpuinfo_x86 *c) -{ - fix_erratum_1386(c); -} - static void init_amd_zen2(struct cpuinfo_x86 *c) { fix_erratum_1386(c); From patchwork Mon Nov 20 10:41:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167036 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109781vqn; Mon, 20 Nov 2023 02:43:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IFfrxcNuWEYAKoijkwVDUHJGvJDdBAhb/wniZWXiHRkODzsTvOwdHyIaS4/j/ed3pbJvz8S X-Received: by 2002:a17:902:ab45:b0:1ca:200b:8dce with SMTP id ij5-20020a170902ab4500b001ca200b8dcemr4687508plb.41.1700477015587; Mon, 20 Nov 2023 02:43:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477015; cv=none; d=google.com; s=arc-20160816; b=0f74P2qouazL+wuLN//0MJxk93Wj5hJZjKIFIlepWeNz/IaHoJkSwBWIrql8hVRoN7 Nb81QZkcQl9SeWXL33wcE1NFe7xxIpnHyKvwa6G2YnX8GfKPG2F2b0oYkQSdKlfUqor1 d34gBwZV7emL39IXU4VEqSANSadZI8aS8tsCIPl72RQI9+2myYzvnp1HKggzR+U+s4ed XfBqsjcbICxi1McGgIyoMQAu5QerSKoZae04T/qQo6M2WdeQNvD4t3DGH/FdfmIRdEGo K6XNm+yMk0vQkqehOrGQNy/AE1UHDurg4SJjTYWFVh2dMCUajT4xVLkdfFLv12oylgYn x14A== 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=l1nIdAEZdHL3F+eJVPsdEqc3ItXpnRUgVSuHeUUAucQ=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=xhz+wkhbC0PACEAislLu0PnBRQG/w4hRovFi1dQiMs9l5POUOcQa5PEdRPFU2H+F+g OJC7l580cahrXUEenMEfOYjukJ+ix41DOasOf+L9S99bda7rmdI1+pLEjj4i5jtfCHU0 Y6lOLSMiz9pdBb/aKtatBGib++WATOmaUWiEWlw/7BwFt2Ml8qt50URQ3r3dvg0xMlPv tMisfuypB5zKetrP/oWEdwwsR2Zo6B8rg4s19yppmylI5yUTjWUMwVDbtYRv/EKbOslo P44s3yUJgs4Yio2w0+V7DkMKnZrLdCmrg09vMmk6JFNlzxN+2ZGdhxGmU7UAikx7UJcN tOcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=dyMvxKwq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id bg6-20020a1709028e8600b001cf639e5bbdsi1092339plb.270.2023.11.20.02.43.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:43:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=dyMvxKwq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id AE10A8046BF7; Mon, 20 Nov 2023 02:43:30 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233191AbjKTKmh (ORCPT + 27 others); Mon, 20 Nov 2023 05:42:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233200AbjKTKm2 (ORCPT ); Mon, 20 Nov 2023 05:42:28 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 73FD3C5 for ; Mon, 20 Nov 2023 02:42:24 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id ACD9340E01A4; Mon, 20 Nov 2023 10:42:22 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id KxakAPnY9eKD; Mon, 20 Nov 2023 10:42:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476940; bh=Ak+9T+Upn9tPqHpt7fwMUcIjPgnr6VqaxzGs8MwZUrA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dyMvxKwqFiKuRmklu5eZT5TFr2VTiFJdgHnlCBvFowIn9DDapnd57dV3yYhcDlzVI 5kqa90ZBRtBKcgXM2kt6+XJIp8ydcz25ERNVXmHxpITq4qc3xMY8qeDGITwmmuXVcR G0gAqkyoIlBrlqqt5C+83vJbR/mTG/h/7gD1KldYUEdgFmuhhhB0GiUWNm+jhBykl9 4RAisLkfEWjhgfyhdvtR2Lmr+0NS3vSKjbbjml9tjbVN41A4BYXykT4fWknfWwQOrO 92+33eTGAU4Pqg7UN0FeVTIPmyRmUcdHIUvJRyPPxX+VNHlnDzkQ3SBqkhm7U1MuBV GeCsN4bE3B6HP3hvDuE4fZRrRKCjfTYKbtI4v6VOqQUtgyNyowxKFReGIXGSMjhCpy NhyS/IoxJjMUmVT5yrCxNiDDo42WfjMfMybnoEghEmFtXTnzrG+ChViL1LP8ZgUM+p CMATVR0jugzSAFRsdbFXbs4t8B86n/jCQfNSobuAqs36dbGRIP5U9pgAdF5yJSCthj t191OMF6Nes6KwbulI1xRY2CLr0s4mSjpUD4WDXNmsKjYj0ws+W/cmHBBqpuJ4Xrdv b3QqPOQuj8+1aohYyID0RoobnL4gWBJaZh2GSOW5WUdZ2pBWMyoGXrTAOaGRPOMea3 Ep7APjk59w/aYT57VcRArH9Y= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 600AD40E0031; Mon, 20 Nov 2023 10:42:18 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 05/13] x86/CPU/AMD: Call the spectral chicken in the Zen2 init function Date: Mon, 20 Nov 2023 11:41:44 +0100 Message-ID: <20231120104152.13740-6-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:43:30 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079387060531166 X-GMAIL-MSGID: 1783079387060531166 From: "Borislav Petkov (AMD)" No functional change. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 6d87c43e4ee9..f43a70d495da 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -1007,10 +1007,8 @@ void init_spectral_chicken(struct cpuinfo_x86 *c) * * This suppresses speculation from the middle of a basic block, i.e. it * suppresses non-branch predictions. - * - * We use STIBP as a heuristic to filter out Zen2 from the rest of F17H */ - if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && cpu_has(c, X86_FEATURE_AMD_STIBP)) { + if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) { if (!rdmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, &value)) { value |= MSR_ZEN2_SPECTRAL_CHICKEN_BIT; wrmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, value); @@ -1041,6 +1039,7 @@ static void init_amd_zen(struct cpuinfo_x86 *c) static void init_amd_zen2(struct cpuinfo_x86 *c) { + init_spectral_chicken(c); fix_erratum_1386(c); } @@ -1136,7 +1135,7 @@ static void init_amd(struct cpuinfo_x86 *c) case 0x12: init_amd_ln(c); break; case 0x15: init_amd_bd(c); break; case 0x16: init_amd_jg(c); break; - case 0x17: init_spectral_chicken(c); + case 0x17: fallthrough; case 0x19: init_amd_zn(c); break; } From patchwork Mon Nov 20 10:41:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167040 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109909vqn; Mon, 20 Nov 2023 02:44:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IF9aX7zc+qB+OmMBZkgwoDIPNFFjSZ/LokS/2p5X3OGvnIMcG8SUedOKVaFKrwWNPHSlW2L X-Received: by 2002:a17:90b:4b45:b0:281:554d:b317 with SMTP id mi5-20020a17090b4b4500b00281554db317mr4846315pjb.38.1700477039900; Mon, 20 Nov 2023 02:43:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477039; cv=none; d=google.com; s=arc-20160816; b=0HXIuDK4SBp71PiS6dErHgqfRdeuO1FrofyfL7G4uNc74WBjghNNdHrs4tVrLGiRJ2 kQJI1lwUOZlMh0p6+Wul1hH/jF+6jPirmpMut/NeGsjVX9DnUvlmmOBNArGwqzfYJaJv FxUyJQLxJqSv0n07aEWRusasn391n8+GS9Rqi80mXm30myb8u7tBgFJjSPajcsvXmidL 1i4uztsR8Lp/AlH53er1Zfb7QMCmeZy8x9vHokWqt3Lgw4Cu8nZKYrOgV6nDR2iL5lxk yV2mnxrFTCyWV2onX0CrfI4bddW/8YDA+kEthaEZUWMQZZOTtKNZ14NzKWhlwsuF7fTf HzoA== 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=yzXdjJi9RjfbfwlazGXHhTPOTMqVKlD/3fBQemKkWac=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=slx19wyc/OrcQeuI/UGvQa0vbSi+LrNQNDvvcC3KFCQyD0gcGrZS9tN/SYxMosT7no kLAwhXNda5YM7mYu5a/W2iiSB+UI+yk+LdZwcM1d6ATX5233veuz/ye1QpBvsH+Uhive KBbvB/wFYaz8N52aC1W80Dtv7jrac8U8ETJ2oPnGExrP/x36aLPSpQJfLXE7LjP5aQcm veFFGLojcBG+WCoNi78M/kcrVgEczVb7EmgH10jMUCEPvq6VIsocB/F1sxy8Xysw3bkX eRayaVjdcW0FD9rCnKn64yqu/ztRseQPBanodx1RkdoWIIQEiiXU/ohz8SDetPICLVCe Aniw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=J6YbZer+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id f5-20020a17090aec8500b0028047ab56desi8486518pjy.36.2023.11.20.02.43.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:43:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=J6YbZer+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 0223D80B26B8; Mon, 20 Nov 2023 02:43:57 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233250AbjKTKn3 (ORCPT + 27 others); Mon, 20 Nov 2023 05:43:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45844 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233169AbjKTKmz (ORCPT ); Mon, 20 Nov 2023 05:42:55 -0500 Received: from mail.alien8.de (mail.alien8.de [IPv6:2a01:4f9:3051:3f93::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D574D7A for ; Mon, 20 Nov 2023 02:42:38 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id CDCA640E01BB; Mon, 20 Nov 2023 10:42:36 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id rW2bzRskiw9H; Mon, 20 Nov 2023 10:42:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476943; bh=8VW8eysMQa0djm7KxcVc0hk/6wK18+5mMT7sLtuADpk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J6YbZer+M5FkO4bn0RIg9PcN+Yjh3s844hrgbxqz6puXqQdjBpqQhIkpVggr0Vnyt cKXlVYe6rBAKPez1gdRt31UwV5eWPy1zxo4MEN55IihCAYQLZodXRIusx291aXbdtH FeIMr8sCGgnQO44Mtl+9wDLdkm3QovhX4FviixpYsZlaLy0PtiG7IplyanfjJweHl1 W0ut6GI/7X8KobjRJMvOHA6a0jmGED7mVF9XaJeaX2OzFTIfB06j+ESQYQTk1BsJWQ wVigJgfWcQxsNhwK09TiYpXWV/n74QlrOz1tQxpA+ub0oDH0o9tuWQdfwNV/ydvOQZ xtos10Jf+LHmgCL4CozhobDiRKCUgelrHUnwfSJ0WX4HV4b6TqusEchQWox4jyMmG6 dSQIkTprKRRvbRPOmfL2L2V0qj15hE8tiNFPaj/kelDuiRv3237qNhkuiAR31i3gLn pCTWbAkWDY110pm0vip5xAxkfs/45fQmm9ckF6g7c5FNk4xf89U4qNTmU0Q9BNlEzs LoQFpKWEVSUuZoaHwl/oV+T3oH/Q/p4/lbI5HlXhWMAOyk7P3sNKBmdltLbqKCf7Z/ F2YvxTiU122d99UotKkDkZGgXFPpHlpGZ9RtSsZ6Gb9Ccrho5L+uHal6qKzRYvIQCQ kX3zGIWv+6tDJXD8V3kRgksQ= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id A97EC40E01AF; Mon, 20 Nov 2023 10:42:21 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 06/13] x86/CPU/AMD: Rename init_amd_zn() to init_amd_zen_common() Date: Mon, 20 Nov 2023 11:41:45 +0100 Message-ID: <20231120104152.13740-7-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:43:57 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079412119336914 X-GMAIL-MSGID: 1783079412119336914 From: "Borislav Petkov (AMD)" Call it from all Zen init functions. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index f43a70d495da..8d90f5f6b0d9 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -1017,7 +1017,7 @@ void init_spectral_chicken(struct cpuinfo_x86 *c) #endif } -static void init_amd_zn(struct cpuinfo_x86 *c) +static void init_amd_zen_common(void) { #ifdef CONFIG_NUMA node_reclaim_distance = 32; @@ -1026,6 +1026,7 @@ static void init_amd_zn(struct cpuinfo_x86 *c) static void init_amd_zen(struct cpuinfo_x86 *c) { + init_amd_zen_common(); fix_erratum_1386(c); /* Fix up CPUID bits, but only if not virtualised. */ @@ -1035,16 +1036,20 @@ static void init_amd_zen(struct cpuinfo_x86 *c) if (!cpu_has(c, X86_FEATURE_CPB)) set_cpu_cap(c, X86_FEATURE_CPB); } + } static void init_amd_zen2(struct cpuinfo_x86 *c) { + init_amd_zen_common(); init_spectral_chicken(c); fix_erratum_1386(c); } static void init_amd_zen3(struct cpuinfo_x86 *c) { + init_amd_zen_common(); + if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) { /* * Zen3 (Fam19 model < 0x10) parts are not susceptible to @@ -1058,6 +1063,7 @@ static void init_amd_zen3(struct cpuinfo_x86 *c) static void init_amd_zen4(struct cpuinfo_x86 *c) { + init_amd_zen_common(); } static bool cpu_has_zenbleed_microcode(void) @@ -1135,9 +1141,6 @@ static void init_amd(struct cpuinfo_x86 *c) case 0x12: init_amd_ln(c); break; case 0x15: init_amd_bd(c); break; case 0x16: init_amd_jg(c); break; - case 0x17: - fallthrough; - case 0x19: init_amd_zn(c); break; } if (boot_cpu_has(X86_FEATURE_ZEN)) From patchwork Mon Nov 20 10:41:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167037 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109825vqn; Mon, 20 Nov 2023 02:43:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IFxyTCvPwewJgf0segR1+doVZ+GgXJPjb/uRMfrOkQz487SXTL6KdG6lx/oBHu9tOXi84Qx X-Received: by 2002:a17:90b:3883:b0:27d:4f1f:47f6 with SMTP id mu3-20020a17090b388300b0027d4f1f47f6mr5222623pjb.32.1700477024816; Mon, 20 Nov 2023 02:43:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477024; cv=none; d=google.com; s=arc-20160816; b=ImNqgi9cawa3zO6heW0eqgB17Ese+x12dQVONax+uG91vRX70F53nURBI51i1spuTN aejZsWPce0dkjm5e+JetigJUC+WN/fKFvbTYjv8ZofsfTTwF2dZB+PK5bkzPYxMzP0/H OZuWTqM2M9uLoUvZaK4JAr1Dj8EI9iCOCIA6mvcqSQGYclColhrg9rfyTCyF1tk9/s0S 2+ej81dfLmIbktltEGEz9V8L8RsYEOn4UONNSGmX0gis18qMAhXFT0yJoUEnag68s8ER cn+ZXBrmTXEAdneMelTTFDgOf/ClBYCgrUzvmzcuius/Du0w9XdYc6ltAv6MBDRC/wTv Gmyw== 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=TPWJis2GJGokQp7M1Nzs8bfXsMU0m/Jm/UETiwMVs+Q=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=htETW0TyrXnmIgy8qUDr4u3/iEKxcjtWf6+RhIM6Iu11hVzhN/MhOGUQ5wNEwxqMeW J7xZs6F2LgEXevdvPFtS/Ly+Sgq8JUfF4s2eIspoVsupucJKKj9YesJlTkAO9GdS8aJq Tc3HEBeG2sx/Z+EL1rW/QXrGFWdz4LqzEmuDH0Th2Z0ry/2kewuP73YK2UY9Q+bJa9nT B7XAVSAkqIXcZGUMHKB6yv4Yu+Mwt0NmP9kWrYcae2C2RIqIgFOnX+pME77LiPGHLteJ jmZRmTM3kYGxueEEHLMPsA/+8DklXhsGbsG1i1qX/yB9QLsEHBdnFK43HJgdOSCRPjnf U7oQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=G0M0t6ZX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id q13-20020a17090ad38d00b00282ec3a397esi10183935pju.82.2023.11.20.02.43.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:43:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=G0M0t6ZX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 8BFEA8046463; Mon, 20 Nov 2023 02:43:40 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233230AbjKTKnc (ORCPT + 27 others); Mon, 20 Nov 2023 05:43:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233184AbjKTKm4 (ORCPT ); Mon, 20 Nov 2023 05:42:56 -0500 Received: from mail.alien8.de (mail.alien8.de [IPv6:2a01:4f9:3051:3f93::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C02910EA for ; Mon, 20 Nov 2023 02:42:39 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 163E940E01AF; Mon, 20 Nov 2023 10:42:38 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 3De19TxaWLSh; Mon, 20 Nov 2023 10:42:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476948; bh=b7mZX+/YHV/jz5ttaRN2Dh9DCKP1lBz9NGfieIiWDcE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=G0M0t6ZXTaD1Z17gE0E9Z/wgh1AZGmcRa6arAhcaetXyA26rFCpa1jr1H8JWHS5j2 rAuRIEAYz00UIPtXO2Nc/NaZQVTHdkVoGv3E5l2U11YQ72bcptWTITUdy8xKULf/cN pbANYD5/anAFleP6otPVC0nCzQsnrWgjFQ1meiQCGlgYdz+uq6jjAX+2PXklw1YmIQ K9AGMYDJ9rKFJwK5OZDKYKcxL4s0dIpCyKAkUwBJ5oo4Y+CquKJnVHLp/Tvk04bx8N QBxHSq3uKMRELVbtdt/37AKRPqYrMoU3M/kCq7nKbGBr1YSUoHd9kSyA6UAg3/p8Vw JoMchPeRfHXBTywk3Fzv/JBwHaaZa1ih15gUg6WBak4MnTLErDgw6+UVWPfDa1wexv CA7/qgEUrbG3z/xkFRnwPug2OD2sh81lGOS5yLBAAMAQI3JnNWy/C38bw68xFLKzSA ABcGCJNMAe1S3+tTfyvA3e0nVRwJoSH/lPaAJ0vh5/soszlXBUKNd3nRoL85Bqs+Cd mL4dul9dbmL4KhGDi6dWhQ7hrO0A0H18R/hF/EEsBgK+7nhDB1cW0LAy3E33WW7vJM xtD4yJb2KvriFYBSGc9ICvEgatJys38QdewSgwq1boW1jhD4PW5gpAMcR/ltezGrLc KcHj04Nlk/VIPAPNQiAQjzvs= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 2C9B940E01B7; Mon, 20 Nov 2023 10:42:26 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 07/13] x86/CPU/AMD: Move Zenbleed check to the Zen2 init function Date: Mon, 20 Nov 2023 11:41:46 +0100 Message-ID: <20231120104152.13740-8-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:43:40 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079396777730543 X-GMAIL-MSGID: 1783079396777730543 From: "Borislav Petkov (AMD)" Prefix it properly so that it is clear which generation it is dealing with. No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 70 +++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 40 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 8d90f5f6b0d9..7cbb108afaf4 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -70,12 +70,6 @@ static const int amd_erratum_383[] = static const int amd_erratum_1054[] = AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf)); -static const int amd_zenbleed[] = - AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0x30, 0x0, 0x4f, 0xf), - AMD_MODEL_RANGE(0x17, 0x60, 0x0, 0x7f, 0xf), - AMD_MODEL_RANGE(0x17, 0x90, 0x0, 0x91, 0xf), - AMD_MODEL_RANGE(0x17, 0xa0, 0x0, 0xaf, 0xf)); - static const int amd_div0[] = AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0x00, 0x0, 0x2f, 0xf), AMD_MODEL_RANGE(0x17, 0x50, 0x0, 0x5f, 0xf)); @@ -1039,33 +1033,6 @@ static void init_amd_zen(struct cpuinfo_x86 *c) } -static void init_amd_zen2(struct cpuinfo_x86 *c) -{ - init_amd_zen_common(); - init_spectral_chicken(c); - fix_erratum_1386(c); -} - -static void init_amd_zen3(struct cpuinfo_x86 *c) -{ - init_amd_zen_common(); - - if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) { - /* - * Zen3 (Fam19 model < 0x10) parts are not susceptible to - * Branch Type Confusion, but predate the allocation of the - * BTC_NO bit. - */ - if (!cpu_has(c, X86_FEATURE_BTC_NO)) - set_cpu_cap(c, X86_FEATURE_BTC_NO); - } -} - -static void init_amd_zen4(struct cpuinfo_x86 *c) -{ - init_amd_zen_common(); -} - static bool cpu_has_zenbleed_microcode(void) { u32 good_rev = 0; @@ -1087,11 +1054,8 @@ static bool cpu_has_zenbleed_microcode(void) return true; } -static void zenbleed_check(struct cpuinfo_x86 *c) +static void zen2_zenbleed_check(struct cpuinfo_x86 *c) { - if (!cpu_has_amd_erratum(c, amd_zenbleed)) - return; - if (cpu_has(c, X86_FEATURE_HYPERVISOR)) return; @@ -1106,6 +1070,34 @@ static void zenbleed_check(struct cpuinfo_x86 *c) } } +static void init_amd_zen2(struct cpuinfo_x86 *c) +{ + init_amd_zen_common(); + init_spectral_chicken(c); + fix_erratum_1386(c); + zen2_zenbleed_check(c); +} + +static void init_amd_zen3(struct cpuinfo_x86 *c) +{ + init_amd_zen_common(); + + if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) { + /* + * Zen3 (Fam19 model < 0x10) parts are not susceptible to + * Branch Type Confusion, but predate the allocation of the + * BTC_NO bit. + */ + if (!cpu_has(c, X86_FEATURE_BTC_NO)) + set_cpu_cap(c, X86_FEATURE_BTC_NO); + } +} + +static void init_amd_zen4(struct cpuinfo_x86 *c) +{ + init_amd_zen_common(); +} + static void init_amd(struct cpuinfo_x86 *c) { u64 vm_cr; @@ -1227,8 +1219,6 @@ static void init_amd(struct cpuinfo_x86 *c) cpu_has(c, X86_FEATURE_AUTOIBRS)) WARN_ON_ONCE(msr_set_bit(MSR_EFER, _EFER_AUTOIBRS)); - zenbleed_check(c); - if (cpu_has_amd_erratum(c, amd_div0)) { pr_notice_once("AMD Zen1 DIV0 bug detected. Disable SMT for full protection.\n"); setup_force_cpu_bug(X86_BUG_DIV0); @@ -1390,7 +1380,7 @@ static void zenbleed_check_cpu(void *unused) { struct cpuinfo_x86 *c = &cpu_data(smp_processor_id()); - zenbleed_check(c); + zen2_zenbleed_check(c); } void amd_check_microcode(void) From patchwork Mon Nov 20 10:41:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167038 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109876vqn; Mon, 20 Nov 2023 02:43:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IG9w/yVrmdGrsHLT3IPAVrN2rXnWDmRX5kT9GvR8Xf2jSkU1u+F3vSYRSfFpr23X3TPjetD X-Received: by 2002:a17:903:22d1:b0:1cf:5886:5cef with SMTP id y17-20020a17090322d100b001cf58865cefmr2729356plg.18.1700477035997; Mon, 20 Nov 2023 02:43:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477035; cv=none; d=google.com; s=arc-20160816; b=shxQ4RbiMuhUn7AOAtomIqHKERmv+i3UYCauZurw57w9kefheIBC/7fuxgfReJU640 fTYXKQ+uIv2sVaq3b3QI1gz7UTchOAL3nDjVzfp17hZFePTS+7VNmkXqjQMaBYJJqEYG AQ9RSbutiYM5D9Ml78JRO9UHuO1n32OGuSzuaQnBuazBiD5P1XwHZYGSYREgkMlokyuc npoEjRggZPqOp+LhgKPdfhL5BS/fNI6RzlOIq7TTyndF3NugKvWlU1piWdRqmXtpkan4 4KnTYe5BpdOLhtFwmQ+2nhhzQZIRwKZ2GWtr7h06VFHOy6+6qeAqZUU3LvZicbkyw+UR Bojw== 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=jPFtjk7r51xBiI0/Edjl0ep/mcpxYCy7X3x+9OJBFt0=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=mgpnFNo93zATADVepBbYM/GFVp1iAw6GgYgFgzzSpUJhA224Y0a1w4wFFudS5nOhcb pIFt3Qj+NyCRdZKI3mDSSgmWiRdzDufxyiN2dmONAQKRuHKNC1YT2VvH9RcuKapsvVGD ttVIxRbK7kl50B7nOZ/xzrqDRk8c8jkhIz5IorxWqusUauMnKZilIHfJyFJQzIOqZzy7 zQGvBLzYL/8GHo84eM+0hnYZdupGUp8CaDCyC0jEIE9uLlbvYfhgjo4fMl/xLUvlwIcG 8wzqMlpJa/Ma5syq4aOAQ7+t3baKPaTKxbt+VCSL164zKB0+wdA4wEx/UFOjO7v7DTFD EnpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=MHmkJR56; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id l7-20020a170903244700b001cf6475ffb5si975761pls.457.2023.11.20.02.43.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:43:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=MHmkJR56; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id E2AE78046452; Mon, 20 Nov 2023 02:43:53 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232741AbjKTKnm (ORCPT + 27 others); Mon, 20 Nov 2023 05:43:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39706 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233241AbjKTKnG (ORCPT ); Mon, 20 Nov 2023 05:43:06 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25B911704 for ; Mon, 20 Nov 2023 02:42:43 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 9466E40E01BF; Mon, 20 Nov 2023 10:42:41 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id FkM5rZcHIeIX; Mon, 20 Nov 2023 10:42:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476951; bh=Ai/81xa1PmMbh8PDFy1HNfT8wal2Kj9G4K1sJJ+j/1U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MHmkJR561JRO5EFxWvGUcPpCt/Td0n0L4xwqHkt2ivnALHtY0aOZ9F6NlAr4UcRVl 21z+Z0HBnA9gqiaBefkoWqwjPQPVmTUk3jiGio73nFXjxbJfbMcahrK/XEIp7fAnTU 33rwO0RGG/TZIy5V5j5xH1T9JO1EnasThcDfpXH8IGvGMMWsqzZ57oDODe8UexwG/h HzDRk7PKaMiTbcVMQs4kPYVs4Tmv5XF54ZaFe4/I5EjrfCIoZAe7viEXSg0/CIe2zS bGHI0eadkREGOJLuZ+bHoCtt9ZyrxaPcGXp3XHOlBFFm4Dt9oUStmMGmC4vXMHMEst N6KnE2sYO82noJrlQotkHczXmyfvkwFVZJ1qiG62alOFWFNnAMsD75GJmn6Y/0YWRY qtS/uRXOrH6yyMGnduwVfwHrea8LGKz0H4QatQhUJ4szdSpqJTV1y9UQplaGgPTkNO 0vtAuX4/96PnkjGqMX4p8o0HO/Vrt6Fgi6P68zelj5Ap3cDlGqWBzh0Ot+p+uKOPmW oOK2kRaps2t9wIi8fL/DQolVAste9dlsBSGwyDYbf/V+jVFba7izNqBq6/+XwbnUSC 27tYr0Nhc4CPgiuoazxXmxevXqdVMOGRX8I3w7/p0w0ggyx2pR8lRJ6xiPrGLOGbtg wp3X00QHqmtC8YV7+3yJ/QMc= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id A72D340E0030; Mon, 20 Nov 2023 10:42:29 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 08/13] x86/CPU/AMD: Move the DIV0 bug detection to the Zen1 init function Date: Mon, 20 Nov 2023 11:41:47 +0100 Message-ID: <20231120104152.13740-9-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:43:54 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079408160290133 X-GMAIL-MSGID: 1783079408160290133 From: "Borislav Petkov (AMD)" No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 7cbb108afaf4..43d6a6da7591 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -70,10 +70,6 @@ static const int amd_erratum_383[] = static const int amd_erratum_1054[] = AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf)); -static const int amd_div0[] = - AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0x00, 0x0, 0x2f, 0xf), - AMD_MODEL_RANGE(0x17, 0x50, 0x0, 0x5f, 0xf)); - static const int amd_erratum_1485[] = AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf), AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf)); @@ -1031,6 +1027,8 @@ static void init_amd_zen(struct cpuinfo_x86 *c) set_cpu_cap(c, X86_FEATURE_CPB); } + pr_notice_once("AMD Zen1 DIV0 bug detected. Disable SMT for full protection.\n"); + setup_force_cpu_bug(X86_BUG_DIV0); } static bool cpu_has_zenbleed_microcode(void) @@ -1219,11 +1217,6 @@ static void init_amd(struct cpuinfo_x86 *c) cpu_has(c, X86_FEATURE_AUTOIBRS)) WARN_ON_ONCE(msr_set_bit(MSR_EFER, _EFER_AUTOIBRS)); - if (cpu_has_amd_erratum(c, amd_div0)) { - pr_notice_once("AMD Zen1 DIV0 bug detected. Disable SMT for full protection.\n"); - setup_force_cpu_bug(X86_BUG_DIV0); - } - if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && cpu_has_amd_erratum(c, amd_erratum_1485)) msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT); From patchwork Mon Nov 20 10:41:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167039 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2109906vqn; Mon, 20 Nov 2023 02:43:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IH+GfTD3ksXvBqVYva4sGbd4FNwwjkMAej/g7vrbOoyS9X8MUTtzSgB6LgNVYm8p6le0Zn1 X-Received: by 2002:a05:6a21:61c:b0:186:bd68:facc with SMTP id ll28-20020a056a21061c00b00186bd68faccmr4112809pzb.28.1700477039410; Mon, 20 Nov 2023 02:43:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477039; cv=none; d=google.com; s=arc-20160816; b=Tt5GkKigyrrs8SBsi9679vJc/yqeboNK6Nd8AJ4HcqimixXVeWpEa3sddnFp50bxad o8tcYkk90ErdrREipgVkZt4Hk08Ne5+ACcsxpRtAMtU69E4IrV2kcF40H7DH3yiS0cOD XAIYmBuOnozxyaGvkh6AVq3DCcK6TtverG6qdk0lG8RG4G6R2/YKoZzn74hfKVN6aVl/ WZk+l1LQCaByaHsLcqRqN3O8EZSj5ltPWzmhas9QfVoptnqhILR3Vr1uN2US1qd0HmcI v7Stsy+1mQ5kcELdI2X36vGLwMRZU+zVg+gsEZDPJDC+a3VLC4P0Fr2R4YPpp32vQnjj WtAA== 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=PA71RerdbJUJbqGvGRfLJbNb71FHnpkYHCts9qIgUXU=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=0GAz7oDO4Ul5Lj1K6EV2OqxRLLREDSBTw3WvEL2A3w8zqGBPUuGrYA6eVBowY85Hhi pEjefKhv40GfI3btRml81anIkgtP2rlDmLjN0g6UXuvtojraavkqRtp80aDqa40zIPvg di6mCLCkkJ0v9YVsPS3bGi7B5i5jDT03v9jcVSSRNnqyH5rlk0Ln3WM+hZfd3Vi5YaRu UamrbO4KhO0WizlrY4NtiFyGXhobLiOLBZeSNTUNW/YM+rsKggNkPJfKkFTitbjzt+Be 11/tTR7DIkF9FxHmyz7qK88qm3UhX0RTFq9xYJlSLWWcyRrW4SoZeyIStkuIotPZ7cm6 cSiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=bH0Xce1A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id g17-20020a63fa51000000b005b902b61cbbsi7755445pgk.125.2023.11.20.02.43.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:43:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=bH0Xce1A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id C64808046BF1; Mon, 20 Nov 2023 02:43:56 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232924AbjKTKnp (ORCPT + 27 others); Mon, 20 Nov 2023 05:43:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232773AbjKTKnI (ORCPT ); Mon, 20 Nov 2023 05:43:08 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F3650171B for ; Mon, 20 Nov 2023 02:42:44 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id CC9C140E01C0; Mon, 20 Nov 2023 10:42:42 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 0ZD5UI-0_Or2; Mon, 20 Nov 2023 10:42:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476955; bh=zlnuWah+IyiMw2epMX+2lNNaMtlKVBskdmzvqDoHxY4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bH0Xce1ArzTXJW1shOuFJBd/VnbluNCajFllQTaNX+GWIQc4RMqXvXtmZBvKWKjG5 1QNd//zwd0rHMY6YRJftMN7mjVyFCchcJ2nBUl41kfMi3gCzFYmHT6qH0v20mDKDUx p23kWb2qqSHjURVakzL3PTo0XBFHacE2pi000xPmQYdWKVC0GdzuJW9wSdSgWw4Vea Xtyrr4nQfBxkcCw5f0xjOGBTTuvaauvxYySY9kxZ0MN29jZ1i4Tyak+UyTrhKDrV24 x/YOjLu7TbxBuqeRtEaGq+twVXZrZt3Oi27hBXt58x3TTIWoPl0rBcjFSHlAUBUc82 Zr0ll/77YOtM2SeW8uRrygyiBImK2CyK+Rczi2vEdWRmy3UyaElSUp0VCTsvT3vPBD eff4ZG/UyEM29wyFKRjU1Ky6Bf/XJlRfZ8WC+G21ayl77MJLnof50znZBxgXyeGAGP KP69HVqTCG7IvmoFt96Yy9oOeE5VCW/1L9zVuAvm6jVf2FsYZe+e11UIa/aUKMTOeS QFxEdoyfRgJ7n0GNOtiFiZLlcphCwZz8cIzT0/Wgzi2ZD6hDdI7MluAH1Xy0P8dVgI pANL0V7H59zs5er8VQPQEakid70KTZsO71WVeU6iINt32rdMrK4l8QfZd+E9zVF9FH aafZpkFXZWn/dQByN5jBu2uw= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 2C4DA40E0176; Mon, 20 Nov 2023 10:42:33 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 09/13] x86/CPU/AMD: Get rid of amd_erratum_1054[] Date: Mon, 20 Nov 2023 11:41:48 +0100 Message-ID: <20231120104152.13740-10-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:43:56 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079411818781060 X-GMAIL-MSGID: 1783079411818781060 From: "Borislav Petkov (AMD)" No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 43d6a6da7591..62aa99b5d6c8 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -66,10 +66,6 @@ static const int amd_erratum_400[] = static const int amd_erratum_383[] = AMD_OSVW_ERRATUM(3, AMD_MODEL_RANGE(0x10, 0, 0, 0xff, 0xf)); -/* #1054: Instructions Retired Performance Counter May Be Inaccurate */ -static const int amd_erratum_1054[] = - AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf)); - static const int amd_erratum_1485[] = AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf), AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf)); @@ -1201,7 +1197,7 @@ static void init_amd(struct cpuinfo_x86 *c) * Counter May Be Inaccurate". */ if (cpu_has(c, X86_FEATURE_IRPERF) && - !cpu_has_amd_erratum(c, amd_erratum_1054)) + (boot_cpu_has(X86_FEATURE_ZEN) && c->x86_model > 0x2f)) msr_set_bit(MSR_K7_HWCR, MSR_K7_HWCR_IRPERF_EN_BIT); check_null_seg_clears_base(c); From patchwork Mon Nov 20 10:41:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167044 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2110003vqn; Mon, 20 Nov 2023 02:44:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IH3TLcYd9GcF9fTn9dz9yOnuYW950LbGktVRrZvuWDEBP0MFO7+yYeMspR+k4x/NvkszDlr X-Received: by 2002:a05:6a00:b4a:b0:6cb:84e1:3571 with SMTP id p10-20020a056a000b4a00b006cb84e13571mr4873475pfo.20.1700477054363; Mon, 20 Nov 2023 02:44:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477054; cv=none; d=google.com; s=arc-20160816; b=ZrTIY87dNK3ajo06rxd7NCAPRCfRbvdctb7gND66O4bO++k4MEiK6K0Wg6HWjVoduu IMz1xVujAGrpgyzDQwgoSyVceBn01apgNFN3aqJfdCpQl/DiftZz61DkkDfmdp29Qvmq 2Qt0OQ7z/+fuqWLKEa182uI9oc9jRtAQDmC232q0vEKO2VzHvYxXvO2QU3Dj1AZhHw7L irhYrThULNqcVp3CbGNqkjA0P9xP1rrTpT9+aBrzs+0x/sHH30+3euYn59J/9FIFxdn2 trZeIlOoQIBXDC/uJfmQuLOmYIGeNdUls0RYm7MX3P2c2nR+kQEPFB76cV0qI/h9jA7E Bp+Q== 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=MRYYy1qzr7LVB3Vurx9wPLfvDcoxrPmLAVgXcW2iR7c=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=wb+fdVGvIdljFCsnIKhfKEFgMINmcKeE1JMBYHn9XX7c1cji0oCdXOORDQzednhlwp ocVNJ26U3LmwjO5N3p34f4BiZmG+NYgACXXBQoy6ovrBgYrocxbIZzoGgjJmSEcLPNLB 3cSdaIIjlNko2AxZqLCf+yyyEeVIMfY4fhL+MfJR+t7CtZXTn79z+5NnZn+epQX9nP+g C+B0bxxlty0f7PvIZQGxj5Jwi8Xxbi7yZG3Ai8AYSebTEa/uX/ywCJWJO/tcbHZxwuPr T/WAV9L97jKCQlvGP1wseXsQGKGHL7CW8NilzwR46GXQjiBdjnLJDvUH23X83Kd8SDhn cr1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=FHO2qSO3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id c6-20020a056a000ac600b006c34752a6e8si4575197pfl.81.2023.11.20.02.44.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:44:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=FHO2qSO3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 05F478046473; Mon, 20 Nov 2023 02:44:12 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232558AbjKTKoA (ORCPT + 27 others); Mon, 20 Nov 2023 05:44:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233227AbjKTKnc (ORCPT ); Mon, 20 Nov 2023 05:43:32 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BC581989 for ; Mon, 20 Nov 2023 02:42:54 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id D158E40E01AF; Mon, 20 Nov 2023 10:42:52 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 4zufFcqVaxxJ; Mon, 20 Nov 2023 10:42:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476958; bh=3REK8cjilB4gave8JLXkaKTmlF3e5GW/wMP1cCyHtis=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FHO2qSO3VMNY9RwxREiTRprM+KxzgGwsdIz6n7JCC0w7d8MUF2ciaRsiS3ver3ZMq RK6SaECmLOi7SEX3OYwoqLEonArd4Egw/th2cPWB7EA38l3NkdOkQaLZ+JBzi2k/tr lAGV0PkQ3gubQQZzzgId+RckqDAKwYNtWGOla+pcYnQLSSpxxPcaOzyjahR8SATB8N msswRbdN5V1rmTVX4lJ6A9npB14wUjVX3QBw3oUHb9MvG3aJulSEmlUD6A6t6Z6Eth WMZpdSZYeK9fn62BLE1P8z+VnbY9ZmVTHmPMViRXo4J7GxNlwkILScGpUupbGGJFIW pk7p9uGMn0R9M8hKBUNmCDRfWdYgJty0Jaa6PhzHBQw5cOUWw8UNdBPNNXOb0QtDsH aKZzuxTQYgITxwum6ZN4vu5XkaJgbURZ4nccwhsbOglueh4QmFGNdY1vV1E8HwA2dw qLQ4KVeyixUvt+1hdHLTcktVJjXrs9QZ5vtUK7CUdsnpH5WDs1D3tcvQmEilmny3lP H9h37QyeCxVxWah8G/jlq8VDoljMz1o733e3VHp0NnVzPO8exFiDiTXra2/0R4DoWq jB/Yb06Gg5opd1KR20t7Jn63f+0p6AqSyX+UpXl/eaI34MZJU7VHRCvhALKZl9IX+b nOIS2To+RYV8h9iSnsShLM6M= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id AB7F140E01AA; Mon, 20 Nov 2023 10:42:36 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 10/13] x86/CPU/AMD: Get rid of amd_erratum_383[] Date: Mon, 20 Nov 2023 11:41:49 +0100 Message-ID: <20231120104152.13740-11-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:44:12 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079427811164544 X-GMAIL-MSGID: 1783079427811164544 From: "Borislav Petkov (AMD)" Set it in init_amd_gh() unconditionally as that is the F10h init function. No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 62aa99b5d6c8..3e25fa9c5275 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -63,9 +63,6 @@ static const int amd_erratum_400[] = AMD_OSVW_ERRATUM(1, AMD_MODEL_RANGE(0xf, 0x41, 0x2, 0xff, 0xf), AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0xff, 0xf)); -static const int amd_erratum_383[] = - AMD_OSVW_ERRATUM(3, AMD_MODEL_RANGE(0x10, 0, 0, 0xff, 0xf)); - static const int amd_erratum_1485[] = AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf), AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf)); @@ -876,8 +873,7 @@ static void init_amd_gh(struct cpuinfo_x86 *c) */ msr_clear_bit(MSR_AMD64_BU_CFG2, 24); - if (cpu_has_amd_erratum(c, amd_erratum_383)) - set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH); + set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH); } static void init_amd_ln(struct cpuinfo_x86 *c) From patchwork Mon Nov 20 10:41:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167045 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2110132vqn; Mon, 20 Nov 2023 02:44:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IFbqzo7jTVMAjzKt/FiYZOcvVJYExpCcwL4Ze+rBQg+K1ceNmIpJzPg8qKUW2Ki64RYEyV7 X-Received: by 2002:a17:902:7789:b0:1cc:436d:39dd with SMTP id o9-20020a170902778900b001cc436d39ddmr4597224pll.65.1700477073094; Mon, 20 Nov 2023 02:44:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477073; cv=none; d=google.com; s=arc-20160816; b=cWLrPzzZKda4agr9cPHCyZQx++izFQUrLSLw80vj5xLTiDsFtSY+yeQLJJ1NTNb5nw YUzBy+moUCRitMAn0qiGt8bZ7dmF6/Tc7N1ZgQcWbmXPNYbfnlFVwvH0KbDCbWBb0LAz x+RsB37saMe3xeXqk5NQyxONHa0BJ7lnE08ZMkFPfjs6SpP1eNPJBPympv5+y1Jrm3FZ 32XonrH8olud8wOvEWC+4oO7L5TkE3FSCFGeehLAsDUf+UD0NG43Wrxt2nXgaN8b2Hl+ DVYlQfgKA+LQ2BgKS5hqLcEBIN8TIG+2fyrsVze1EzuvJTcruNKxAcWaMehk6fenLnzf 0KXg== 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=FKJnicpQVINuQyamLhG0SPWIUFk7dsZCSicR3K/Afz4=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=sjxc+kU5BHgGQXVc4e16qUc61dvLl244sAsnyd2UaugVAtvCf1sOx0FSZ5PKOq5fGr olzXH6TtcZLX1gXF/hFAEjarAl0fyALnF9Bj3X69c9wo2Y5tAqo2dJac7/vTeEfHRMCB nccCbhyWDyQ7gbAZEXYKhmtpxyqfsixz7Ch6IUj7fV3TxVhT2rm247uoHeOsUSdwxptk HVK890fpq/zDp+r5hbZGSfNnNpkq2UFzHa87Cy7jrJPkaYE1jGWFxcI4iGYwi3Bvttv0 evaodDtoc8U+tDkng6EPI4TS+xJqg7xHPUAiTM/EtTeapDyjmv9Yr7XIygxwN1sv0plJ kdaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=eLjyU6l5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id u2-20020a170902b28200b001ca335f7147si7575439plr.57.2023.11.20.02.44.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:44:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=eLjyU6l5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id DABEA80A4180; Mon, 20 Nov 2023 02:44:28 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232969AbjKTKoX (ORCPT + 27 others); Mon, 20 Nov 2023 05:44:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233195AbjKTKoH (ORCPT ); Mon, 20 Nov 2023 05:44:07 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4D1221BE1 for ; Mon, 20 Nov 2023 02:43:15 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 7F94F40E0191; Mon, 20 Nov 2023 10:43:13 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id zrEdcRAkvAu4; Mon, 20 Nov 2023 10:43:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476962; bh=CeuqZVKZSFZbymJVdmtPdEsvanTHXzAKwND3+dNFkVk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eLjyU6l56F/aLBvzxQzl+i2e/rrASbVV/iVxLK/+b/NK3GMYtSAvaCFbbhx1zfhFL JB2ABi8mgPCxC/zckKwLZoR0GE+rbxmNWYjufLOLRG4g1CN/L81kgt/lH/hCRaT+dH B5g6q4pt2kW4x6OV649xUxKPmHSSXDh9qabjOiRG//KMYoHxTbMUF9lIzl/I2LWZK8 i08OKH8QtFsdiG9raXWBWRjxP35/qx07diUE4iNf+MfCyf40vAJfxSy6R7HeBtJJUv +a/9t2D89eniLEWy0tMqQQM94E/aAVH+Fv0gVc6+oD5rOIif4JEzL3ajlhKVgyhN95 HJFd1ZChvi8RF0p5QJz/Fao4zELxcXrXYeeGWck7cW/uJYh+ztWVmQrWDeLgDXav/s VgcO/27oyQmBBvP2liL5Cdjq7WTwkhxQkkJx6LTE3I7GjehBhaBIYvIizjN/i+NPXq dQUMO19xX/xr+oPzjUyxi+AnC7wvneucndbqHwVF6SAJTOoJdP8GIzEGozPxq0Xo1D 6n4yHHAikpCc+8fkZKwT/Fl8IgJj71SGOWncEW5gM5pxCeZT3zyLJzU4EetQmF4WsB xip2lZr3c2xW0u2HDzFicRRW/66W9hYx0o/97MQAwWx3D6KozIJFQDktrCw3am1ZwD j4wIhaPBzz0T7UZWhoQ+OZ+g= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 42D5C40E0031; Mon, 20 Nov 2023 10:42:40 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 11/13] x86/CPU/AMD: Get rid of amd_erratum_400[] Date: Mon, 20 Nov 2023 11:41:50 +0100 Message-ID: <20231120104152.13740-12-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:44:28 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079447279780212 X-GMAIL-MSGID: 1783079447279780212 From: "Borislav Petkov (AMD)" Setting X86_BUG_AMD_E400 in init_amd() is early enough. No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 3e25fa9c5275..f913ca245639 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -59,10 +59,6 @@ static u32 nodes_per_socket = 1; #define AMD_MODEL_RANGE_START(range) (((range) >> 12) & 0xfff) #define AMD_MODEL_RANGE_END(range) ((range) & 0xfff) -static const int amd_erratum_400[] = - AMD_OSVW_ERRATUM(1, AMD_MODEL_RANGE(0xf, 0x41, 0x2, 0xff, 0xf), - AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0xff, 0xf)); - static const int amd_erratum_1485[] = AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf), AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf)); @@ -765,15 +761,6 @@ static void early_init_amd(struct cpuinfo_x86 *c) if (c->x86 == 0x16 && c->x86_model <= 0xf) msr_set_bit(MSR_AMD64_LS_CFG, 15); - /* - * Check whether the machine is affected by erratum 400. This is - * used to select the proper idle routine and to enable the check - * whether the machine is affected in arch_post_acpi_init(), which - * sets the X86_BUG_AMD_APIC_C1E bug depending on the MSR check. - */ - if (cpu_has_amd_erratum(c, amd_erratum_400)) - set_cpu_bug(c, X86_BUG_AMD_E400); - early_detect_mem_encrypt(c); /* Re-enable TopologyExtensions if switched off by BIOS */ @@ -840,6 +827,16 @@ static void init_amd_k8(struct cpuinfo_x86 *c) msr_set_bit(MSR_K7_HWCR, 6); #endif set_cpu_bug(c, X86_BUG_SWAPGS_FENCE); + + /* + * Check models and steppings affected by erratum 400. This is + * used to select the proper idle routine and to enable the + * check whether the machine is affected in arch_post_acpi_subsys_init() + * which sets the X86_BUG_AMD_APIC_C1E bug depending on the MSR check. + */ + if (c->x86_model > 0x41 || + (c->x86_model == 0x41 && c->x86_stepping >= 0x2)) + setup_force_cpu_bug(X86_BUG_AMD_E400); } static void init_amd_gh(struct cpuinfo_x86 *c) @@ -874,6 +871,16 @@ static void init_amd_gh(struct cpuinfo_x86 *c) msr_clear_bit(MSR_AMD64_BU_CFG2, 24); set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH); + + /* + * Check models and steppings affected by erratum 400. This is + * used to select the proper idle routine and to enable the + * check whether the machine is affected in arch_post_acpi_subsys_init() + * which sets the X86_BUG_AMD_APIC_C1E bug depending on the MSR check. + */ + if (c->x86_model > 0x2 || + (c->x86_model == 0x2 && c->x86_stepping >= 0x1)) + setup_force_cpu_bug(X86_BUG_AMD_E400); } static void init_amd_ln(struct cpuinfo_x86 *c) From patchwork Mon Nov 20 10:41:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167046 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2110260vqn; Mon, 20 Nov 2023 02:44:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IHhoihKhuqk+hea/BXZTrUYKKs4LE6SQLyZzB1fH54X6IC9M1+ka2m8qdcBVE+nYFtB9fNg X-Received: by 2002:a05:6a00:1a8a:b0:6be:62e:d5a8 with SMTP id e10-20020a056a001a8a00b006be062ed5a8mr5740032pfv.0.1700477094436; Mon, 20 Nov 2023 02:44:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477094; cv=none; d=google.com; s=arc-20160816; b=FBmRDGuLPawmC/wfrDNMEHDNsJxDI5URRGPYwPGeFcHV6Oqe4AJjqP9GqNoNteHYiP kkvNmzIOmOEtWq7A25vvR8dAN4iAfjFctNqmHaV2u3M7+Cksv7A891FjsethUKlbllKR 7Me3GlRPX77h95SoWkSHCJ8LYwEEZbsnHcltw4QIi5xnEWM6EcLdPGchRZDEyhPavjFx YuuVkqQJEUMsGPlk0bydqz90vCgp0A8utKc09l6A9VY0+QMkVzw04mVkLklhMTY4OwMi Vbg4myclb4RjtMZDcT8SFT38mvRDUXcFCBRmo+EJ4fY4pXPah1aDGnI3V/EqckbiBcG9 ei/w== 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=2PICZc9YHkRUIJFYEvmpUGYJLZZiBdUvKNzXwErq9nk=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=Ig+lrTLBOSf8OnibTa9mFBhp0k++T2Cyyx+E5GIdx5VcDti4uswBTQTqJMWfN48yql fZCbZ6zVihUGRR2WOxyXXynXfAJlrO413IgbOWioE3NjejsueTNT4TKrYm9fMqQOTX6d A5hQIs4c4vI+JRpSt/pX6YQeCTsej3DT7YMI4byTXu7KFiqBuN+le9JBiCqyED72Z8AK 7twPEB6xp2caK2PuixC4/v6ZAZE0ohLDCCMrHTbdCL/Q4OKWk6qmlQOeQqOp2WdShW0e N8xGsybVRA/G9Uo9d92yeyhFoTmpw1/V1+RYAjiNOq5nP+2L9NncBPD7PqWTGYHLgl0N zYSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=KfaLwZFi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id 23-20020a631957000000b005b9a1494637si7980750pgz.317.2023.11.20.02.44.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:44:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=KfaLwZFi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 62528804647D; Mon, 20 Nov 2023 02:44:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232909AbjKTKo0 (ORCPT + 27 others); Mon, 20 Nov 2023 05:44:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233205AbjKTKoJ (ORCPT ); Mon, 20 Nov 2023 05:44:09 -0500 Received: from mail.alien8.de (mail.alien8.de [IPv6:2a01:4f9:3051:3f93::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 329FDF1 for ; Mon, 20 Nov 2023 02:43:16 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 9FAD940E0031; Mon, 20 Nov 2023 10:43:14 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id jFkyOQGuoUdA; Mon, 20 Nov 2023 10:43:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476966; bh=zSLgutEmyCmCS539z/eElXM8kHbppEABOqOJE2A9kTo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KfaLwZFiE/0gqirbhxB0qNTgeotT1cCYzCY45DBWt0bYLHBMbOABzNHDEEe1ePKKN ZmBk8aoVCLrZDCnb/4CVreCMX6+ncm0a0PftPrAQfydPKYF9xTtVRj1BtoWC6IelcN zGaFZQi+jRtzzYHGIYKU+7xFpWvH/JFORC1EIBzOELuIZ2XwdTwbgJjxfhMj249sRa gpENy/lJKBqQX7u6saBaoUc9mS9Hn0KMT87P8GE9nx6rzxECpP/1rtqqnM8kTb+q4S gfUGJlU3MgiUyHX6VRHlmQ4w91IlIJ0x9aJo/p3+2pbkyqcrMPu5Wgii6Fo3sE8fYA DwTxzm4WTka5ZQkXQ5Y3zVywTdFtjs8oQkiQK2deTrAFDDImCbN0OOVcbiQqRoq+zX U7Tg9siw9OTuOlkHqJCLn57uXCKuJjIC5Jq1tggMLLBRCt8X298ss9XT7xz5bkCnTn y9+LlUin3kS5VZ8D/5BpO2ryz9acVcSr7yQBveAxdKKwNsTkvx1jGDisMAjnxiWcEh g/HlMfzEzgfnw/2BfdzM+YNS+56VKogiajV+Ilhmt8cdYZAyZL/vlApJpbD6PVwe2C uUP7z9Yfpcrbe2TiL8yjxFkecvdPGVoxF+XFhauQbg7lPHfwumnunk5oExNrO2e++i uRIB/33Ryb1pmDLqLeedYKgQ= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id DDDB840E0176; Mon, 20 Nov 2023 10:42:43 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 12/13] x86/CPU/AMD: Get rid of amd_erratum_1485[] Date: Mon, 20 Nov 2023 11:41:51 +0100 Message-ID: <20231120104152.13740-13-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:44:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079470011343025 X-GMAIL-MSGID: 1783079470011343025 From: "Borislav Petkov (AMD)" No functional changes. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index f913ca245639..54e07c9b1292 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -59,10 +59,6 @@ static u32 nodes_per_socket = 1; #define AMD_MODEL_RANGE_START(range) (((range) >> 12) & 0xfff) #define AMD_MODEL_RANGE_END(range) ((range) & 0xfff) -static const int amd_erratum_1485[] = - AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf), - AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf)); - static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum) { int osvw_id = *erratum++; @@ -1093,6 +1089,9 @@ static void init_amd_zen3(struct cpuinfo_x86 *c) static void init_amd_zen4(struct cpuinfo_x86 *c) { init_amd_zen_common(); + + if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) + msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT); } static void init_amd(struct cpuinfo_x86 *c) @@ -1215,10 +1214,6 @@ static void init_amd(struct cpuinfo_x86 *c) if (spectre_v2_in_eibrs_mode(spectre_v2_enabled) && cpu_has(c, X86_FEATURE_AUTOIBRS)) WARN_ON_ONCE(msr_set_bit(MSR_EFER, _EFER_AUTOIBRS)); - - if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && - cpu_has_amd_erratum(c, amd_erratum_1485)) - msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT); } #ifdef CONFIG_X86_32 From patchwork Mon Nov 20 10:41:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 167047 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2110311vqn; Mon, 20 Nov 2023 02:45:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IFuMtIrRkeyy0Dz4Yoiq18njXs5g3L01YtGJG0OMabInqvdNy5Apqh9zIR+bPciEsNYYREW X-Received: by 2002:a05:6808:1185:b0:3ae:554b:6c57 with SMTP id j5-20020a056808118500b003ae554b6c57mr8664858oil.11.1700477104065; Mon, 20 Nov 2023 02:45:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700477104; cv=none; d=google.com; s=arc-20160816; b=AeFLPpVLcoV6bp261N4syny++EVkheUOdlN+UAgS54sqGmgsyAlqCbe06PDWJ9iKE5 /5TAXhKn/tfS6ufxk39dqLxLtfzvOPWrC8s2LHbyZIahfTYqBlqRBEPv5L3mFANvm6R0 SiFlFS4bIccW3xEREefPx/nfZF3NbeO+tW1rApaca+g1xTZmjV9scVFd78x+1IlqQy3p xCr+/CKFOv3gx7d+6QCuDcOvUc0OcdPFZdrN2V1Kw+2IqiGXEk+s0QHWreDAKvmE8swB tlCFJTDfumOBbMKX9Qa3L3y5o+zGPLg55C6ir4qwrxyUNkFqEkh4Jkt+BypxQsX98jDC hkcA== 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=cNJ4Lf3JkS3qWr1EcESi3g1wfLhyxPGceqjN2gIaSW8=; fh=yRofEPOsMYSFYi/7/f3tXB782BWAy0107oR1j5aafGk=; b=ZhlsmxfSSrupMdUgmlOnOw3+gopa3wE2qEKTo0ej5P96qoPdz2/8HUFinRhq++0dXl RlZJV91/aUPCQE7+NZ4YZ03rRulYIqES0m/wOg/NvLpoA4ZSKOmM/dOMQZpMKSBXbQX+ keouExgoFwFJ/2MMhcNgi9LR/YXEaD3axxKC01ny4WFYRh6dG2kfhwBtyhxU2JLO/i+j aYycP2hRN9lkOZf/AWS3FEReR+k8+sPQxwgUYEfhw80/oOFGbYbgBZsCdP1o6hGTu0yd jmJsH6eXkwhZEZ9dHWEUkNMpR7KVtf9HRwz7s185IQ5Pfdf/x9QuNObCUGsACiIIKp11 jgGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=FORQY5GW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id n16-20020aa79850000000b006bf6b23d6d9si7494063pfq.400.2023.11.20.02.45.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 02:45:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@alien8.de header.s=alien8 header.b=FORQY5GW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id C813680A28FC; Mon, 20 Nov 2023 02:45:01 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232658AbjKTKom (ORCPT + 27 others); Mon, 20 Nov 2023 05:44:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37828 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233145AbjKTKoR (ORCPT ); Mon, 20 Nov 2023 05:44:17 -0500 Received: from mail.alien8.de (mail.alien8.de [IPv6:2a01:4f9:3051:3f93::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0C0110E0 for ; Mon, 20 Nov 2023 02:43:25 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 48E8940E0030; Mon, 20 Nov 2023 10:43:24 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key) reason="fail (body has been altered)" header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 6MdqnS4uwAxP; Mon, 20 Nov 2023 10:43:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1700476969; bh=/Cy8NatvX/Kmu3ga/aoJptF1EvKLJEj2qDDtcQHYy0A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FORQY5GWUhmMqGcviDAUSKl5P0aEjY/jU2Z7LWwHkOafLwm77LW4ydKq9vuswNw9s /wquzcAPGkFjxa2EZ0IGhWOmimZnHjXQ34u7Oz2hO8oGySn1CLrwusydPdKUj8jeY1 uPFWMlf8m9dpgNSOcdp54qJPMe2fs7FpLmQBw3yJRvGBrPwBYJ0ZEJYpDgU3cQsgxt maS2VI/3PkYVG/a4ZgF8BtfLpVUZwIu6Vg4yGansAChOt1PdH7q9ISaaMHh3Luunt0 wKok4HE73I6Q+zSgkwJWB/jWL2i2+cXnDTAKi8CG0Pgo2Fpu+RYB4oTHPcuEZKQHIz a0SIjsIVBKN8AR5CZV21KGeKlYv3fhhV9vl7RNnQ6dcGUm05Y95Iq/Uf35SRAMrOCl UGiWaanqiU0ppNJy0W6WUJ9OcUk2RK+6d2eD1EyKEVYtKpQmkR2Q4FqQUwHWg2lZsB mVfv31vblQaX4cPjdCdMEUYdXLXPn/bv3nIBAAhVkcx8Xbe1O9vrgEuqEEg3i4VnDe 0qwnRw6kGXFcgnA7A0SmMxRHaCKfnyLoW0XL/KpLrOLNzWEsH1hcN42u9asElStNPT gRp4RcGkN3Hi+/fA0wAwqJpQV+bCi/xKkLoIl2+yE8BFz6z4c+9ErK3x4fuVz456E4 1ayOMHuKdncSJ07tWYAecUts= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 17E6540E01C2; Mon, 20 Nov 2023 10:42:47 +0000 (UTC) From: Borislav Petkov To: X86 ML Cc: LKML Subject: [PATCH 13/13] x86/CPU/AMD: Drop now unused CPU erratum checking function Date: Mon, 20 Nov 2023 11:41:52 +0100 Message-ID: <20231120104152.13740-14-bp@alien8.de> X-Mailer: git-send-email 2.42.0.rc0.25.ga82fb66fed25 In-Reply-To: <20231120104152.13740-1-bp@alien8.de> References: <20231120104152.13740-1-bp@alien8.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 20 Nov 2023 02:45:01 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783079479446379291 X-GMAIL-MSGID: 1783079479446379291 From: "Borislav Petkov (AMD)" Bye bye. Signed-off-by: Borislav Petkov (AMD) --- arch/x86/kernel/cpu/amd.c | 56 --------------------------------------- 1 file changed, 56 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 54e07c9b1292..a363de80ce28 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -34,62 +34,6 @@ */ static u32 nodes_per_socket = 1; -/* - * AMD errata checking - * - * Errata are defined as arrays of ints using the AMD_LEGACY_ERRATUM() or - * AMD_OSVW_ERRATUM() macros. The latter is intended for newer errata that - * have an OSVW id assigned, which it takes as first argument. Both take a - * variable number of family-specific model-stepping ranges created by - * AMD_MODEL_RANGE(). - * - * Example: - * - * const int amd_erratum_319[] = - * AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0x4, 0x2), - * AMD_MODEL_RANGE(0x10, 0x8, 0x0, 0x8, 0x0), - * AMD_MODEL_RANGE(0x10, 0x9, 0x0, 0x9, 0x0)); - */ - -#define AMD_LEGACY_ERRATUM(...) { -1, __VA_ARGS__, 0 } -#define AMD_OSVW_ERRATUM(osvw_id, ...) { osvw_id, __VA_ARGS__, 0 } -#define AMD_MODEL_RANGE(f, m_start, s_start, m_end, s_end) \ - ((f << 24) | (m_start << 16) | (s_start << 12) | (m_end << 4) | (s_end)) -#define AMD_MODEL_RANGE_FAMILY(range) (((range) >> 24) & 0xff) -#define AMD_MODEL_RANGE_START(range) (((range) >> 12) & 0xfff) -#define AMD_MODEL_RANGE_END(range) ((range) & 0xfff) - -static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum) -{ - int osvw_id = *erratum++; - u32 range; - u32 ms; - - if (osvw_id >= 0 && osvw_id < 65536 && - cpu_has(cpu, X86_FEATURE_OSVW)) { - u64 osvw_len; - - rdmsrl(MSR_AMD64_OSVW_ID_LENGTH, osvw_len); - if (osvw_id < osvw_len) { - u64 osvw_bits; - - rdmsrl(MSR_AMD64_OSVW_STATUS + (osvw_id >> 6), - osvw_bits); - return osvw_bits & (1ULL << (osvw_id & 0x3f)); - } - } - - /* OSVW unavailable or ID unknown, match family-model-stepping range */ - ms = (cpu->x86_model << 4) | cpu->x86_stepping; - while ((range = *erratum++)) - if ((cpu->x86 == AMD_MODEL_RANGE_FAMILY(range)) && - (ms >= AMD_MODEL_RANGE_START(range)) && - (ms <= AMD_MODEL_RANGE_END(range))) - return true; - - return false; -} - static inline int rdmsrl_amd_safe(unsigned msr, unsigned long long *p) { u32 gprs[8] = { 0 };