Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp429580rdg; Thu, 12 Oct 2023 09:32:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF38eRUbkSZ2uZlKyQs6nrcp5ix3Aw5ojhpNS6/wZkiYydhqQrbduUD/3vLDAEyJi+Wguup X-Received: by 2002:a05:6a20:12c9:b0:142:aced:c643 with SMTP id v9-20020a056a2012c900b00142acedc643mr26172525pzg.31.1697128345067; Thu, 12 Oct 2023 09:32:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697128345; cv=none; d=google.com; s=arc-20160816; b=qPWS7uF+b63dnygDQ/HsMFUf4179ya5gGLUj5LYj2dsbK+xkWOynLjKYXFsAIKyvXm avYuV3oV4lWstHiz5Q/JzD8aFxq9UjahEpzeQHocmCXl+tZeirEnj8oQo9Nh/Zsqe2mv vQZ2MyLRhi7BiO9b2qsXbwokiNdy/RC4+ben2fBcutgvLMIMkJ6ygC9OSTc+qbf9GAba wkzNBWxJji587lH7Z8SWXzcRuX29OPCiGBUUovVJJgSLfxcA5Jucc7AhCNJ1BQmMLez8 irOfyDiTustmFPfO4N8CoScWsmXJvIHsc2N8MCfp1EZl2L900DWP1SpZOVekZ00mi6BS wh+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=zEFAq/CRrluRRtx0eqGeEhiSqDINW9W8p+WysscBUH0=; fh=ILN5G/k50onbk338a2jwZiLq/cirY5MPH4hTab/6dOY=; b=nSRuVjtJStWMhb7qIW1aWDd1rABR1V23l0J+DHMilYaq54ayKGe58Z9hCs2ukTIpaS fJJ2QdA9QX47B5px9chPJvBecBE9DLGqMCbBmICpPLJDdKdsp+HouzvRld+hiecw7+Tx 5Dn9X6NKXVGwF3vZTVbL000CoLWNBUjdwWBxr2qBgL1MrJUVfDezEm+uspyNCAS6KcIC meEmXOVOSYPmC44iFgGVAXLAyoMyh1U2ZJrHxxE1tu+sXPHSyVSKcDOcGh+ZdK4BmWK2 kMwHaO/5UjZ0EycXpjeymvlEUZ/9eOgQ8e2JZ5qnrv4Xe0cvLSvIxxgZYWzM7hjOnKmB 7tGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ventanamicro.com header.s=google header.b=Hb52MtOW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id c2-20020a170902d48200b001c3da86939csi2619344plg.546.2023.10.12.09.32.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Oct 2023 09:32:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@ventanamicro.com header.s=google header.b=Hb52MtOW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id A3B8F81A7D1D; Thu, 12 Oct 2023 09:32:21 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1379564AbjJLQcJ (ORCPT + 99 others); Thu, 12 Oct 2023 12:32:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379171AbjJLQcI (ORCPT ); Thu, 12 Oct 2023 12:32:08 -0400 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2E67C0 for ; Thu, 12 Oct 2023 09:32:06 -0700 (PDT) Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4054496bde3so12155915e9.1 for ; Thu, 12 Oct 2023 09:32:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1697128325; x=1697733125; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=zEFAq/CRrluRRtx0eqGeEhiSqDINW9W8p+WysscBUH0=; b=Hb52MtOWZjxxfZ7pzN8qo7bv0tgN4syqARBW16Iv0kg/BriTVxqdQMiRQCSViZyqpe qLTMiaSrTluO3EJkQbbiAx/3sRTgQwIFHvuHsft6KkeIWpIvPM0mq/MOSM4wKRTBbCvw va1toOvOK+uQDpzSXub8bdK7EIxPz7/Qx3Qkm7+DiNku7j+yRAW3SIgWiin1Lc7eoOhs Pjq/d8Yfz69YSClZjRMDC955zc6EKVSAPPsJORKg29Hy+KfW2P8P7mk6KWPfNUtHu4b6 cHJ1gZh89VwwSbzC4cG2H5lq7sLg8s+QOpI9F8N4mmSp7LF1MYxwRfClwHBZv6rrmmdm nR0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697128325; x=1697733125; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zEFAq/CRrluRRtx0eqGeEhiSqDINW9W8p+WysscBUH0=; b=L4pnA5zDqbgJvfRPaz4fun8ZOWtqqu/jAGeFlHPKKV6VXy1LxgA87moj99d49eXVaG 6CrlJDA0bYzRtMTGUtNA1E+N/+l+DrGcMvOP73BLxRA9Ualuv/hk1V588O98B7hYDGMi 1f9v9y/+TZxvCSgtU1erZC3OMEJGAgUTpuHF6FkJ4vmrHxd1LFPDAQAeBXfm+IJSpQSU VZTLzTSQ+3GJbsrF/Zv7FMmjFjV5/1Z0GwGsHY2Nnce9voDDc7HUwPdEPXyMWeCTkgdQ SkaeOnX4RzfeS2nNNe3hySebMvnXMFu74qQXiTGQM9efm0MnedrOI/isfgdF5ZLE4oBD MbCQ== X-Gm-Message-State: AOJu0Yy3r7UJtQEHuGLEyjs7hAZP4Jl893Or68rYCNJ98j9fkMgtte7C hDv1ZmlPcesVsWPI0Ts0i+oIhQ== X-Received: by 2002:a05:600c:3781:b0:405:1bfb:ff14 with SMTP id o1-20020a05600c378100b004051bfbff14mr20483223wmr.9.1697128325100; Thu, 12 Oct 2023 09:32:05 -0700 (PDT) Received: from localhost (2001-1ae9-1c2-4c00-20f-c6b4-1e57-7965.ip6.tmcz.cz. [2001:1ae9:1c2:4c00:20f:c6b4:1e57:7965]) by smtp.gmail.com with ESMTPSA id l40-20020a05600c1d2800b0040770ec2c19sm30176wms.10.2023.10.12.09.32.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Oct 2023 09:32:04 -0700 (PDT) Date: Thu, 12 Oct 2023 18:32:03 +0200 From: Andrew Jones To: Conor Dooley Cc: =?utf-8?B?Q2zDqW1lbnQgTMOpZ2Vy?= , linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Palmer Dabbelt , Paul Walmsley , Rob Herring , Krzysztof Kozlowski , Albert Ou , Jonathan Corbet , Evan Green Subject: Re: [PATCH v1 01/13] riscv: fatorize hwprobe ISA extension reporting Message-ID: <20231012-8d049a0366f3333ff4a3223b@orel> References: <20231011111438.909552-1-cleger@rivosinc.com> <20231011111438.909552-2-cleger@rivosinc.com> <20231012-matriarch-lunar-819c1d2d7996@spud> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20231012-matriarch-lunar-819c1d2d7996@spud> X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.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 (pete.vger.email [0.0.0.0]); Thu, 12 Oct 2023 09:32:21 -0700 (PDT) On Thu, Oct 12, 2023 at 02:53:43PM +0100, Conor Dooley wrote: > Drew, > > On Wed, Oct 11, 2023 at 01:14:26PM +0200, Cl?ment L?ger wrote: > > Factorize ISA extension reporting by using a macro rather than > > copy/pasting extension names. This will allow adding new extensions more > > easily. > > > > Signed-off-by: Cl?ment L?ger > > --- > > arch/riscv/kernel/sys_riscv.c | 26 ++++++++++++-------------- > > 1 file changed, 12 insertions(+), 14 deletions(-) > > > > diff --git a/arch/riscv/kernel/sys_riscv.c b/arch/riscv/kernel/sys_riscv.c > > index 473159b5f303..5ce593ce07a4 100644 > > --- a/arch/riscv/kernel/sys_riscv.c > > +++ b/arch/riscv/kernel/sys_riscv.c > > @@ -145,20 +145,18 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair, > > for_each_cpu(cpu, cpus) { > > We were gonna add a comment here about when it is and is not safe to use > riscv_isa_extension_available() IIRC. Did that ever end up in a patch? Yup, it's in [1]. But that series may be hung up on spec stuff, so maybe it'd be better for Cl?ment to integrate it. And, it appears we definitely need this macro, because it has now been suggested by three different people :-) (I later saw Samuel was first[2], but I hadn't seen his before submitting mine, otherwise I would have given him the credit.) [1] https://lore.kernel.org/all/20230918131518.56803-11-ajones@ventanamicro.com/ [2] https://lore.kernel.org/all/20230712084134.1648008-4-sameo@rivosinc.com/ Thanks, drew > > > struct riscv_isainfo *isainfo = &hart_isa[cpu]; > > > > - if (riscv_isa_extension_available(isainfo->isa, ZBA)) > > - pair->value |= RISCV_HWPROBE_EXT_ZBA; > > - else > > - missing |= RISCV_HWPROBE_EXT_ZBA; > > - > > - if (riscv_isa_extension_available(isainfo->isa, ZBB)) > > - pair->value |= RISCV_HWPROBE_EXT_ZBB; > > - else > > - missing |= RISCV_HWPROBE_EXT_ZBB; > > - > > - if (riscv_isa_extension_available(isainfo->isa, ZBS)) > > - pair->value |= RISCV_HWPROBE_EXT_ZBS; > > - else > > - missing |= RISCV_HWPROBE_EXT_ZBS; > > +#define CHECK_ISA_EXT(__ext) \ > > + do { \ > > + if (riscv_isa_extension_available(isainfo->isa, __ext)) \ > > + pair->value |= RISCV_HWPROBE_EXT_##__ext; \ > > + else \ > > + missing |= RISCV_HWPROBE_EXT_##__ext; \ > > + } while (false) \ > > + > > + CHECK_ISA_EXT(ZBA); > > + CHECK_ISA_EXT(ZBB); > > + CHECK_ISA_EXT(ZBS); > > +#undef CHECK_ISA_EXT > > } > > > > /* Now turn off reporting features if any CPU is missing it. */ > > -- > > 2.42.0 > >