From patchwork Tue Oct 17 13:14:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?Q2zDqW1lbnQgTMOpZ2Vy?= X-Patchwork-Id: 13425136 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 30A8FCDB474 for ; Tue, 17 Oct 2023 13:15:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=YMzGweLlqmkw7Cbidjtj3Ph2+yvLceI4CGtOoblMVYc=; b=wXcDgNCl7O9trV gNNIs6i2+2EvK9eaN2TnTJXnT2cR7AFxNGaboDM7SzCpFCNdtfOB1/7Hd5Civ70oHxGAX35YM57Ps S4jmVAOH+hRk24ERdaMABBb0OWGmNdz5RCHY98rB5cqjf0Hy3n0yuGwYHRKe5WoSoJ98fmbOgMdqU gb0G7i2Twux1PfocgRPCFc72e/pDHoPh/XR+8kcCcFNnwVWfRuE7G/ukvaGUHLtfO3LGR6Y/52irW cjYGzSR/mVyDDqg8QxqD7dGARCVX1iSNLSppYHkOx5cjFyhD4pPIRNhiGyGYsAQZat++9AYK0VpbD I/M5WDZM3+r7I4ZvnOHw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qsjv3-00CN1g-0z; Tue, 17 Oct 2023 13:15:33 +0000 Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qsjuz-00CN0K-2P for linux-riscv@lists.infradead.org; Tue, 17 Oct 2023 13:15:31 +0000 Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2bbbe81185dso14807961fa.0 for ; Tue, 17 Oct 2023 06:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1697548526; x=1698153326; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=JJAHN6fXys4+chbQTYaGErBWbio2Bi7IHGHKbLKG294=; b=CHjpzYwNV4RMRx+u4kdd782Mt8qhXrw1S7TuNUIVxR+8DZnaaBXGEm6D03Nyk5mSGX fvhT3VaoZX39CzvWouHf/z8Xy5IsrcZfifSizVJvxdfOPuL005+6aOnXWkUkbmI7aQYw L7gE6aVkW5nbH3xc5MH7FmvIHP/FBnoWFKWbRwbb4VF+JCZ6+GBFArGwixYKbKqpHQP7 bKoYJkLopai5sh9G7RtoJCtCPrbObTktwz9hx+P/A8/KpuouBNgucsYcSjNXn7L8suDC Z3JqWOYOYlMBCrfZc6sHKYwXk6Ux0kQvyxBaayzAjEpn6PkvK7e8HKudTOVETMUilBkE DvNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697548526; x=1698153326; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JJAHN6fXys4+chbQTYaGErBWbio2Bi7IHGHKbLKG294=; b=LAc7HjhqB989ZfThzKFyhH4tPK5qy1F/u7kCRCLfcVvE0W8mSclfGQolgqkUGbcdnX mDaO97ddgFcs8PkcT2EPK33cG4S1yTOs6Xjw5/XMCqx/MnKS2cxlCNbacWWSzXDQYUSL vHH9CNXiwqINPMP4FyJ7b1e6Yz4iYMf0h20HxXSwNRyxIkKboStFd4+jHUwZxj1EKiXz S74dLOcUtk4wdLcasqImbIEaPFzPQTQdC2M0c2ltjEqKWr3tr3+XrbKwsHi1x3YbYXY2 Kji8H6coo4vcs1FfCj1ozWGIZVaTKkqqJEows4/vrAixpFk79VUVmTZJomBNpy8zry9M ZENw== X-Gm-Message-State: AOJu0Yxl61IpJeldFErCxGWCzqc9iXRZMwgWceCCgpWVxmXhH6Zb5OSr 7JNtPKxIlmtw7/LGDaAjKxWW42vyKWCwz5rlu/KD0Q== X-Google-Smtp-Source: AGHT+IFmJd0Jv9jaCEa9LrAcAAx0Uv4PFE1Q1v9qEK4kiLK109S5gB4b1spDwnBQbpEQP4T9Ww4c5g== X-Received: by 2002:a05:651c:119b:b0:2c5:36e:31ef with SMTP id w27-20020a05651c119b00b002c5036e31efmr1527955ljo.5.1697548526439; Tue, 17 Oct 2023 06:15:26 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:999:a3a0:96:820c:ecf7:a817]) by smtp.gmail.com with ESMTPSA id fj7-20020a05600c0c8700b0040772138bb7sm9873393wmb.2.2023.10.17.06.15.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 06:15:25 -0700 (PDT) From: =?utf-8?b?Q2zDqW1lbnQgTMOpZ2Vy?= To: linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Cc: =?utf-8?b?Q2zDqW1lbnQgTMOpZ2Vy?= , Palmer Dabbelt , Paul Walmsley , Rob Herring , Krzysztof Kozlowski , Albert Ou , Jonathan Corbet , Andrew Jones , Evan Green , Conor Dooley , Samuel Ortiz Subject: [PATCH v2 00/19] riscv: report more ISA extensions through hwprobe Date: Tue, 17 Oct 2023 15:14:37 +0200 Message-ID: <20231017131456.2053396-1-cleger@rivosinc.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231017_061530_025353_BB6CC9C4 X-CRM114-Status: GOOD ( 10.79 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org In order to be able to gather more information about the supported ISA extensions from userspace using the hwprobe syscall, add more ISA extensions report. This series adds the following ISA extensions parsing support: - Zfh[min] - Zvfh[min] - Zihintntl - Zbc - Zvbb - Zvbc - Zvkb - Zvkg - Zvkned - Zvknh[ab] - Zvksed - Zvksh - Zvkn - Zvknc - Zvkng - Zvks - Zvksc - Zvksg - Zvkt - Zfa - Zbkb - Zbkc - Zbkx - Zknd - Zkne - Zknh - Zkr - Zksed - Zksh - Zkt Some of these extensions are actually shorthands for other "sub" extensions. This series includes a patch from Conor/Evan that adds a way to specify such "bundled" extensions. When exposing these bundled extensions to userspace through hwprobe, only the "sub" extensions are exposed. In order to test it, one can use qemu and the small hwprobe utility provided[1]. Run qemu by specifying additional ISA extensions, for instance: $ qemu-system-riscv64 -cpu rv64,v=true,zk=true,zvksh=true,zvkned=true Then, run hwprobe_dump: $ ./hwprobe_dump Base system ISA: - IMA_FD - C - V Supported extensions: - Zba - Zbb - Zbs - Zbc - Zbkb - Zbkc - Zbkx - Zknd - Zkne - Zknh - Zkt - Zvkned - Zvksh - Zihintntl - Zfa Link: https://github.com/clementleger/hwprobe_dump [1] --- Changes in V2: - Fix typo in first commit title (fatorize->factorize) - Add Zfa support - Fix missing uppercase for Zvkt naming in dt-bindings - Add Conor Acked-by on dt-bindings commits - Add scalar crypto support from Conor/Evan. - Use reporting of bunbled extensions for vector crypto Clément Léger (18): riscv: hwprobe: factorize hwprobe ISA extension reporting riscv: hwprobe: add support for scalar crypto ISA extensions dt-bindings: riscv: add scalar crypto ISA extensions description riscv: add ISA extension parsing for vector crypto extensions riscv: hwprobe: export vector crypto ISA extensions dt-bindings: riscv: add vector crypto ISA extensions description riscv: add ISA extension parsing for Zfh/Zfhmin riscv: hwprobe: export Zfh/Zfhmin ISA extensions dt-bindings: riscv: add Zfh[min] ISA extensions description riscv: add ISA extension parsing for Zihintntl riscv: hwprobe: export Zhintntl ISA extension dt-bindings: riscv: add Zihintntl ISA extension description riscv: add ISA extension parsing for Zvfh[min] riscv: hwprobe: export Zvfh[min] ISA extensions dt-bindings: riscv: add Zvfh[min] ISA extension description riscv: add ISA extension parsing for Zfa riscv: hwprobe: export Zfa ISA extension dt-bindings: riscv: add Zfa ISA extension description Evan Green (1): riscv: add ISA extension parsing for scalar crypto .../devicetree/bindings/riscv/extensions.yaml | 210 ++++++++++++++++++ Documentation/riscv/hwprobe.rst | 81 +++++++ arch/riscv/include/asm/hwcap.h | 33 ++- arch/riscv/include/uapi/asm/hwprobe.h | 26 +++ arch/riscv/kernel/cpufeature.c | 165 ++++++++++++-- arch/riscv/kernel/sys_riscv.c | 64 ++++-- 6 files changed, 543 insertions(+), 36 deletions(-)