From patchwork Mon Aug 14 08:54:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Gleixner X-Patchwork-Id: 135282 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2628415vqi; Mon, 14 Aug 2023 02:43:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHUn5pcO1YT1KgvlUkpj9rLnFONnJr25Yp8igb/2qbpqPZDtFu3yd8wbKjcp+/wiHc0K4QS X-Received: by 2002:a05:6402:31f0:b0:523:2816:773b with SMTP id dy16-20020a05640231f000b005232816773bmr6794288edb.20.1692006189210; Mon, 14 Aug 2023 02:43:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692006189; cv=none; d=google.com; s=arc-20160816; b=ek5/fGl55Ip2OaJht1zcfKd9q7lRsZQhtWfq2/g70hMr9lnfkrtlnOXs8bf1XFQbsn 7sVUss/y36xDASMYc3eP/vJmzTE9qw8q7PioUE9D77MljuD2Zg2kLhNW5HQtBJ3iO6yY nfp2LsuM71IJKOgVZ9u8Jp4ESNx7uDs1I4a7yyjFlhwuYep/r9KhiL8r9k3Eo4TxBR7E qWXuyrUXLAulwNebgU1UrMZ8nDtYz6leDxXbqaQcrnSgAoToj/pKuLLovAF1sUWGv88b wUtvP+nEUyLLuXhMVK5sU3HLWfEeTxiYfbTFC/rbY/OVmABML3u6WupsVYZ3FAWSG89/ ++Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:mime-version:references:subject:cc:to:from :dkim-signature:dkim-signature:message-id; bh=ZG/EXWy0RVlNB1gv0Rdu33CQfwetyGKKBsf9BNZ5Uv8=; fh=vmKIJtcbtoHWhyuxI4oEq8r1SWZ2V9Rrbp1Orw2DxqA=; b=OEvg5ez5Ct9YqDN1SllptCVb+LdU8b4lCTRcX1/8JuZQt8ZmXJjEPomWtKz9glsLH/ tZpLeI4/wVKoOrUmcnUb6XCJheWx81/y98yOGEASUG6jtuIYtobdV+/NImzL9mAmdMvC 3NpbLNt5DWb/hmKv9fDy6sWDV9XHJGDoSJbpFgwYZD5PIJNndr6WUQRCgxmzhr5TTac0 up4KxJZPQK0ZGH/WcVTq1OxbsCEW7MveCh5Syn0GpRU8sW+6TDYqMNLctba5fn4IwWvu ohebGfPoUldq9yrgdzfUepck7ScoCKOYvudhd/n5x3bq4GCgvJ0MOcFnJP5kmfqW69eI ePLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=b2Y6JEYF; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=FuoYBzBP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v26-20020a056402185a00b005234d073442si7923713edy.279.2023.08.14.02.42.45; Mon, 14 Aug 2023 02:43:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=b2Y6JEYF; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=FuoYBzBP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235524AbjHNIzu (ORCPT + 99 others); Mon, 14 Aug 2023 04:55:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47732 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235058AbjHNIyR (ORCPT ); Mon, 14 Aug 2023 04:54:17 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4C6E1AA for ; Mon, 14 Aug 2023 01:54:16 -0700 (PDT) Message-ID: <20230814085113.588701843@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1692003255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=ZG/EXWy0RVlNB1gv0Rdu33CQfwetyGKKBsf9BNZ5Uv8=; b=b2Y6JEYF0l284Ztmnc80j+qjT1TvPV0OZJ7eMMqmJgrEwA3l6JIdDLaDda0kCCVNc00au8 2lF0gryQohsuCy8D16IadCY1UlOznUNIzF+KvESr2i4t5lHhiokmg+SpDAhgVB79+ltYPi yNnUmR8HuSFkQJVoU4omBUefExeoAyH4sCHcTNOAXG1jfutwzapAVE8v9RQlMkYgcdejiJ SLL0UTGdwbV7r3pdrf3/aSaj4ydsBVOjsIbplh3LTLnDoEbyNGoGhObGdTwGLB1GzM9Ep2 WJeP6mt9oKsyHgj39AqcCdz44cj1g8M1WkQbviZ0XVZ+c0/XTWBHiVnDu+/e5A== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1692003255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=ZG/EXWy0RVlNB1gv0Rdu33CQfwetyGKKBsf9BNZ5Uv8=; b=FuoYBzBPQZGyooNROspFQLk1jl1Gjrm5mC44rctA6htSZPfctejwAY7R8X5BfllugOI0v7 xAM2PncP1FMMefCQ== From: Thomas Gleixner To: LKML Cc: x86@kernel.org, Tom Lendacky , Andrew Cooper , Arjan van de Ven , Huang Rui , Juergen Gross , Dimitri Sivanich , Michael Kelley , Wei Liu , Pu Wen , Qiuxu Zhuo , Sohil Mehta Subject: [patch V4 26/41] x86/cpu: Use common topology code for Centaur and Zhaoxin References: <20230814085006.593997112@linutronix.de> MIME-Version: 1.0 Date: Mon, 14 Aug 2023 10:54:14 +0200 (CEST) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774197082185580338 X-GMAIL-MSGID: 1774197082185580338 Centaur and Zhaoxin CPUs use only the legacy SMP detection. Remove the invocations from their 32bit path and exempt them from the call 64bit. No functional change intended. Signed-off-by: Thomas Gleixner Tested-by: Juergen Gross Tested-by: Sohil Mehta Tested-by: Michael Kelley --- arch/x86/kernel/cpu/centaur.c | 4 ---- arch/x86/kernel/cpu/topology_common.c | 11 ++++++++--- arch/x86/kernel/cpu/zhaoxin.c | 4 ---- 3 files changed, 8 insertions(+), 11 deletions(-) --- a/arch/x86/kernel/cpu/centaur.c +++ b/arch/x86/kernel/cpu/centaur.c @@ -128,10 +128,6 @@ static void init_centaur(struct cpuinfo_ #endif early_init_centaur(c); init_intel_cacheinfo(c); - detect_num_cpu_cores(c); -#ifdef CONFIG_X86_32 - detect_ht(c); -#endif if (c->cpuid_level > 9) { unsigned int eax = cpuid_eax(10); --- a/arch/x86/kernel/cpu/topology_common.c +++ b/arch/x86/kernel/cpu/topology_common.c @@ -42,7 +42,7 @@ static unsigned int parse_num_cores(stru return eax.ncores + 1; } -static void __maybe_unused parse_legacy(struct topo_scan *tscan) +static void parse_legacy(struct topo_scan *tscan) { unsigned int cores, core_shift, smt_shift = 0; struct cpuinfo_x86 *c = tscan->c; @@ -71,10 +71,8 @@ bool topo_is_converted(struct cpuinfo_x8 /* Temporary until everything is converted over. */ switch (boot_cpu_data.x86_vendor) { case X86_VENDOR_AMD: - case X86_VENDOR_CENTAUR: case X86_VENDOR_INTEL: case X86_VENDOR_HYGON: - case X86_VENDOR_ZHAOXIN: return false; default: /* Let all UP systems use the below */ @@ -132,6 +130,13 @@ static void parse_topology(struct topo_s return; tscan->ebx1_nproc_shift = get_count_order(ebx.nproc); + + switch (c->x86_vendor) { + case X86_VENDOR_CENTAUR: + case X86_VENDOR_ZHAOXIN: + parse_legacy(tscan); + break; + } } static void topo_set_ids(struct topo_scan *tscan) --- a/arch/x86/kernel/cpu/zhaoxin.c +++ b/arch/x86/kernel/cpu/zhaoxin.c @@ -71,10 +71,6 @@ static void init_zhaoxin(struct cpuinfo_ { early_init_zhaoxin(c); init_intel_cacheinfo(c); - detect_num_cpu_cores(c); -#ifdef CONFIG_X86_32 - detect_ht(c); -#endif if (c->cpuid_level > 9) { unsigned int eax = cpuid_eax(10);