From patchwork Tue Nov 14 14:34:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164950 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904110vqg; Tue, 14 Nov 2023 06:36:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IHwXWXmjPaFNazUucCT/BvVnVyB6+DXCk7w6aXcujeFsMys/Z3Bv9ojKAketvuRq/efZz5E X-Received: by 2002:a17:90a:3da1:b0:27d:241a:dd89 with SMTP id i30-20020a17090a3da100b0027d241add89mr9298748pjc.40.1699972608439; Tue, 14 Nov 2023 06:36:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972608; cv=none; d=google.com; s=arc-20160816; b=rJaUq9smDk/thVL75lDyAmuTah52Q3n6MQlG746hyFnFMbP/DMPlFce7pi1sqjqIQx ftwyKtj/qcYQjCfjPmn1D/tRzf0Tc8WoMh3T5Pr9iOHvK7tHO/RXNPAsm+KELvnxU2AW JydIXgpRVl8ztLpFnNfa+7wtPLRnA/HA6vqFwHAThOFvgaU3VV+dh/dMoOORjFUo+sgF ryvajWG2CQM1ySKPn0DfLYBTD+klnYXX10PqoHlrmYP7igJlCyu4D8vVZ8j/XcLTfZyN DuBKTl7rvsrwcb0fG867P2nhBO8eo8qTwpGUUsQ27pvJNc/4q+SHxwoaGttSid7i5w5w XUWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=3Svziqg0RNSZP0wAs8eXp6Xb7jGZ275bBfmZ+S3lLyU=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=0fwqHVKAa+A4DO0TKZoXSOwipomm3Tpn95GbA9zpRH7fqNK8tevIkqQ7T3a1DppZLD KLYcRDdvvcUIdmLTVFr8yILnHLd/U+wZp42C0s7skvQpWM6TXlYmFc3mwhORJ3sAyJPU 2Tc3CYBiTv420Zu4PFC83Mpp2E54ukhIB6HFCJXkt+qlcUO5UIb0IDJeh7GH35cmuYmj SayUCzEOI5QUBf+CuN6g+p30ut90dAsSgOEbtg4KOhbwrfdOAYNRr986RyoS/SwZ2W/w IXgZ8oc41Mvta+FVRTvkuockzyMKV0MgaGxziiUz66YIjai5jKs7SYbF3aadw3rJZQEx ETQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=VkbwHHbz; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id nl8-20020a17090b384800b00277e0d7163asi8830842pjb.32.2023.11.14.06.36.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:36: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=pass header.i=@kernel.org header.s=k20201202 header.b=VkbwHHbz; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 2490F8032C70; Tue, 14 Nov 2023 06:36:35 -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 S233302AbjKNOff (ORCPT + 29 others); Tue, 14 Nov 2023 09:35:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230200AbjKNOf2 (ORCPT ); Tue, 14 Nov 2023 09:35:28 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5916310D for ; Tue, 14 Nov 2023 06:35:25 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8470EC433C9; Tue, 14 Nov 2023 14:35:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972525; bh=7RNGzDmYQmscIH9JLPqJXNwGek+pQVepVhKqfj7iORk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=VkbwHHbz7fjQzXsJP3lTckh1hJCu42SQn+TuyZElCfRdbuIP7gY4OkdM4xXk7XvYh WRE66yFWyBjs3wMwvbD7xK+M7zHB7FnoxOGLBYe2CubLrR68t2RoRr+6cLUhniHIp5 FYEZ0vatiJMXitWnGL6GZ9CWnkJZaNMZbFCDlJmKuj9DIGO50ip6kScIpFlxHIFKG1 VODa7B83QIHM9uLignEw6UmpXTXh0NC1v97EMpqaVt7JD1c+/TBe/QjkHrmDtE8GdC z3pg2I6lUWVtpGaB+AYVnojqobu2BOuie6mE3DYhfa+j3q+aewiJcKes75l0MTkAL5 49Iqlsoce6UoA== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:46 +0000 Subject: [PATCH v2 01/21] arm64/sysreg: Add definition for ID_AA64PFR2_EL1 MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-1-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=956; i=broonie@kernel.org; h=from:subject:message-id; bh=7RNGzDmYQmscIH9JLPqJXNwGek+pQVepVhKqfj7iORk=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WVg2Ikw3iWITXOqCE07VmNrK4zNx+v3EVj0mup tNa37EyJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFlQAKCRAk1otyXVSH0JT9B/ 4o5Zmux0ogG+GcaDp1D5toS82oPts87/6QehL4Q1kQsA5Y9ZLV49ZupmUYCsNcdxzLf578qMJqxTuS UVjC+ZLKBZzWxfw7CpLfwDY4GXrnROS4ViJZgD+4pN9AaJqo9VkCMZ/WjeaAKDMsu0b07jlsQi3e4q f6+qgc/zf9gcNfyRrHnWZOEplu3KiKPGIqEBadPkFqYiB4pDMm2QCWK+fwO4ezIwiPMQMXbXYsyb/N vBo5ro1KZw64ZWUflrcNLeBo+iCcQDtQoqjEP/Xo9dnZVr1D2j2KSCnE7G4NSS0KEDUcW70zYrQKg9 x5vPoFQJ9sPyi42NL66fEryehoPWx/ X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:36:35 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550477448866690 X-GMAIL-MSGID: 1782550477448866690 DDI0601 2023-09 defines a new system register ID_AA64PFR2_EL1 which enumerates FPMR and some new MTE features. Add a definition of this register. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index 96cbeeab4eec..f22ade8f1fa7 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -1002,6 +1002,27 @@ UnsignedEnum 3:0 BT EndEnum EndSysreg +Sysreg ID_AA64PFR2_EL1 3 0 0 4 2 +Res0 63:36 +UnsignedEnum 35:32 FPMR + 0b0000 NI + 0b0001 IMP +EndEnum +Res0 31:12 +UnsignedEnum 11:8 MTEFAR + 0b0000 NI + 0b0001 IMP +EndEnum +UnsignedEnum 7:4 MTESTOREONLY + 0b0000 NI + 0b0001 IMP +EndEnum +UnsignedEnum 3:0 MTEPERM + 0b0000 NI + 0b0001 IMP +EndEnum +EndSysreg + Sysreg ID_AA64ZFR0_EL1 3 0 0 4 4 Res0 63:60 UnsignedEnum 59:56 F64MM From patchwork Tue Nov 14 14:34:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164948 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1903555vqg; Tue, 14 Nov 2023 06:35:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IEjc1dDqHEwEJXwF6NRq+gz5JpUjJIhY67RVW/BUdANLTqVvGnKs0v9XEKmOFYw40IQ+dRK X-Received: by 2002:a05:6a21:7182:b0:186:7842:ad0c with SMTP id wq2-20020a056a21718200b001867842ad0cmr8641891pzb.35.1699972554950; Tue, 14 Nov 2023 06:35:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972554; cv=none; d=google.com; s=arc-20160816; b=kOBRn3/AkC8xxl+3ryazRbwisXTJX9pvHGedYx28RyNhDs8I9USboyyatNzi6paLLj aDU8j7b8dan0S/Nmmp8cMiv0EOdcf1hVt8yOyV/k3iq9GFkhsX02Kas7IM04b2WSZEfM UB8TZ4J6Zv8HW2T0ONXF5uCVHK8bQhux/6VKEWPzJSEA4SBdmy8OxZCX3wx5czkMDk/z /3rpsnieu2oplI4eSxTjsgOmqTFQTL3/ElB6BMQv+Fi/BQaEGw9DUezf6TFtHHtLkrUC 07vshaqxENMoGIOu89zrYs8oigq4XmKt/lzYSkYojbB1N2xhKu+V1f0Nl8pI08CX7brA X4vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=P/ZAgePSZjzatAc42GuEIlP7FTGZmo9Cp7svQMAhfwc=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=WEA8q574vG39JniM5a/Y3Ww3rABanBPNSLPcWH0UAj8zMJn2EFbCxaX5OctUH/1AYa Z9IZmxFlLtsFIkYGxo2oFr9uNxmNt3QiO9ZPbMM+efH8RNf+9INs/vep2CoTrziYcTrR AyiRb3nASMJMpplHEB17jWv72Gb01EGtMR6NNceAjg0yQTdQwF3iASw9rYbSiDCfPudI eMmKaxyoRhSTK4j5rd1g2huxVnvu9vmb+Ge0hjG8RFZJzECGNtldcP1qi1hmhJhqrfBE 9SF9T6KwWiKt5hOEh5Lkw0kT4vg6/Bcqw4FFyirs9rYkvcX/eNqHFKaIG95GfCBoPiaP Ji6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Nyo4/1Oj"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id cm19-20020a056a020a1300b005b92a7d88e6si8351775pgb.823.2023.11.14.06.35.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:35:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Nyo4/1Oj"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id A47C080D6E7D; Tue, 14 Nov 2023 06:35:47 -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 S233342AbjKNOfj (ORCPT + 29 others); Tue, 14 Nov 2023 09:35:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59578 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233375AbjKNOfe (ORCPT ); Tue, 14 Nov 2023 09:35:34 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 44503D4D for ; Tue, 14 Nov 2023 06:35:30 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AADBDC433CA; Tue, 14 Nov 2023 14:35:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972529; bh=yGEIdovBwYeKe84KQvqQuF6UfRvXTIIewONLZW3lJjY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Nyo4/1Oj6myZfkVLxGcOgXOPbAoI7MtHCdrprtGGcg9eSTOSEdWEkOqZolN8GkkPz DqqjYZdrDCLWf+OpGqqmBVIisSxFS5ZrGhQf3iY1oEVHhEyMhShf3MilpnRvvu8cxC viytEumqXX0oIa66PqMQ6NKZk8q1LrRQFtP3YEmUAOZfzAFeONpWwqqvvWnECB5tSU zloa04j0bloxne7oXpfvuwoeeUYyY5UAVclSKOyy6V9tpJMET2G3csP0dgB8dnV9Q1 498GyuOXpgEcwxonzDzW2MtRWIobYGRy5DasU12BCBkqrjXbSWRF++TgVhUN2vwKNn qJkYuJ6y1ZxzA== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:47 +0000 Subject: [PATCH v2 02/21] arm64/sysreg: Update ID_AA64ISAR2_EL1 defintion for DDI0601 2023-09 MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-2-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1340; i=broonie@kernel.org; h=from:subject:message-id; bh=yGEIdovBwYeKe84KQvqQuF6UfRvXTIIewONLZW3lJjY=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WWJyAT1EajJpXBXpEaS53OUF2hv6b0h7gWKmIO 8kBVEz+JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFlgAKCRAk1otyXVSH0KsLB/ wNkHc/y+KAanpOQXfWvRli4Zn0MC/CzlXWZAvxItFPIaXxZJ5ryll61hoVQuZG94LJuKMgUY1cG4Lb vpafHI7zqmVuiW5okwEzEVpZVIyFHqqQBYLqJqjpYBkd1/PW1c3nGdpFqqLaoLdSBLiQmLIV+f+le4 NyuV3biiM6OC8cNxteh8skwVQdHBURItpQiAW7jmvctFJVuUPXXGYQai+Bdizx/kbCcfpJ4z0Qkzd3 r6qGtPmfGc0KhCWSsUEpEZ82Y6d3B3iBKVXiG47WepTEYqkY/6yuYaGK9JcufvnBVN87ToMQn5yqCV hkL4oxC5cJmVIeru1AzdyXhC5EAKeR X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 06:35:47 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550421918057779 X-GMAIL-MSGID: 1782550421918057779 DDI0601 2023-09 defines some new fields in previously RES0 space in ID_AA64ISAR2_EL1, together with one new enum value. Update the system register definition to reflect this. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index f22ade8f1fa7..27d79644e1a0 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -1365,7 +1365,14 @@ EndEnum EndSysreg Sysreg ID_AA64ISAR2_EL1 3 0 0 6 2 -Res0 63:56 +UnsignedEnum 63:60 ATS1A + 0b0000 NI + 0b0001 IMP +EndEnum +UnsignedEnum 59:56 LUT + 0b0000 NI + 0b0001 IMP +EndEnum UnsignedEnum 55:52 CSSC 0b0000 NI 0b0001 IMP @@ -1374,7 +1381,19 @@ UnsignedEnum 51:48 RPRFM 0b0000 NI 0b0001 IMP EndEnum -Res0 47:32 +Res0 47:44 +UnsignedEnum 43:40 PRFMSLC + 0b0000 NI + 0b0001 IMP +EndEnum +UnsignedEnum 39:36 SYSINSTR_128 + 0b0000 NI + 0b0001 IMP +EndEnum +UnsignedEnum 35:32 SYSREG_128 + 0b0000 NI + 0b0001 IMP +EndEnum UnsignedEnum 31:28 CLRBHB 0b0000 NI 0b0001 IMP @@ -1398,6 +1417,7 @@ UnsignedEnum 15:12 APA3 0b0011 PAuth2 0b0100 FPAC 0b0101 FPACCOMBINE + 0b0110 PAUTH_LR EndEnum UnsignedEnum 11:8 GPA3 0b0000 NI From patchwork Tue Nov 14 14:34:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164953 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904358vqg; Tue, 14 Nov 2023 06:37:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IGAmRVhRXup4Vts38HJ2IdSIKi0kxrKtEh4mxMyiDD/3hhcFVT3EtAps9dG5wyOr10Z+Vur X-Received: by 2002:a05:6a20:748b:b0:185:d125:ea70 with SMTP id p11-20020a056a20748b00b00185d125ea70mr3671338pzd.19.1699972631987; Tue, 14 Nov 2023 06:37:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972631; cv=none; d=google.com; s=arc-20160816; b=Bd4DlU9L15bljvApPmT2FsxaqQEWg0wAdyTygPtbWd7SofMMShFSshvEPXiGmUdNZc rGUWG813nRTkssPwFBlb46hZ37mUF1WIjh7BZ+2AGU5q1tcjGgQ6OZAK+jkt3u52fPlq pBd7UxPfH074cKrlD+ughQvXAZyPc37ZfPwI+ISqVKq21a6+niHz+dLYtAPMS09xWwEC ceR+PXJUGUn0sqjs1WgxgYkZEg05xN556QuBaJPf+FNHtbHWKArSmUUdT5Fr1AZ/x5uM fNi0gQV0TqEORkQaVZ9BAo/PVlKghtPy/k1lu1dIlEyIHhYzcZZzUb3PXvYtasi9uJqI AWfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=Zyd70WfEIH321GtQKdgVOiR2Fl/2K4o2LEoLGF8jHwk=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=uJSECq9ITXqSKxLB7Y0fHoIoi7ACa9qG7wDAsafFl3ZF9lgbhhDugUzSn1WuZpwNvq KTD+VhK+89T/yJr4NAqdS6TaGs6qGalohovomaRqmLC0cTVS59126lKZzVldDODF0mH8 YS+nWAYQbdGBP+gZu1F+uHe9HDWhMEzb7eHMtwWF+EakxxmKQdhdibQeuBQfxbknYedH UpJJDqzXvagmRAVvUTinkczeWKfH3zcGDwcLJCVfk1JK3AtVytvL2by/XEdreKC2Znw6 Q+O6hf2FViL8Bl/5YQkIkxAwPYr9+zTcZ2ohuabgMHgfHTTQ7mb1RBU1fKBocs/NNxWu +nDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="gk927/WR"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id bw6-20020a056a02048600b0057877ee7d78si9097705pgb.575.2023.11.14.06.37.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:37:11 -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=pass header.i=@kernel.org header.s=k20201202 header.b="gk927/WR"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 9FFEC80275A4; Tue, 14 Nov 2023 06:36:51 -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 S233397AbjKNOfm (ORCPT + 29 others); Tue, 14 Nov 2023 09:35:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59646 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233297AbjKNOfh (ORCPT ); Tue, 14 Nov 2023 09:35:37 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CBA32D43 for ; Tue, 14 Nov 2023 06:35:33 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9713EC4339A; Tue, 14 Nov 2023 14:35:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972533; bh=S3NMLYQ19RrEAdoy2+4KbBwGNVT5MhUVc+1BjCfl9/g=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=gk927/WR5EyKxYCh+Pc9WZW0pJpXPTAJ7h7INrAFmYKpNzXy0QaHuBCJilMqIjnQH Mn38NuP2LsD8pE/xmAvQMSmPP/n40W1kC7o+31ydbHesOG0BvKPuJCKdGiN3hDOlFk w/8r4X/DZsKSPqCPrC6ZaEEM/PVazUEs+YQ+lvaoRZU8/Ib8plBvg1BZ/XItd9oVFi urzu1sja8QR0rr5VLNfpp5GpGjOEAhMERKLWzlZsFaFL2EVki4xByb/OHL9ClpIG5W 7BzgpRIgqqnWfWVOgjwVc0kz/wWtEQA9oM6IIqf6AN+CEB3JjKbe0D1OJIWcbKHB3M GlGMqsCj9+NYQ== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:48 +0000 Subject: [PATCH v2 03/21] arm64/sysreg: Add definition for ID_AA64ISAR3_EL1 MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-3-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=883; i=broonie@kernel.org; h=from:subject:message-id; bh=S3NMLYQ19RrEAdoy2+4KbBwGNVT5MhUVc+1BjCfl9/g=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WXRWQJV7DkDAe3fM6c5JrXAGS3X/FV5KJmVmk8 a11Rw7qJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFlwAKCRAk1otyXVSH0H8nB/ 49tuCQSBSQtsxS5e0Rae5UXUeHeRSH/3KyXZ7fGq/3lRCdroUjdR7AG1aRnH2tJs+foAMLSM4z6Bkl bbRabcc01HyPjbI5fWZJR0I49QlvtwEb8fqySdTry88YbC3YpY15VB7S6+RWfxb+bGLiGl8yIdAQGf IO2nL9IqH0Uo8i6sq7KbukZPPjvz1vM9BJo5nonurtVtqWND4ASkbYN7Mgwcgxd6roGQrpLvhq4Uo/ eHMdExTsADgJ4+q0jDalXGEQTF4WeyjvS0GMS4UJl6SWyZecI9i+MA/GD1bXF/4dX5Ds8y4mpL2+tO T3gVstZITu1RNs6EpUzDcpsApht+oD X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:36:51 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550502475953347 X-GMAIL-MSGID: 1782550502475953347 DDI0601 2023-09 adds a new system register ID_AA64ISAR3_EL1 enumerating new floating point and TLB invalidation features. Add a defintion for it. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index 27d79644e1a0..3d623a04934c 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -1433,6 +1433,23 @@ UnsignedEnum 3:0 WFxT EndEnum EndSysreg +Sysreg ID_AA64ISAR3_EL1 3 0 0 6 3 +Res0 63:12 +UnsignedEnum 11:8 TLBIW + 0b0000 NI + 0b0001 IMP +EndEnum +UnsignedEnum 7:4 FAMINMAX + 0b0000 NI + 0b0001 IMP +EndEnum +UnsignedEnum 3:0 CPA + 0b0000 NI + 0b0001 IMP + 0b0010 CPA2 +EndEnum +EndSysreg + Sysreg ID_AA64MMFR0_EL1 3 0 0 7 0 UnsignedEnum 63:60 ECV 0b0000 NI From patchwork Tue Nov 14 14:34:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164951 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904225vqg; Tue, 14 Nov 2023 06:36:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IHTSAZJX0ZE/gWqvTWWUKwSbdeGC75WgZrKmhEPhIi2FShDMILgFNY90Mmwch3T//ZGq5mO X-Received: by 2002:a17:902:aa01:b0:1cc:5f51:b1e5 with SMTP id be1-20020a170902aa0100b001cc5f51b1e5mr2359943plb.12.1699972618810; Tue, 14 Nov 2023 06:36:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972618; cv=none; d=google.com; s=arc-20160816; b=LsWsR2EFXqXPhW/C4JttUM8EXGpRYbOPxzwqv0x8FmtYajEp/ijCan0icyF/eNUBjQ Whm0FidzWmwq+C646C52jd0FOu2M7f+xPIlonA1vVtPeJMrajefePx13Q2ls3jbtQGGB 6afbWnPMVw7uc3TRcgovSraCgcvNtLAnBp5G/2xjfD/2wpq9GS+VupXmu/LgVUFzuV8b BjybJrWccdqT64e4+l3oNUIUYLEv0R0E6OKGzcGWM4ZAW/xuiOTElh+HrBHYKzFX11kp X/YuUBshivEloVJBxG02ox/LtXsIByi8UbGKtNmFIIMSCKD3G0hgbHCWYBEwUgaPWdyz htGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=v2clKWjyfUigKsWAcXie8goEB1m7BMiCZcMcBgsB0O4=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=yrl/FoxT+vpv16tuEqYfwF7qTJhpcfaPV8i+fQ8W76gricENhTMm3WdXRTkTqNimvN arhW4QI/xOrJPCemdTZE7Im6YHEDsMNovapsiqZ0/jrOUK4jny3/5vpB/qJP03EvaRoc AjWCKYQo9TNa5FmHA3jOWilvHY19KZi+TxaxU1nFIBio1ar/piQPfpU2p1x/UCZCFpXJ YTAKOcBbeU0W7UFAucBxELsGbL5DnfJxzx4iHAhyedWFoUedw6zDzV0f+4I15EoVEbNE 6mz5mt4/vDzMTWb7kadynaI7/o096urvXlp25mlR7FtwzN6Y9MkgTCj8rSyGv6Vb/ytX lzAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=bFW3jGGr; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id jc11-20020a17090325cb00b001c589ba4a04si7707872plb.24.2023.11.14.06.36.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:36:58 -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=pass header.i=@kernel.org header.s=k20201202 header.b=bFW3jGGr; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 4D0EF80310D8; Tue, 14 Nov 2023 06:36:46 -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 S233437AbjKNOfq (ORCPT + 29 others); Tue, 14 Nov 2023 09:35:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233325AbjKNOfm (ORCPT ); Tue, 14 Nov 2023 09:35:42 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 089B61A5 for ; Tue, 14 Nov 2023 06:35:37 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DFD53C43395; Tue, 14 Nov 2023 14:35:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972536; bh=9pvl6RJ+p+9jph69b/rCGpkJ7MZ4wRu40V+N9vMPcAQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bFW3jGGrX99CyL0qi9olo9EfX11xLdNZ9fEu7dCGbEJmzqnccxQWBJEZbfo6agP0U 1I/GDBwNS4TB59trVs5rlIyYAfXqf6681CuPfrXp20aozLma9Le2XoOhaMzLVdkKct Gkc+Voik1z209A38TYuU0N/c1TZbt/4X+qHSFo81fNrVhwHT5oH+xxbvuB+BPJEnYJ 4ZROoyNgXVZj61JbkKJtFYHSKSYUDQDBKKM/zRlnp10WCiPePmKNaVR8GKriMakDI9 rv+gY2Pq2Bqj5DZ2P153940soaIGbiZX3PfamGCa/aewAngYi4hwD22tOvRC3ycnZ1 UewPB5cADvHnA== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:49 +0000 Subject: [PATCH v2 04/21] arm64/sysreg: Add definition for ID_AA64FPFR0_EL1 MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-4-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1020; i=broonie@kernel.org; h=from:subject:message-id; bh=9pvl6RJ+p+9jph69b/rCGpkJ7MZ4wRu40V+N9vMPcAQ=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WXI0i29C4AWZW/YdvOD1Lh7Tx09sVecB9ewLYw +MdTa+WJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFlwAKCRAk1otyXVSH0AOSB/ 9bMf1Cmxor0PH3zuV67Z5stn5fPhpnE6Hbzy2PO6/Cf+idns/JP6EScwnEM1CadFTBeTA+mGZbzElI 5fnvqB0PE6JyNrmHnJgoHvOFge30QTpfQ8ZcsVBzS8mMSeuLp3jbs770uB7olgd+8FcnFfOry86/wp ZoRcFrP0mKXG/E3t1vxfTVqogS+rXEYWLH4i8AihyT+Iqt1OqrvsarSOrg8GqWBwOghwCMTtW3UPMG gaOY/mkL0FKJx+STQ+TzdGefd+nAtcRLVdCKuNdaKSE7LDJWtcYynryXPCswotihzmXQiLW4rbdYx6 jLAYSF4xsyEmAU+G2Se/Zv/JR27DZt X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:36:46 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550489098388992 X-GMAIL-MSGID: 1782550489098388992 DDI0601 2023-09 defines a new feature register ID_AA64FPFR0_EL1 which enumerates a number of FP8 related features. Add a definition for it. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index 3d623a04934c..c9bb49d0ea03 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -1131,6 +1131,35 @@ EndEnum Res0 31:0 EndSysreg +Sysreg ID_AA64FPFR0_EL1 3 0 0 4 7 +Res0 63:32 +UnsignedEnum 31 F8CVT + 0b0 NI + 0b1 IMP +EndEnum +UnsignedEnum 30 F8FMA + 0b0 NI + 0b1 IMP +EndEnum +UnsignedEnum 29 F8DP4 + 0b0 NI + 0b1 IMP +EndEnum +UnsignedEnum 28 F8DP2 + 0b0 NI + 0b1 IMP +EndEnum +Res0 27:2 +UnsignedEnum 1 F8E4M3 + 0b0 NI + 0b1 IMP +EndEnum +UnsignedEnum 0 F8E5M2 + 0b0 NI + 0b1 IMP +EndEnum +EndSysreg + Sysreg ID_AA64DFR0_EL1 3 0 0 5 0 Enum 63:60 HPMN0 0b0000 UNPREDICTABLE From patchwork Tue Nov 14 14:34:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164949 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1903924vqg; Tue, 14 Nov 2023 06:36:32 -0800 (PST) X-Google-Smtp-Source: AGHT+IHxGktUi6lwzuIRdLFcyp/X0H2aSqZcouzwbEL2U/2p3EZNIybkyGgcqqAyy8KqkNjQsH5x X-Received: by 2002:a05:6a20:729e:b0:186:7ac3:41c8 with SMTP id o30-20020a056a20729e00b001867ac341c8mr5728412pzk.56.1699972592111; Tue, 14 Nov 2023 06:36:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972592; cv=none; d=google.com; s=arc-20160816; b=yB2we8T5U8vlzYTzO4I6tnWRC2SByn2UB+V68B0P/CvL1725FzOFlRHOUPMEyrAz7S kDPOkSu/MN9rkieqq+xM1V5d8QamFOAazJSfBNc2kxZ94R1MR72XexIz4vOt6cKP4/BB hx0l5xpe3S4W6WgdSOrE13kjwSdjMIGgNcsaHm/6OzxFn0IcvQ6tsIjdl+jHjq5Satw0 HRvj9j+I6FoA2b+ltO5pWNpdwzpo9HpLcF0/WX2ecIKxf7bXn14fSvrxQ62PGlxEQVbE scTWvzrcjBSrU14d+7VmWQ6M5UjX+Gshv9UiOrl0QhaPOX3h4n1KB1+lSO9Yt98YP82W hn8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=xYicHry5rzH7DSxEqQu+vuGw8k5q+gQXDEia4NGtdjI=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=nucWcnGLrwqAyjFDj9LSzxhJoauRbgR0rhtsWCuAwbm7jTkMPKxOUMu7av55WR4qZJ ZnXNRrzsbLMf6+bomJpbmv8dbWIYdQZAyjrea5nPfkCSeIeP+NWiQmrur+EWQpwMgnHq iDL1c60WJ+LgonilpXFN7FMy5dJbg6KH4M9HpPaYwKSyOFcsrwrAFYIQwoMwTfm/zWX1 v5culr340WwFWSg2aR/SRQmuLcwmb3gKoZ3gblOp8qDQyqa/9ohivAi3nWU1Qs4vPT9s PzAlX8tFAWi+6MpYON33fzBZjhrWuVLVuhVkvACgM46+YZo+F81c+Gffp5MhOm7/RGRk 4xnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PnSStsPA; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id y70-20020a638a49000000b005ad11a5ac8fsi7799952pgd.323.2023.11.14.06.36.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:36:32 -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=pass header.i=@kernel.org header.s=k20201202 header.b=PnSStsPA; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 7598580310D8; Tue, 14 Nov 2023 06:36:15 -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 S233462AbjKNOfz (ORCPT + 29 others); Tue, 14 Nov 2023 09:35:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233395AbjKNOfo (ORCPT ); Tue, 14 Nov 2023 09:35:44 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2BB14D56 for ; Tue, 14 Nov 2023 06:35:40 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 187CFC433CD; Tue, 14 Nov 2023 14:35:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972539; bh=W6NILgEt2d5dF4rtCICDrMO+KDYmPRbi2cIO83aqtdM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=PnSStsPA2cgYrHi5FDsSH3S/3kGThJYhLVmpsngs3QYTxoITH/VpGSrTqbT3J422j h7k9W390Tcn5dTFar3Qc7SCDSLtggHuivb9tjLyI8BD8AdeSACjKEpKyv4hak4SREA cY8JmL1/xDU8uoIY1BaozTDj87focnidxQu+yUNG2jXbAOn7l1pCBzXdsYazKCARdO 3hnun6V+sR+Zk74uCy77rhPHK2aaW0NW02wsxtg/T8kzt/FpsnVAZFDlzzZL+6Eb5Q JxVpoolHbjnx++pG9Om2QzqdUchzjLY3Y2H9nIIbub0PC0aYE+fi4XwA+Kkk+ONwfq jSPtmjbO1N3Cg== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:50 +0000 Subject: [PATCH v2 05/21] arm64/sysreg: Update ID_AA64SMFR0_EL1 definition for DDI0601 2023-09 MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-5-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1275; i=broonie@kernel.org; h=from:subject:message-id; bh=W6NILgEt2d5dF4rtCICDrMO+KDYmPRbi2cIO83aqtdM=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WY4LJ3zW0Njv0NlTJy7v8HYTzo6HIUyrg3DyeQ +CAvzPiJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFmAAKCRAk1otyXVSH0FIVB/ 9BIqFDzBtxuWhtbQOuFi6+eNGWMJx4iMowyvGz63y8VgUS9cZeux0IVqrLoDcwMbrm+1DwQAdfacr6 789/QCJQanP9LK/vkGPuFI402nyKT4M2KuDn5a3uGINMNOx0RAWSzlPZClTPhF7khd5kNjEtCwLfrV TmJY7+Ws21dMvU06SO5WEThROgwMkxm5wikcV2ZftSfDGMCe81g5hfHcxPfpFPdhu02DnESnta7GpX 2kD/rvYklk/0x3fzupXEzIxqbyd+J6tlub1BZoPcRPzW1AFJRtJjuIbAhaoXT6cVm06QfmreQjqnOm lFO9XIGGDykqZhFjgkM3hRal3cBxpG X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:36:15 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550460369587641 X-GMAIL-MSGID: 1782550460369587641 The 2023-09 release of DDI0601 defines a number of new feature enumeration fields in ID_AA64SMFR0_EL1. Add these fields. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index c9bb49d0ea03..aee9ab4087c1 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -1079,7 +1079,11 @@ UnsignedEnum 63 FA64 0b0 NI 0b1 IMP EndEnum -Res0 62:60 +Res0 62:61 +UnsignedEnum 60 LUTv2 + 0b0 NI + 0b1 IMP +EndEnum UnsignedEnum 59:56 SMEver 0b0000 SME 0b0001 SME2 @@ -1107,7 +1111,14 @@ UnsignedEnum 42 F16F16 0b0 NI 0b1 IMP EndEnum -Res0 41:40 +UnsignedEnum 41 F8F16 + 0b0 NI + 0b1 IMP +EndEnum +UnsignedEnum 40 F8F32 + 0b0 NI + 0b1 IMP +EndEnum UnsignedEnum 39:36 I8I32 0b0000 NI 0b1111 IMP @@ -1128,7 +1139,20 @@ UnsignedEnum 32 F32F32 0b0 NI 0b1 IMP EndEnum -Res0 31:0 +Res0 31 +UnsignedEnum 30 SF8FMA + 0b0 NI + 0b1 IMP +EndEnum +UnsignedEnum 29 SF8DP4 + 0b0 NI + 0b1 IMP +EndEnum +UnsignedEnum 28 SF8DP2 + 0b0 NI + 0b1 IMP +EndEnum +Res0 27:0 EndSysreg Sysreg ID_AA64FPFR0_EL1 3 0 0 4 7 From patchwork Tue Nov 14 14:34:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164960 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904848vqg; Tue, 14 Nov 2023 06:38:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IF3cWLrcrMpTugUKUn4DWXM53ft6xiwF4bVzIsRv/8hWXD01Xt6WTmADwlRP9i10YdvoPaC X-Received: by 2002:a17:902:d4cd:b0:1c9:ea71:8032 with SMTP id o13-20020a170902d4cd00b001c9ea718032mr2380886plg.31.1699972682035; Tue, 14 Nov 2023 06:38:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972682; cv=none; d=google.com; s=arc-20160816; b=YNhttYqtn9cLTgko0C65QHgSirrtIhkGVQxyq2SJs9QcqM7zMQcGweCCY2MM6N+wrY UwhPgWkzwRNIjEtuFlDwONndxoA/X4r+Aw3hRgRFF0F+QT+gs4PBbiFcVxMpumntEMjm vhBQOHr1LPedBMO/xOvJcW8rUjpqQWPDxR8fz78OYV+ktKp64iKqzpzjZmd/YkDb9upC MuhHews0i4zxc0uMeYPP6c92hVddJsaKx13v1En+DfQ1lvGcdFu/TbmhV8oFKZhnN9qz ymNmVKo/QpnNeR+JrJnCIru3l+nxx3yDEoZ+89emAQs/gl72OkLZWSsQl70O0ffGRLLe oVQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=F65Y+s+S9wz7t6J9BW3QaVwpO2HU75EudwQ0bNMpbmw=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=dCG/stpJFhlazaVxOe3gTx7DMB7iF4159YHmt1fhsnEYA36hJhd8bU6mfZwEh81+vF 9nvNsg6+8B6VW93SJdGD3q4zsft6/mhQ0WBRxxvl8ZGJk5u+nBovW4v3Np1uSBuJBJbO E88V+hcLjlR5sMBZKYY3Kh3+lKkyPa3RIONBKRgsYySWTUbCGn+uXR2VY1XBR3u0m9MO vD7u62G1j1zwzX248L+07AnAKT6GrGAZbU+LDat0axlV6aLrEV1vN8MpdzRvN31cZplH zmfkeoO64td9eNpnttFIvuFPqNNyGfdTAIu9AOkwXFQEjZvp1DLUOdW91hdKRd83VyVE Hj4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=F2qsC+hY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id z11-20020a1709027e8b00b001bc5a4f56fcsi7651505pla.554.2023.11.14.06.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=F2qsC+hY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 001DA80775A0; Tue, 14 Nov 2023 06:36:13 -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 S233506AbjKNOgI (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54016 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233452AbjKNOfw (ORCPT ); Tue, 14 Nov 2023 09:35:52 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78E9F10CE for ; Tue, 14 Nov 2023 06:35:43 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F851C433CA; Tue, 14 Nov 2023 14:35:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972542; bh=tnXYFwh5n0qNcsRXurtqbaVARrY3vmLHqYkv+SC46VU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=F2qsC+hYRzp+zkl0cu+7wANu/Kg6DJ2+Osfeb6Y+ZhcNB6ONN5g2kBsYqSheH3/dZ rBh1J3R7SgBi6FZqPVGP6hrdc7d+pp2ERrMxqAnYaTRxWJ+cqmIwTN3Ric5QDaRjWR 142cPWHrRfwVVbwl3bG6byEhgC0ZItoVBjQAdvzym/WfyieIcDENl4eGbbRq6GsY9j SJwuNdrX0Irs9KAXol/8m6x+JN0mJQd5BzYxQcuit4DK6Vo7DWJX+IVE3rGA8U6Bvl oVWGN3SJheOAfGXuvQjEDNS1dcWzsEAqI0CsbleL8PRFMUDQVi3NSPi3vkv3ZY3FUR hijiL1ASziW5g== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:51 +0000 Subject: [PATCH v2 06/21] arm64/sysreg: Update SCTLR_EL1 for DDI0601 2023-09 MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-6-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=817; i=broonie@kernel.org; h=from:subject:message-id; bh=tnXYFwh5n0qNcsRXurtqbaVARrY3vmLHqYkv+SC46VU=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WZQLjjlJnDG6sLMYbbDE8khFwcKUOr3r1xSwhg Tn3j2uGJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFmQAKCRAk1otyXVSH0HacB/ 4tdRseQb8KW8QSZ53F1aeLRN6HJJXEqHZvfffd8e9793kNW1hft7Gk05vbS3TkhjaVk3cqcb9F8PzB RpAb6DOkvap2BBdh2gkIHqEBbZe+Pcr9Xrzj5N9eEO5eoDBBPDuDSaNPAISwM13AaibLrXJv8wxaFP hPBMG6G7WWvnC1jOTJnnl5Ae3WSYfzkKIsRnaRjK4vOxgNNGQajMYUqWv7p52pH9q2HESPzgkaGKBC MFhC+vLmO/zZuDCRL6tEuwE3BqvYwgpRBxV4RN1dGwUTHNEhDf51tRnbFnVZV6DUJyC9rW/LITIxQx hjUJSZY1PbZiioeGwZ/+8yC8OPxMn8 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 06:36:14 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550554981921910 X-GMAIL-MSGID: 1782550554981921910 DDI0601 2023-09 defines some new fields in SCTLR_EL1 controlling new MTE and floating point features. Update our sysreg definition to reflect these. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index aee9ab4087c1..eea69bb48fa7 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -1791,7 +1791,8 @@ Field 63 TIDCP Field 62 SPINTMASK Field 61 NMI Field 60 EnTP2 -Res0 59:58 +Field 59 TCSO +Field 58 TCSO0 Field 57 EPAN Field 56 EnALS Field 55 EnAS0 @@ -1820,7 +1821,7 @@ EndEnum Field 37 ITFSB Field 36 BT1 Field 35 BT0 -Res0 34 +Field 34 EnFPM Field 33 MSCEn Field 32 CMOW Field 31 EnIA From patchwork Tue Nov 14 14:34:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164963 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904869vqg; Tue, 14 Nov 2023 06:38:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IG7euk75hN0XyM0Tw33UlIW5Asc/rz8lCv1ANwP4TZAzPms1BfL2Yfm0NVwVno2ZCu3LlRJ X-Received: by 2002:a05:6a21:3389:b0:16b:afc2:3b68 with SMTP id yy9-20020a056a21338900b0016bafc23b68mr12378206pzb.25.1699972683828; Tue, 14 Nov 2023 06:38:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972683; cv=none; d=google.com; s=arc-20160816; b=qZeDavePs6Tw4FYZT+KXDxaTR9HDvKU16XYHfok/81Wt1CVLg1MK3ciVTw0CIAJzFL FyVT+tSCR7QDXM2/q4ws3CXHuk5TT+WfFrJgZYlRHd067fP1gFpLCb/UkA6Dkmv01KJG YMm7mnGjEUsgJUbsIeHeatNCPSZtDvXJCI7dbTIiO1Iab7Qhqp44hdbncFCsdojk2pxJ SVyBt1KgsyxMOM25tKZiXp4c3lvvZN+WTyJSNlLzlHyw0zWLX5mCG1oECU2U50JhY+Vn nSAtLgNcL4nhJ+z2T2FWkMqjsamoqoVCis4nsbn4hi1hGHABdRQk2DFuU19aNHKbD3gh BKhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=Buh6wzTfna1hPAP9x2omLDr9sqyKOH7zyVl/NLOxwbk=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=m7yBGQWvoaXbrSLhjp9KrYbLKxvTugUYAjq0PI6vgXu5Vikqn7wDywTxJJpMdzpt67 gLqmlpb3JgezxKG/RC+zxmtRZ3xQX0hbYzTo7L9/BnCwMueXkd6SZ7ADKpD5NEM1pRjj 21x5OfnOAYxrNBQRKoTEvdPrHuJUtDTegpc8YJiPvu/Sd5OBO8Hjcp9xdTkrAFJowue4 6kkkCEk6XsHJLPAZ1hgoQIljvWURqtoSxFzQTgzasKO0okPLhFUWiI3dGm04DWx0/ww+ mFT67j5xLhuJGgudq8X+jtseiZXWYcGmpQEPt+ZpIhKBAzZqI7KijNRejr6kdr30/brd xlrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=AmlkUwAW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id h16-20020a056a00231000b006bf317c9397si8417163pfh.244.2023.11.14.06.38.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=AmlkUwAW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 60DBE80A1863; Tue, 14 Nov 2023 06:36:34 -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 S233586AbjKNOgN (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233427AbjKNOfy (ORCPT ); Tue, 14 Nov 2023 09:35:54 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F46E1732 for ; Tue, 14 Nov 2023 06:35:46 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64E02C433B7; Tue, 14 Nov 2023 14:35:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972546; bh=BQwIlG0oOgH2zbKU3AwqILoaXU3JMfSvJqswNhTlD0w=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=AmlkUwAWO2XqB5Mupah1fuEkJfhJfVXANP0fSOIWheOkkVyEjYgz9j3yvniTaEqo4 Ry/qFI+imv6qgGXpOBByNfMkimEZKWOhV3FsiuTfmz5th39laHGXiEr2oVZw+e15vS EtZ26tvBObAmimNESFpf86DUkEiNBu0yN4EUnUTJ2f+ruHKJSCUH5px2P6xwl10VyY GavVQiOgexaYYyA7A4mgnR1FO8y8usaViy6rShuWdbth9CqRate8QOQjPMpp8l6fKj tXEJ3H/I2loXBwCWGEmSxjZEf1j3aKquS7WnOX7QXEfgoZRPj8NwMeYQIKRmXmvhez SwKH5B7uYA/gA== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:52 +0000 Subject: [PATCH v2 07/21] arm64/sysreg: Update HCRX_EL2 definition for DDI0601 2023-09 MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-7-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=666; i=broonie@kernel.org; h=from:subject:message-id; bh=BQwIlG0oOgH2zbKU3AwqILoaXU3JMfSvJqswNhTlD0w=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WaHe/+M/b5X9jP1rg5p8morKdu1D8EE6Ahjim2 yAvg02yJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFmgAKCRAk1otyXVSH0J+2B/ 40ib/oULdd/d9oZVEuawOWDa+pD4lu3zatx1xVBQOmZy4xvOcIiLzhjp8vhx2C7aLHPkRYpIm9t0n0 TCcHEMnJdWHJTLn6ovctmFh9B3ERG4KJ3n9ZkB2UTnMfxe7VGSFsVu4H7i3r0kmwIXzrqAQbxuis5E acPfNP0zEi+QM7eIrsTYq5TgIel0icPITsGchgTknOC89jSdgJ5xQHwlBGgbaaxUxLSPxMONxajjDR gRTbVr+wEkvkQ0HaFv7Ef7qQP+U1KvsRmaZGQTNEYa6Vdz++KvgMUO11ClQkFvs3jUsRhUYcgTKj0m LnS+mw+o0eDK+3veaphPvBhj2vW4Lf X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 06:36:34 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550557119528503 X-GMAIL-MSGID: 1782550557119528503 DDI0601 2023-09 defines new fields in HCRX_EL2 controlling access to new system registers, update our definition of HCRX_EL2 to reflect this. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index eea69bb48fa7..0b1a33a77074 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -2412,7 +2412,9 @@ Fields ZCR_ELx EndSysreg Sysreg HCRX_EL2 3 4 1 2 2 -Res0 63:23 +Res0 63:25 +Field 24 PACMEn +Field 23 EnFPM Field 22 GCSEn Field 21 EnIDCP128 Field 20 EnSDERR From patchwork Tue Nov 14 14:34:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164962 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904865vqg; Tue, 14 Nov 2023 06:38:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IER8VptvIbzFBkswhVbBCe1KRYDYCPmG6QiL3l6hDKnP5wKBseHsqDQoktJzRnMquZI4CxR X-Received: by 2002:a17:90b:1e06:b0:280:a002:be85 with SMTP id pg6-20020a17090b1e0600b00280a002be85mr4031392pjb.20.1699972683429; Tue, 14 Nov 2023 06:38:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972683; cv=none; d=google.com; s=arc-20160816; b=aoOHFHFRLy7dhz3tAd5SpMwz8UMTlaszAH9GQncMfFzaYOKSLFZt0Q9UcXJOYqEeLv GqQMe15UDGfLozc3iN6G09DmAvuF4gXgH2kx2bV5Uow6yiP8aDob9ZB2FjA6tvXpUJVv Ylb2AS8hX/7H09yMpLx+gHtw1ljPWxNK/72jMtWlrhADtn/Mqhbs4oIFCCV2xKGiP7lq SRfAHwNvwbyo3pjk9z6arTqJJGx5FaPAyPkdMTJIeYXmZCH8u+qa+Tdexxj29XNQ7iJf 9rblFkx9A5HXQaTwEXdFJgAkz7agvaSIoqU5FopXtjwoRV1DnRwo8zjnsFJ/BzRTM7uc XlxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=w3+aQl35ssEimIoB5m1paAp3DJYpvwqvvGhDqTZDNvA=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=DX9iHDNRa5wjPwYxjkPp48L2h6+ue48V5a4dm0JSwAQY3aNZkznqbe/OEVFtK9V42Z ykXaxJvq3YVmxb+OJoe0Cx/rwhMzpID04QZt116KzJoNmSUkiRf7ClhOesIdE+jkX4z2 UmrxWR+M2Ttiu6WAjxRiX8nfs3I5vzQw4dtF8hUiYrSV/y4lUdlnb02SsYir7aBzVXks ayHpPohS9Qmgze4O2ir23WAfyclK3SaRus0bH97NqVMbqVaz7Nw1Rfq22xjlR52pxT29 KvG8o8GG1B72gcC9FmRm6V0LDPAZR7bwfrecHqaQU43T+OK5BGf1Tk6D2tUe/9mmwEHK mHYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=u8EGpCwP; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id me18-20020a17090b17d200b00280ca0a527fsi13929466pjb.114.2023.11.14.06.38.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:03 -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=pass header.i=@kernel.org header.s=k20201202 header.b=u8EGpCwP; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id A9059809ABCA; Tue, 14 Nov 2023 06:36:32 -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 S233442AbjKNOgX (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54008 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233439AbjKNOgD (ORCPT ); Tue, 14 Nov 2023 09:36:03 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90D61D5D for ; Tue, 14 Nov 2023 06:35:49 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 85FD6C433A9; Tue, 14 Nov 2023 14:35:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972549; bh=TRfwOBP1ct8dRqN5onbbksp9izfKksijyA3SFS57tL8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=u8EGpCwP2YDwTsdhnCuWNRR3ET4cBwlGPOMNDjDi7MyBerlIwMvfr9/Re4WP+Tu2W E3r0tuz9FDWCe5vZRDtnbDwxgtWbVlHa7lriiZOEKRO2bouvvisBzdJ9/1FSIYgS8A nKlvuw1wMHtsutJX74iVJNWv59Angpc0RmjXhL0g9Uem9qclL190adwrdcTzIsLNbS Wf2ANZgx3bCFFKHdKUiga7bbgvbxwa9ZZ7ajEfw2wMTnvxVBtmp20IiwYoo21YJNzO wAKSSEqc09xkvffhauB6TRhdv+aPi/m81q2iBRwZ4iedMGidiu423066hgGRzHapRO 71e5nUyBmf1Gw== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:53 +0000 Subject: [PATCH v2 08/21] arm64/sysreg: Add definition for FPMR MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-8-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=975; i=broonie@kernel.org; h=from:subject:message-id; bh=TRfwOBP1ct8dRqN5onbbksp9izfKksijyA3SFS57tL8=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WbxAeU82L4RUHrAd9Oxy2f0PMZPzQhBtz2zavq mLdMhCOJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFmwAKCRAk1otyXVSH0H1GB/ wPSxydoLDmEph6vxq4HTgSiwCFR5ow+x1m0GsC/hw4ixQz4T6U8KuOY/T5Rl6r9rBYyBegyWmsezp9 qb/bGB2w2sNU0Ixiiq9tUd9X/MaJLWzJ52D4WjQPLEIyRCU9+Mmvvd7CJm/ZKhwtTQ15ZWiyDHfmwu o9RLCcAiwDzmoFwuYD7vJjLGJOtcfJ/dY3G4quJkRPHIbgt3IubEYivPU+5q6pL3SIwUYIaNbRU0KY KFLXbNmJNNJKEx1dEDkGQwnm1osxKtzuhwg9jMtSC+UPqBSAGkLkyHrr7NhcGh/KrFqCGqNiA+F4ZX NbONDrwLeCffjD/8nRdaIrn19O5O3h X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 06:36:32 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550556489315076 X-GMAIL-MSGID: 1782550556489315076 DDI0601 2023-09 defines a new sysrem register FPMR (Floating Point Mode Register) which configures the new FP8 features. Add a definition of this register. Signed-off-by: Mark Brown --- arch/arm64/tools/sysreg | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg index 0b1a33a77074..67173576115a 100644 --- a/arch/arm64/tools/sysreg +++ b/arch/arm64/tools/sysreg @@ -2138,6 +2138,29 @@ Field 1 ZA Field 0 SM EndSysreg +Sysreg FPMR 3 3 4 4 2 +Res0 63:38 +Field 37:32 LSCALE2 +Field 31:24 NSCALE +Res0 23 +Field 22:16 LSCALE +Field 15 OSC +Field 14 OSM +Res0 13:9 +UnsignedEnum 8:6 F8D + 0b000 E5M2 + 0b001 E4M3 +EndEnum +UnsignedEnum 5:3 F8S2 + 0b000 E5M2 + 0b001 E4M3 +EndEnum +UnsignedEnum 2:0 F8S1 + 0b000 E5M2 + 0b001 E4M3 +EndEnum +EndSysreg + SysregFields HFGxTR_EL2 Field 63 nAMAIR2_EL1 Field 62 nMAIR2_EL1 From patchwork Tue Nov 14 14:34:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164965 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904881vqg; Tue, 14 Nov 2023 06:38:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IFUfVNhvoKOIdxVtq4M2mhoANl3sSWKicln+OGRsCN1q2bmucu7l/d1Yik1KJaQSadoCoDF X-Received: by 2002:a17:90b:3811:b0:274:616e:3fc4 with SMTP id mq17-20020a17090b381100b00274616e3fc4mr7872427pjb.34.1699972685656; Tue, 14 Nov 2023 06:38:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972685; cv=none; d=google.com; s=arc-20160816; b=c+qvtMRAVcHgVRN+PjB6u/m6Bc9yee7Lxyl6yyslQICDbCdsM5uGPiGnZSysUQsHBe pgqvPckgyAkWLDE4KB38SVtIOwFTnjNlLuhvLYkNAQpQ7jb3mNOAx7EvGP8aqQibflEi cFFxYd9womaUqS4Zk8jPofcNF0/vLmlr2s5kh3jpKAZZqVW4KHEzSo/FVAO7S8EYCVFj IYYd8upiPTdrZJPLle54U6rRDf2tXk+RbRtSxyTRwwbeGKHnOB8EO45OZjOsMqgQrB2W aaCCeP3T5COZK92SZpqcjZOa4E9P64ats2YKgJHGeIUAaORopLnHclOWVUUA8ULhw9Us CBow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=iMtprOqnsJ1+LN/RTprE3HNFxdutgXZyVNHZGN2Gmp0=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=mMDC2ZGF9zreWded0jE5WU9cPmWadjUeMkb8e/KECYXtN2gnjhS6q2HsTFf112KsXQ o5oJJNUi/vngmiFcxUSKzmU0XJKtllTrV3TJkiDTtgLOHHzUdi2DhsXDJpsG8PZd8v8w zvwe1eW8HsPPuO7UAWlAl7Spkqm909DZCGa6lq4vQMegG5Xm4F3Rl0rcDIUwTlozR8Oh if4I0elYyAURC6Kb+KisHOonbJTFtZZurXT/qrLI3eybJmE0eJB1wfY+hhAxOm46B6I+ V2NXU9RJZn6DoBQy4Swxl7l7SFl3kBTM3r7yORv5CtognDp0wH5XeBfcBMwfrqH/yDSW JxOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=F9qS4cNY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id w3-20020a17090a8a0300b002802838d557si12665743pjn.55.2023.11.14.06.38.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=F9qS4cNY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 5B92880C9C88; Tue, 14 Nov 2023 06:36:43 -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 S233567AbjKNOgb (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54074 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233488AbjKNOgG (ORCPT ); Tue, 14 Nov 2023 09:36:06 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C61F8D6B for ; Tue, 14 Nov 2023 06:35:52 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A663BC433B9; Tue, 14 Nov 2023 14:35:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972552; bh=eZaW7Q4M/zzv5URqk5Jj7aBPK/YCTtlJ1HieBEOkpao=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=F9qS4cNYbmzk9CRD6I1kPZKHC55oQxPorNN4MjGLqUUzu4rd9kc34C0K9+ecjB60c 5rmZdt/jC+2Um8aR3019vjqiiXBcxJQ3sYcN07cE8yUR4Lgd21jjmlNsMM0Ccb6qVo 7UQ5UKlycZbLz5QASOR6SPVjI77leds3Q1bHy61jxt2JdIGF7rK7rrd+pA58jSyHFN ROMq4kC+uXUiI7cDdwbLGBE1LgAiK7mV2GY3s/TryAeV45iLjvIBedjO7k2t0SkzXI 7/SgJ4C2ZlmT3xljSKXHNAjI+j2yYFXjmm5S3hy3j3crbU1N4URsQxDktC8o9jBpUk GJyWDYJrx+m7A== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:54 +0000 Subject: [PATCH v2 09/21] arm64/cpufeature: Hook new identification registers up to cpufeature MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-9-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=7888; i=broonie@kernel.org; h=from:subject:message-id; bh=eZaW7Q4M/zzv5URqk5Jj7aBPK/YCTtlJ1HieBEOkpao=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4Wboob+aN212olICG31A2T4E/iZQdufTXtP+L/a 6WBz/MWJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFmwAKCRAk1otyXVSH0DrKB/ 9eMgz51jPlNWTFwaHt9t5/kYA6OPCJPH9tbByrkoUFrcq2Fh1uK6lOCbtVLzULmczakiMffQmz4Gq8 kVQZiekNfDUvPUJzfMCKCwHpTFjY2X8MKkcwU0AAyrTkzcEKgxlVhlitzaFELsw3o3d7F94IsILdMo ZDwWNyId6qUBmknicwCX6mVvSNEiWl1EI1x2x9siQG6PZP8FlOF8NC8Lf1KKVN3b7K7bgEGlEqtx++ 8fZwYZ2SJlfClxSGJLcwhBDIMra/13oVCARioTogmzckk9h/lQAqG7q03aWoSJlifsbEbMvontBWVV W9CxKD5hfAzRXWBd0LD9CpJUJ+9WkQ X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 06:36:43 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550558856878956 X-GMAIL-MSGID: 1782550558856878956 The 2023 architecture extensions have defined several new ID registers, hook them up to the cpufeature code so we can add feature checks and hwcaps based on their contents. Signed-off-by: Mark Brown --- arch/arm64/include/asm/cpu.h | 3 +++ arch/arm64/kernel/cpufeature.c | 28 ++++++++++++++++++++++++++++ arch/arm64/kernel/cpuinfo.c | 3 +++ 3 files changed, 34 insertions(+) diff --git a/arch/arm64/include/asm/cpu.h b/arch/arm64/include/asm/cpu.h index f3034099fd95..b99138bc3d4a 100644 --- a/arch/arm64/include/asm/cpu.h +++ b/arch/arm64/include/asm/cpu.h @@ -53,14 +53,17 @@ struct cpuinfo_arm64 { u64 reg_id_aa64isar0; u64 reg_id_aa64isar1; u64 reg_id_aa64isar2; + u64 reg_id_aa64isar3; u64 reg_id_aa64mmfr0; u64 reg_id_aa64mmfr1; u64 reg_id_aa64mmfr2; u64 reg_id_aa64mmfr3; u64 reg_id_aa64pfr0; u64 reg_id_aa64pfr1; + u64 reg_id_aa64pfr2; u64 reg_id_aa64zfr0; u64 reg_id_aa64smfr0; + u64 reg_id_aa64fpfr0; struct cpuinfo_32bit aarch32; }; diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 646591c67e7a..c8d38e5ce997 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -234,6 +234,10 @@ static const struct arm64_ftr_bits ftr_id_aa64isar2[] = { ARM64_FTR_END, }; +static const struct arm64_ftr_bits ftr_id_aa64isar3[] = { + ARM64_FTR_END, +}; + static const struct arm64_ftr_bits ftr_id_aa64pfr0[] = { ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL1_CSV3_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL1_CSV2_SHIFT, 4, 0), @@ -267,6 +271,10 @@ static const struct arm64_ftr_bits ftr_id_aa64pfr1[] = { ARM64_FTR_END, }; +static const struct arm64_ftr_bits ftr_id_aa64pfr2[] = { + ARM64_FTR_END, +}; + static const struct arm64_ftr_bits ftr_id_aa64zfr0[] = { ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE), FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_EL1_F64MM_SHIFT, 4, 0), @@ -319,6 +327,10 @@ static const struct arm64_ftr_bits ftr_id_aa64smfr0[] = { ARM64_FTR_END, }; +static const struct arm64_ftr_bits ftr_id_aa64fpfr0[] = { + ARM64_FTR_END, +}; + static const struct arm64_ftr_bits ftr_id_aa64mmfr0[] = { ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_EL1_ECV_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_EL1_FGT_SHIFT, 4, 0), @@ -702,10 +714,12 @@ static const struct __ftr_reg_entry { &id_aa64pfr0_override), ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64PFR1_EL1, ftr_id_aa64pfr1, &id_aa64pfr1_override), + ARM64_FTR_REG(SYS_ID_AA64PFR2_EL1, ftr_id_aa64pfr2), ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ZFR0_EL1, ftr_id_aa64zfr0, &id_aa64zfr0_override), ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64SMFR0_EL1, ftr_id_aa64smfr0, &id_aa64smfr0_override), + ARM64_FTR_REG(SYS_ID_AA64FPFR0_EL1, ftr_id_aa64fpfr0), /* Op1 = 0, CRn = 0, CRm = 5 */ ARM64_FTR_REG(SYS_ID_AA64DFR0_EL1, ftr_id_aa64dfr0), @@ -717,6 +731,7 @@ static const struct __ftr_reg_entry { &id_aa64isar1_override), ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ISAR2_EL1, ftr_id_aa64isar2, &id_aa64isar2_override), + ARM64_FTR_REG(SYS_ID_AA64ISAR3_EL1, ftr_id_aa64isar3), /* Op1 = 0, CRn = 0, CRm = 7 */ ARM64_FTR_REG(SYS_ID_AA64MMFR0_EL1, ftr_id_aa64mmfr0), @@ -1043,14 +1058,17 @@ void __init init_cpu_features(struct cpuinfo_arm64 *info) init_cpu_ftr_reg(SYS_ID_AA64ISAR0_EL1, info->reg_id_aa64isar0); init_cpu_ftr_reg(SYS_ID_AA64ISAR1_EL1, info->reg_id_aa64isar1); init_cpu_ftr_reg(SYS_ID_AA64ISAR2_EL1, info->reg_id_aa64isar2); + init_cpu_ftr_reg(SYS_ID_AA64ISAR3_EL1, info->reg_id_aa64isar3); init_cpu_ftr_reg(SYS_ID_AA64MMFR0_EL1, info->reg_id_aa64mmfr0); init_cpu_ftr_reg(SYS_ID_AA64MMFR1_EL1, info->reg_id_aa64mmfr1); init_cpu_ftr_reg(SYS_ID_AA64MMFR2_EL1, info->reg_id_aa64mmfr2); init_cpu_ftr_reg(SYS_ID_AA64MMFR3_EL1, info->reg_id_aa64mmfr3); init_cpu_ftr_reg(SYS_ID_AA64PFR0_EL1, info->reg_id_aa64pfr0); init_cpu_ftr_reg(SYS_ID_AA64PFR1_EL1, info->reg_id_aa64pfr1); + init_cpu_ftr_reg(SYS_ID_AA64PFR2_EL1, info->reg_id_aa64pfr2); init_cpu_ftr_reg(SYS_ID_AA64ZFR0_EL1, info->reg_id_aa64zfr0); init_cpu_ftr_reg(SYS_ID_AA64SMFR0_EL1, info->reg_id_aa64smfr0); + init_cpu_ftr_reg(SYS_ID_AA64FPFR0_EL1, info->reg_id_aa64fpfr0); if (id_aa64pfr0_32bit_el0(info->reg_id_aa64pfr0)) init_32bit_cpu_features(&info->aarch32); @@ -1291,6 +1309,8 @@ void update_cpu_features(int cpu, info->reg_id_aa64isar1, boot->reg_id_aa64isar1); taint |= check_update_ftr_reg(SYS_ID_AA64ISAR2_EL1, cpu, info->reg_id_aa64isar2, boot->reg_id_aa64isar2); + taint |= check_update_ftr_reg(SYS_ID_AA64ISAR3_EL1, cpu, + info->reg_id_aa64isar3, boot->reg_id_aa64isar3); /* * Differing PARange support is fine as long as all peripherals and @@ -1310,6 +1330,8 @@ void update_cpu_features(int cpu, info->reg_id_aa64pfr0, boot->reg_id_aa64pfr0); taint |= check_update_ftr_reg(SYS_ID_AA64PFR1_EL1, cpu, info->reg_id_aa64pfr1, boot->reg_id_aa64pfr1); + taint |= check_update_ftr_reg(SYS_ID_AA64PFR2_EL1, cpu, + info->reg_id_aa64pfr2, boot->reg_id_aa64pfr2); taint |= check_update_ftr_reg(SYS_ID_AA64ZFR0_EL1, cpu, info->reg_id_aa64zfr0, boot->reg_id_aa64zfr0); @@ -1317,6 +1339,9 @@ void update_cpu_features(int cpu, taint |= check_update_ftr_reg(SYS_ID_AA64SMFR0_EL1, cpu, info->reg_id_aa64smfr0, boot->reg_id_aa64smfr0); + taint |= check_update_ftr_reg(SYS_ID_AA64FPFR0_EL1, cpu, + info->reg_id_aa64fpfr0, boot->reg_id_aa64fpfr0); + /* Probe vector lengths */ if (IS_ENABLED(CONFIG_ARM64_SVE) && id_aa64pfr0_sve(read_sanitised_ftr_reg(SYS_ID_AA64PFR0_EL1))) { @@ -1429,8 +1454,10 @@ u64 __read_sysreg_by_encoding(u32 sys_id) read_sysreg_case(SYS_ID_AA64PFR0_EL1); read_sysreg_case(SYS_ID_AA64PFR1_EL1); + read_sysreg_case(SYS_ID_AA64PFR2_EL1); read_sysreg_case(SYS_ID_AA64ZFR0_EL1); read_sysreg_case(SYS_ID_AA64SMFR0_EL1); + read_sysreg_case(SYS_ID_AA64FPFR0_EL1); read_sysreg_case(SYS_ID_AA64DFR0_EL1); read_sysreg_case(SYS_ID_AA64DFR1_EL1); read_sysreg_case(SYS_ID_AA64MMFR0_EL1); @@ -1440,6 +1467,7 @@ u64 __read_sysreg_by_encoding(u32 sys_id) read_sysreg_case(SYS_ID_AA64ISAR0_EL1); read_sysreg_case(SYS_ID_AA64ISAR1_EL1); read_sysreg_case(SYS_ID_AA64ISAR2_EL1); + read_sysreg_case(SYS_ID_AA64ISAR3_EL1); read_sysreg_case(SYS_CNTFRQ_EL0); read_sysreg_case(SYS_CTR_EL0); diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c index a257da7b56fe..8322e968fd0d 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c @@ -448,14 +448,17 @@ static void __cpuinfo_store_cpu(struct cpuinfo_arm64 *info) info->reg_id_aa64isar0 = read_cpuid(ID_AA64ISAR0_EL1); info->reg_id_aa64isar1 = read_cpuid(ID_AA64ISAR1_EL1); info->reg_id_aa64isar2 = read_cpuid(ID_AA64ISAR2_EL1); + info->reg_id_aa64isar3 = read_cpuid(ID_AA64ISAR3_EL1); info->reg_id_aa64mmfr0 = read_cpuid(ID_AA64MMFR0_EL1); info->reg_id_aa64mmfr1 = read_cpuid(ID_AA64MMFR1_EL1); info->reg_id_aa64mmfr2 = read_cpuid(ID_AA64MMFR2_EL1); info->reg_id_aa64mmfr3 = read_cpuid(ID_AA64MMFR3_EL1); info->reg_id_aa64pfr0 = read_cpuid(ID_AA64PFR0_EL1); info->reg_id_aa64pfr1 = read_cpuid(ID_AA64PFR1_EL1); + info->reg_id_aa64pfr2 = read_cpuid(ID_AA64PFR2_EL1); info->reg_id_aa64zfr0 = read_cpuid(ID_AA64ZFR0_EL1); info->reg_id_aa64smfr0 = read_cpuid(ID_AA64SMFR0_EL1); + info->reg_id_aa64fpfr0 = read_cpuid(ID_AA64FPFR0_EL1); if (id_aa64pfr1_mte(info->reg_id_aa64pfr1)) info->reg_gmid = read_cpuid(GMID_EL1); From patchwork Tue Nov 14 14:34:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164966 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904882vqg; Tue, 14 Nov 2023 06:38:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IHaj4potxeVDK43BZVp/rCuV3rpaZ9cERjub06dr26YBoqgJ9z/WWhahSf1VUEJchhE7bwM X-Received: by 2002:a17:902:ef87:b0:1cc:54fb:60f9 with SMTP id iz7-20020a170902ef8700b001cc54fb60f9mr2170705plb.37.1699972685645; Tue, 14 Nov 2023 06:38:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972685; cv=none; d=google.com; s=arc-20160816; b=zUCKkLvFSC4KHSwX8/ycd4sUhbC7UcqwhRnACKzga5zdh2bnWAqtd98g9lVBOpNfoX qQ5YsZVe0yQz++iEio+K6Fu1TSUOVngWoTxuWilLpsgjSKWIIcp1IApJyIXNK2Z/RMBJ 0PJ914PsM/BwQSh3f9EVkAO3Rowy/3nngv7mYv56ks/pTENaAh4PtDwvwyQWdUAf1T7D w07ZjE9SHNXk3pnpuqUxw6G/fyMWBmXmTjRlDP+MkVTa1aqwVwKIYGDcbEYJDfyZoqc2 0ufiOPuXONfbqL+8PiGDQF9OaTCGLPEB4kyVLXJ0JQcDn1OR5OVQO8XHeQw8EnFLW+1z ImTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=gXDRFkwC8hg8GcZsLvUCs1l0O4U0DXnKJ722Tw4A/A4=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=yHituXM1E8DidrAGmtk+fG0UNxIBMzpD23tc+HOFO8G0jP8CaW7XD2M9NMKJqveFD6 vOncxEZUh9PfmF22dEvF7YCr2MuVe10VYji9R+23KTdnOMrJ/bzb2NP1NBQj50wzYdcT KzTfEpH8bFwZCY5VRXL5BqOHlo4tBc/wTsi8B8RMFjaiuF8+A2d5V/FjJYDXYHlZAXWE oscjDQtAWy6/K/k4nIjo0sjStNA+1SUecxrSNaI9kIaXfDngbCfioK/Gr4P38AQ417LS cj+tCti2IDZr1U4oD/I0DB6ZlDzEJYNdKKvawdUluMwPcW2fmbrghKfr7T3MynbP2kY+ MfCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SEGdzbC7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id d2-20020a170902cec200b001c07bac13d0si8277145plg.383.2023.11.14.06.38.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SEGdzbC7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 170C88090070; Tue, 14 Nov 2023 06:36:43 -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 S233509AbjKNOge (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233577AbjKNOgH (ORCPT ); Tue, 14 Nov 2023 09:36:07 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 02EE0D79 for ; Tue, 14 Nov 2023 06:35:55 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C9683C43395; Tue, 14 Nov 2023 14:35:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972555; bh=+jSB6ryQw/tAoaW0f6Dn8f5r/j3Y5hYXa/dEZzeKHsY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=SEGdzbC7b3wvMV/Ivzh+9pjvZ4JIMa9KlE7jQa6b4P2pa6rq17+x3do5ktJq1XLux 7T4GgVQV7XbbzuW7I2oE2Q1GisQDn5s60Zm9L3lSQruv90HXyNcPZRO98vranKE7l2 /GrQfWQYcZjvSQUQGvLmKA+UQt+ba+dAoAnpU2Up9slFFsWZJiYEBrBEIsxsQZGNrJ DxNdqxvl+v1I8aIMm2OKN44VvNMGy752EsPi39uSdacKE8uDorHkb/u9pEjBsDRrAD 8gqTuFsq5dcoH2Xpq+C6lSGdEw9sW8wZvPS4wRmKOXjCUjZGbBj64nFj7lUQKALnli AeCR4q53PRrdA== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:55 +0000 Subject: [PATCH v2 10/21] arm64/fpsimd: Enable host kernel access to FPMR MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-10-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1057; i=broonie@kernel.org; h=from:subject:message-id; bh=+jSB6ryQw/tAoaW0f6Dn8f5r/j3Y5hYXa/dEZzeKHsY=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WcKwT165mW8oQVRPIaZv68B/WwcA+JzKzLOCir kQlxz5+JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFnAAKCRAk1otyXVSH0GMdB/ 4+cijMYPYrqufsdKVq1iYT/G7uPwkXJ9/l3VF+dAG1JOHxhY2b2Ce8RiIKiql/X7QgixZvMO/M/zOM ZPIUX4CV0DhhyCv0dry+chuyfHmZKstJzsDz4jyryyx+szv4am5GwIGJHOHVKQ/JoSK4k/SRMyKR4q U7TJe73E+13UCeTitrIqV6D2gDqr7SqeRungofG3SkzDPWAQb4givyRUVEyAWPEukXji4V58e40LzE mgNS18Eb0F4D4Ih3su5c+Ejb3IF390ueKDQJLFs6HKKcR82E589lXZnquLKvpuP4hHV/KUWZ28+PY2 8jL/aO44ctaIzBymlrA1ZBmmRoqanD X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 06:36:43 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550558595054273 X-GMAIL-MSGID: 1782550558595054273 FEAT_FPMR provides a new generally accessible architectural register FPMR. This is only accessible to EL0 and EL1 when HCRX_EL2.EnFPM is set to 1, do this when the host is running. The guest part will be done along with context switching the new register and exposing it via guest management. Signed-off-by: Mark Brown --- arch/arm64/include/asm/kvm_arm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h index b85f46a73e21..9f9239d86900 100644 --- a/arch/arm64/include/asm/kvm_arm.h +++ b/arch/arm64/include/asm/kvm_arm.h @@ -105,7 +105,7 @@ #define HCRX_GUEST_FLAGS \ (HCRX_EL2_SMPME | HCRX_EL2_TCR2En | \ (cpus_have_final_cap(ARM64_HAS_MOPS) ? (HCRX_EL2_MSCEn | HCRX_EL2_MCE2) : 0)) -#define HCRX_HOST_FLAGS (HCRX_EL2_MSCEn | HCRX_EL2_TCR2En) +#define HCRX_HOST_FLAGS (HCRX_EL2_MSCEn | HCRX_EL2_TCR2En | HCRX_EL2_EnFPM) /* TCR_EL2 Registers bits */ #define TCR_EL2_RES1 ((1U << 31) | (1 << 23)) From patchwork Tue Nov 14 14:34:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164952 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904356vqg; Tue, 14 Nov 2023 06:37:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IHCImez5qI89fJ8ihyIzq/4fncL5fgc2GLOJnW3zSHvrJSS1rYpwipPL0h/CiPcZjVWu54N X-Received: by 2002:a05:6a00:d4d:b0:6be:6458:c0b5 with SMTP id n13-20020a056a000d4d00b006be6458c0b5mr5802639pfv.9.1699972631846; Tue, 14 Nov 2023 06:37:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972631; cv=none; d=google.com; s=arc-20160816; b=QJsd6gJa04+xCEHIvZAsFj+fmbIggbiYNr1++op9aFyqg68l4j0zvfl6L0WtSgIWFU M5T7vpEvyZBB6amOSqSuM/yjpyUBBHs6r0Mnunb8nV9CTnHF6CUa4o6TiXd4WSe3kW73 jUK8Ey7JJecbAgAl3paMj22VGngWWX1XN6QNUSn24Ok+Kv1hrqYa7RkP6LEMX9QIIxfl KDLb/QyCFV3uCZ5rowE8MCBwqXgD2YENCSdq7UK9ZoYOK5/GSlCxrK84ZXWZggm85x43 pZsrsp59cyKeoAsssmRm1/gpuVnSZv0aSguBSVrQJrO5XZP3CaqqJ8gE64rUyc0FeVOG l9jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=MSgdpgY0tMG1Crremz6jR/jzkS7LU2zqdrXCVZCrFME=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=QqRAMTlwxWeNjxrYbOe0Q71hjoj/PBCkbQR7F/qpVxj5pAP2dYS6sdPNcsj22icXG5 B7yGFph2NrmwW8dPS+Lhv1AccLFH1xxvn1bK4LQqRDzGXefKAOrUSPrwPflWrPlXh4N3 pv6K2Oup+QY41Uk5kKrxzC2iXrbhD8WhrvR/vu3w5KWJjv3klKDpdAREnoYuOQZv4DZV GdzsCZom2VwDUth+j8+FHiCleVDxowkJt8aXO/Gx+wVTHFL+C0nDFfwjUAefZcnSUOup fVaRM3JsH1bqqpIGBS1vvkL7hTYwiFVlnQ3coflBK1BTKd+STfUfHCF84aB1kwbnQDoH J73g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=izmal1NH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id fc33-20020a056a002e2100b006933caa6f03si8440316pfb.165.2023.11.14.06.37.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:37:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=izmal1NH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id B6368803F970; Tue, 14 Nov 2023 06:36:57 -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 S233296AbjKNOgp (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233521AbjKNOgT (ORCPT ); Tue, 14 Nov 2023 09:36:19 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 07D451BCD for ; Tue, 14 Nov 2023 06:35:59 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EEAEEC433B8; Tue, 14 Nov 2023 14:35:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972558; bh=8aMhtvWd2U4DgD7OsoWitXafC2Gl0m4G3yGyGq+lQbA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=izmal1NHUcXM258SsY7CAzau7r6omqtbcTWKpJdC7aNgAVS3wrhLv+5d1qme3QBcP IDgnF+/e3KKUiJsrpQB+G0BQpViD9QrnWLxd1vJkxr4IF+Cc2UxrQVBBBYAdRzgekl TBhxtyvL/TAKKWDfa2JsEq0fX9HzMo37VjwFhYZfxAte56nQmMyQKXdl94pePo8jep SHAODwykmnw1G5IZvdajPAjbFZDw9NWo82ItDbjOGMaPZgzmtvGlspacxfazJG+bbc 7aifuiDNRn3XgQ9hGh6NE+Mrps1yes87cQnWH/zXD9IMD5YEWT2rHWM0r45XijTnAx EA0KdNEMD+24w== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:56 +0000 Subject: [PATCH v2 11/21] arm64/fpsimd: Support FEAT_FPMR MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-11-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=6717; i=broonie@kernel.org; h=from:subject:message-id; bh=8aMhtvWd2U4DgD7OsoWitXafC2Gl0m4G3yGyGq+lQbA=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WdDpPp66HYRzBr0f+t44qJWTRJ4dFjYjTu+Ix5 R50HEVmJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFnQAKCRAk1otyXVSH0G/GB/ 9c1CgTjCIp7wxd/CTP4ABHWi2Q4r+evaJgH2ZXNpQhXoEbYq1xymDugpOzV77r3qEmqu9nUmtngDbM vGpaLI1BNZWpxArTK34GBWE0qr2VlDLZ5PuM90YYgiSpOsZwdsx7klRB3eFn4LbsxecMZ91C3wWwM1 mPncgP4C6izwTvnYgnSeZN72flPrV7uOsB+JDzCgtApARTNHj/di5stJnP/D4VrOafeSzjXDMv8aZP 8iYkyibvoU6BFE7xs8EKE/TBvqSbTF+Tn1wTUhZJYXukIZcN515b1SSBh8z1Gi6VOQPdVNIhNRg61c 7XF5lNhKGZ2NOEuMjsdNGOrpzXY6bm X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:36:57 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550502498828642 X-GMAIL-MSGID: 1782550502498828642 FEAT_FPMR defines a new EL0 accessible register FPMR use to configure the FP8 related features added to the architecture at the same time. Detect support for this register and context switch it for EL0 when present. Due to the sharing of responsibility for saving floating point state between the host kernel and KVM FP8 support is not yet implemented in KVM and a stub similar to that used for SVCR is provided for FPMR in order to avoid bisection issues. To make it easier to share host state with the hypervisor we store FPMR immediately after the base floating point state, existing usage means that it is not practical to extend that directly. Signed-off-by: Mark Brown --- arch/arm64/include/asm/cpufeature.h | 5 +++++ arch/arm64/include/asm/fpsimd.h | 2 ++ arch/arm64/include/asm/kvm_host.h | 1 + arch/arm64/include/asm/processor.h | 2 ++ arch/arm64/kernel/cpufeature.c | 9 +++++++++ arch/arm64/kernel/fpsimd.c | 13 +++++++++++++ arch/arm64/kvm/fpsimd.c | 1 + arch/arm64/tools/cpucaps | 1 + 8 files changed, 34 insertions(+) diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h index f6d416fe49b0..8e83cb1e6c7c 100644 --- a/arch/arm64/include/asm/cpufeature.h +++ b/arch/arm64/include/asm/cpufeature.h @@ -767,6 +767,11 @@ static __always_inline bool system_supports_tpidr2(void) return system_supports_sme(); } +static __always_inline bool system_supports_fpmr(void) +{ + return alternative_has_cap_unlikely(ARM64_HAS_FPMR); +} + static __always_inline bool system_supports_cnp(void) { return alternative_has_cap_unlikely(ARM64_HAS_CNP); diff --git a/arch/arm64/include/asm/fpsimd.h b/arch/arm64/include/asm/fpsimd.h index 50e5f25d3024..74afca3bd312 100644 --- a/arch/arm64/include/asm/fpsimd.h +++ b/arch/arm64/include/asm/fpsimd.h @@ -89,6 +89,7 @@ struct cpu_fp_state { void *sve_state; void *sme_state; u64 *svcr; + u64 *fpmr; unsigned int sve_vl; unsigned int sme_vl; enum fp_type *fp_type; @@ -154,6 +155,7 @@ extern void cpu_enable_sve(const struct arm64_cpu_capabilities *__unused); extern void cpu_enable_sme(const struct arm64_cpu_capabilities *__unused); extern void cpu_enable_sme2(const struct arm64_cpu_capabilities *__unused); extern void cpu_enable_fa64(const struct arm64_cpu_capabilities *__unused); +extern void cpu_enable_fpmr(const struct arm64_cpu_capabilities *__unused); extern u64 read_smcr_features(void); diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index 824f29f04916..f8d98985a39c 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -517,6 +517,7 @@ struct kvm_vcpu_arch { enum fp_type fp_type; unsigned int sve_max_vl; u64 svcr; + u64 fpmr; /* Stage 2 paging state used by the hardware on next switch */ struct kvm_s2_mmu *hw_mmu; diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h index e5bc54522e71..dd3a5b29f76e 100644 --- a/arch/arm64/include/asm/processor.h +++ b/arch/arm64/include/asm/processor.h @@ -158,6 +158,8 @@ struct thread_struct { struct user_fpsimd_state fpsimd_state; } uw; + u64 fpmr; /* Adjacent to fpsimd_state for KVM */ + enum fp_type fp_type; /* registers FPSIMD or SVE? */ unsigned int fpsimd_cpu; void *sve_state; /* SVE registers, if any */ diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index c8d38e5ce997..ea0b680792de 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -272,6 +272,7 @@ static const struct arm64_ftr_bits ftr_id_aa64pfr1[] = { }; static const struct arm64_ftr_bits ftr_id_aa64pfr2[] = { + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR2_EL1_FPMR_SHIFT, 4, 0), ARM64_FTR_END, }; @@ -2759,6 +2760,14 @@ static const struct arm64_cpu_capabilities arm64_features[] = { .matches = has_cpuid_feature, ARM64_CPUID_FIELDS(ID_AA64MMFR2_EL1, EVT, IMP) }, + { + .desc = "FPMR", + .type = ARM64_CPUCAP_SYSTEM_FEATURE, + .capability = ARM64_HAS_FPMR, + .matches = has_cpuid_feature, + .cpu_enable = cpu_enable_fpmr, + ARM64_CPUID_FIELDS(ID_AA64PFR2_EL1, FPMR, IMP) + }, {}, }; diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c index 1559c706d32d..2a6abd6423f7 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -385,6 +385,9 @@ static void task_fpsimd_load(void) WARN_ON(!system_supports_fpsimd()); WARN_ON(!have_cpu_fpsimd_context()); + if (system_supports_fpmr()) + write_sysreg_s(current->thread.fpmr, SYS_FPMR); + if (system_supports_sve() || system_supports_sme()) { switch (current->thread.fp_type) { case FP_STATE_FPSIMD: @@ -472,6 +475,9 @@ static void fpsimd_save(void) if (test_thread_flag(TIF_FOREIGN_FPSTATE)) return; + if (system_supports_fpmr()) + *(last->fpmr) = read_sysreg_s(SYS_FPMR); + /* * If a task is in a syscall the ABI allows us to only * preserve the state shared with FPSIMD so don't bother @@ -714,6 +720,12 @@ static void sve_to_fpsimd(struct task_struct *task) } } +void cpu_enable_fpmr(const struct arm64_cpu_capabilities *__always_unused p) +{ + write_sysreg_s(read_sysreg_s(SYS_SCTLR_EL1) | SCTLR_EL1_EnFPM_MASK, + SYS_SCTLR_EL1); +} + #ifdef CONFIG_ARM64_SVE /* * Call __sve_free() directly only if you know task can't be scheduled @@ -1671,6 +1683,7 @@ static void fpsimd_bind_task_to_cpu(void) last->sve_vl = task_get_sve_vl(current); last->sme_vl = task_get_sme_vl(current); last->svcr = ¤t->thread.svcr; + last->fpmr = ¤t->thread.fpmr; last->fp_type = ¤t->thread.fp_type; last->to_save = FP_STATE_CURRENT; current->thread.fpsimd_cpu = smp_processor_id(); diff --git a/arch/arm64/kvm/fpsimd.c b/arch/arm64/kvm/fpsimd.c index 8c1d0d4853df..e3e611e30e91 100644 --- a/arch/arm64/kvm/fpsimd.c +++ b/arch/arm64/kvm/fpsimd.c @@ -153,6 +153,7 @@ void kvm_arch_vcpu_ctxsync_fp(struct kvm_vcpu *vcpu) fp_state.sve_vl = vcpu->arch.sve_max_vl; fp_state.sme_state = NULL; fp_state.svcr = &vcpu->arch.svcr; + fp_state.fpmr = &vcpu->arch.fpmr; fp_state.fp_type = &vcpu->arch.fp_type; if (vcpu_has_sve(vcpu)) diff --git a/arch/arm64/tools/cpucaps b/arch/arm64/tools/cpucaps index b98c38288a9d..7a249a950bbc 100644 --- a/arch/arm64/tools/cpucaps +++ b/arch/arm64/tools/cpucaps @@ -26,6 +26,7 @@ HAS_ECV HAS_ECV_CNTPOFF HAS_EPAN HAS_EVT +HAS_FPMR HAS_FGT HAS_FPSIMD HAS_GENERIC_AUTH From patchwork Tue Nov 14 14:34:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164956 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904566vqg; Tue, 14 Nov 2023 06:37:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IEQu8/Sq41BcQSSKuBGNPqKYPE3KhogtQwfhk4csA1JkJodHVWJ78CXeAgdqjnVLaNTmZ+J X-Received: by 2002:a17:90b:4d89:b0:280:c97:5968 with SMTP id oj9-20020a17090b4d8900b002800c975968mr11012013pjb.5.1699972653107; Tue, 14 Nov 2023 06:37:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972653; cv=none; d=google.com; s=arc-20160816; b=Q6xUvwCdZtA3IvpMZUTpPozZvakI8A529cn4oEzG0CrqaxM25RvCzWGQQTa1Ov/w4s SUse3nb0WiAwmGJA0KFxllCJrpnf5NlAkj3J4kiYby3cDbeppgKE9v0dCdtoEtShhRu+ 5D1YVsoi7b1Fgh8UX0LwRt+NhXjswqzoS5BL8Rr4016KHJPfOSocYECXLrSNCwN1r8fi C1Ne4PmVLHwAda8oxyn1RwCoLiPoBT0aONwXM4YlX4HgMtxj+5fA1fuX/gfy99jI2Xly I4xmmDkvQiBGSewoAUd4legPrLTWLLTAbxRUEdrucflfHRu/9bOA6wRrLVhq4TjGNltn i4Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=vhOaaN7NB4edNzer8tCf/q/rUeYsg5qgftXldjKTk1w=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=o5XjahXE8rZghQeWP2M7ChqYAKnuWswULA56rx8F1aOxnhafAHOGUdp3TFgYqjtcbD ove97h6J1dghkwjqoINQp7hOFCAXCSGTelAMrif85lgB6Qu57ZBBLgRUZ6BCbGTgYRY9 zBhPJkP7abVikdhVReyVJJVFhOGX+TrRc0DV3HCuMMDLZpTt/o3BLPGFwVqZ79ZDKoRd yHrsBmOLK+sHfv95DwE7Af4mZCncTFPOZNwhfb1I1KidL20Hlo5EmzOqJqxSgBGTwAMC Bn2Pjuni7fA7N9YYNWDc3hocQ9K4snX/luiR0hdv43I0k4lG/q2Yu+AP9XzOwdU0Ihfi m/0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Glzj0v12; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id oa9-20020a17090b1bc900b00274a5edad0csi8624103pjb.139.2023.11.14.06.37.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:37:33 -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=pass header.i=@kernel.org header.s=k20201202 header.b=Glzj0v12; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id D447980310E5; Tue, 14 Nov 2023 06:37:16 -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 S233546AbjKNOgr (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233533AbjKNOgW (ORCPT ); Tue, 14 Nov 2023 09:36:22 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2A541D5C for ; Tue, 14 Nov 2023 06:36:02 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D3F5C433C7; Tue, 14 Nov 2023 14:35:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972561; bh=qb52W/FnN/1SulYmCofB+kYw3kMDdBBbntUr0aosnTs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Glzj0v120aflxdYnHPfQd5su3t1oeElorZGM5ygd7L7vJOE02ndlcmY7Cy6kGduK1 sdaA9Torg1JX33/HErdM00gVUc4Yqh/YMSPrxgx1yyJYjTekPWbpxdSrVpKBzOm12h +xNaiPXCX+z8QsfRWw7uTr/lNm8LBpGETZuesV83fMfGTZFpbdAEDzfUhgZPuNdJF+ 3iHql5yIDkbFKLHB8Uh+KswIvKxkQFV2BvcydwFCjFaPlcsXcwvxYrVWSJIuGtha23 4Jjenpr+FEIxqd2UaiV/rr+IQjHTR61Wwr0YYtVknPgcdELOHNHJg6VikSRA6wAsBu mzJSIXsVsu1ew== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:57 +0000 Subject: [PATCH v2 12/21] arm64/signal: Add FPMR signal handling MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-12-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=4170; i=broonie@kernel.org; h=from:subject:message-id; bh=qb52W/FnN/1SulYmCofB+kYw3kMDdBBbntUr0aosnTs=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WeFMLwbe9KIbWdJ3rpZTtwz0hq1SldLKGbW2Vu EfVeOvKJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFngAKCRAk1otyXVSH0AzJB/ 4uGbb9V7V0/YWxM9klilQspJUf+w7iLUUTCI7xqcc18nZ/Wz/cFF9nv6RkpZaeFY/SAwefA7DHfx4Z QMCbzIe9X5pipNbiJG9HikTVwmhlVT2yzH+594uYvZIOEZyFdXMRlMB2VXaAxYcTBJxhM1YevpTpGI BUUwXb16OWpcplqKe0tnS/hNUCA0bJinbG1SBNxIyWQp/lT6ZWoYUoz3rMbkyAuli4QZ3VCVj034oD DWPz9KsvWTkw83VNreAjayLOafHUIaPmYFyzcNxGpFopnKUQ6BDyQXV+ASga8MHsn5DC9tePVrZbp7 OmrqJxLZH65ixKJ57BEe3LjihqK3DM X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:37:16 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550524730918236 X-GMAIL-MSGID: 1782550524730918236 Expose FPMR in the signal context on systems where it is supported. The kernel validates the exact size of the FPSIMD registers so we can't readily add it to fpsimd_context without disruption. Signed-off-by: Mark Brown --- arch/arm64/include/uapi/asm/sigcontext.h | 8 +++++ arch/arm64/kernel/signal.c | 59 ++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/arch/arm64/include/uapi/asm/sigcontext.h b/arch/arm64/include/uapi/asm/sigcontext.h index f23c1dc3f002..8a45b7a411e0 100644 --- a/arch/arm64/include/uapi/asm/sigcontext.h +++ b/arch/arm64/include/uapi/asm/sigcontext.h @@ -152,6 +152,14 @@ struct tpidr2_context { __u64 tpidr2; }; +/* FPMR context */ +#define FPMR_MAGIC 0x46504d52 + +struct fpmr_context { + struct _aarch64_ctx head; + __u64 fpmr; +}; + #define ZA_MAGIC 0x54366345 struct za_context { diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c index 0e8beb3349ea..e8c808afcc8a 100644 --- a/arch/arm64/kernel/signal.c +++ b/arch/arm64/kernel/signal.c @@ -60,6 +60,7 @@ struct rt_sigframe_user_layout { unsigned long tpidr2_offset; unsigned long za_offset; unsigned long zt_offset; + unsigned long fpmr_offset; unsigned long extra_offset; unsigned long end_offset; }; @@ -182,6 +183,8 @@ struct user_ctxs { u32 za_size; struct zt_context __user *zt; u32 zt_size; + struct fpmr_context __user *fpmr; + u32 fpmr_size; }; static int preserve_fpsimd_context(struct fpsimd_context __user *ctx) @@ -227,6 +230,33 @@ static int restore_fpsimd_context(struct user_ctxs *user) return err ? -EFAULT : 0; } +static int preserve_fpmr_context(struct fpmr_context __user *ctx) +{ + int err = 0; + + current->thread.fpmr = read_sysreg_s(SYS_FPMR); + + __put_user_error(FPMR_MAGIC, &ctx->head.magic, err); + __put_user_error(sizeof(*ctx), &ctx->head.size, err); + __put_user_error(current->thread.fpmr, &ctx->fpmr, err); + + return err; +} + +static int restore_fpmr_context(struct user_ctxs *user) +{ + u64 fpmr; + int err = 0; + + if (user->fpmr_size != sizeof(*user->fpmr)) + return -EINVAL; + + __get_user_error(fpmr, &user->fpmr->fpmr, err); + if (!err) + write_sysreg_s(fpmr, SYS_FPMR); + + return err; +} #ifdef CONFIG_ARM64_SVE @@ -590,6 +620,7 @@ static int parse_user_sigframe(struct user_ctxs *user, user->tpidr2 = NULL; user->za = NULL; user->zt = NULL; + user->fpmr = NULL; if (!IS_ALIGNED((unsigned long)base, 16)) goto invalid; @@ -684,6 +715,17 @@ static int parse_user_sigframe(struct user_ctxs *user, user->zt_size = size; break; + case FPMR_MAGIC: + if (!system_supports_fpmr()) + goto invalid; + + if (user->fpmr) + goto invalid; + + user->fpmr = (struct fpmr_context __user *)head; + user->fpmr_size = size; + break; + case EXTRA_MAGIC: if (have_extra_context) goto invalid; @@ -806,6 +848,9 @@ static int restore_sigframe(struct pt_regs *regs, if (err == 0 && system_supports_tpidr2() && user.tpidr2) err = restore_tpidr2_context(&user); + if (err == 0 && system_supports_fpmr() && user.fpmr) + err = restore_fpmr_context(&user); + if (err == 0 && system_supports_sme() && user.za) err = restore_za_context(&user); @@ -928,6 +973,13 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user, } } + if (system_supports_fpmr()) { + err = sigframe_alloc(user, &user->fpmr_offset, + sizeof(struct fpmr_context)); + if (err) + return err; + } + return sigframe_alloc_end(user); } @@ -983,6 +1035,13 @@ static int setup_sigframe(struct rt_sigframe_user_layout *user, err |= preserve_tpidr2_context(tpidr2_ctx); } + /* FPMR if supported */ + if (system_supports_fpmr() && err == 0) { + struct fpmr_context __user *fpmr_ctx = + apply_user_offset(user, user->fpmr_offset); + err |= preserve_fpmr_context(fpmr_ctx); + } + /* ZA state if present */ if (system_supports_sme() && err == 0 && user->za_offset) { struct za_context __user *za_ctx = From patchwork Tue Nov 14 14:34:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164954 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904444vqg; Tue, 14 Nov 2023 06:37:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IHKwxZstD8hniJouR0EW8T3UUW0+qoH6vBpXj2BiTTmHn7d+QojnW0tt3loZsJ+Z14zUpS/ X-Received: by 2002:a05:6a00:4c8d:b0:68e:2478:d6c9 with SMTP id eb13-20020a056a004c8d00b0068e2478d6c9mr8402984pfb.2.1699972637778; Tue, 14 Nov 2023 06:37:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972637; cv=none; d=google.com; s=arc-20160816; b=opB/NKXLIJs6aQQU82BATt9mZjQ4zbEUKIHloorjgeF7PFq71GakTnAPl1J1LlYrT9 KV3LyEwC5mKiTAQOsEi/NGrTzUeG49PVocS+xzbhrRdQHdMW1Ee6fE4nOV1IiJAlFu4L c+zPW0d73ECrg+iOPkj42CBV4Rfo4mPy8K/n5cb8FgUiziPnQ03dxSQb4viR/wXyO8r+ YPb8FB/ffRNqFGGeHarAd9JVHHPtxFJWQO10ovfPq6iayY0uw/bZkFcYJWl3Pta3iB4j D1wSDpGH96oDWpJUmY/VQLa9jWmzra0iyPTf1c4a6gOLp6Zp7w1EgEHkQOarcmJOZ02v Zwew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=iPe+/zyLr9ruA72qwNnTjsgbh3WWtM7u8rWyRJzkeew=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=w9+QUcIvD0cZio3PD8SMh7RaxkO0GFqCDOESDM0Vu8390+WZZIzON8PyFTcXB5XUkH wn6g9lmhzL++ObkX51l6B/YlRTY0ofjoEYLuiNmsbv6RwvosHK9/SX0jlc8AqJmQ8wJ7 Bin8Fn9wClnjepHn74EdzAGacaweaSElwArHc5EO+5A3+0qufK2JlTtjmRIq3oqNHWLN bsgDpVFunMRH1poRdtaAXf9ojCBSam0ybqcD4AY5D0TMqlUzSnCPn3fr5Cf5WOGVPUHM XQGQohbWh+GxQNtkudFXlPG76nFYEoA7e/OkwOfRM99FuiylbR5y/G3rmAJ5cj6V4VI5 bZwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=KEYsetiV; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id y4-20020a056a00190400b006b5c34a0c8csi8298076pfi.251.2023.11.14.06.37.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:37:17 -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=pass header.i=@kernel.org header.s=k20201202 header.b=KEYsetiV; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 3A6DF803FC2A; Tue, 14 Nov 2023 06:37:10 -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 S233488AbjKNOg6 (ORCPT + 29 others); Tue, 14 Nov 2023 09:36:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52136 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233551AbjKNOg2 (ORCPT ); Tue, 14 Nov 2023 09:36:28 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60F041724 for ; Tue, 14 Nov 2023 06:36:05 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42084C433D9; Tue, 14 Nov 2023 14:36:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972565; bh=2lwb/HSWzM5tgdqcRY+V9adtYXXgaHL2EUDsgIl8iAQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=KEYsetiV6MaKRvSP2qTYGyOt6FTXMtZHH5rnhGvGeHym+yDLW2n7f3qK/gLamETzg G+QO8rMtRiQMm2avjkoPSJbDf/AK1cy4amP7GlfQouAoj+dBb+MFHHuKSaF2/9EEAv 45Rht04crG3HYhTOPB3vpLINSm+9Bu2R4gedci/AJs7vo2mXBrI3X9FjRUrDowcatR mfq0kN0gzMOoYDu4SyZeiyQFsJq0Y9fv0af9iF1vpSabijN2iDBK0i4wLd6B0n4pEA U00T40Xbwi7+scmTmVBHGngGGsUIvpDRHsFA8eGG4gzPO8hKQASjtS//4Oew1oFM0H XuRJ3kUyariwQ== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:58 +0000 Subject: [PATCH v2 13/21] arm64/ptrace: Expose FPMR via ptrace MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-13-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=2850; i=broonie@kernel.org; h=from:subject:message-id; bh=2lwb/HSWzM5tgdqcRY+V9adtYXXgaHL2EUDsgIl8iAQ=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4Wezz8fhVXghjJg399hUEAcrCZzENLJijL4NWsO Sa+6tuOJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFngAKCRAk1otyXVSH0PRgB/ 9AktNcdpCKGPO+EG0Sv4Ug0mwEFOJeJj1bTis0Oqw5Y6betpj1xiH6x25BDr9vn5Fc57mgE0nOTGfi 2BEo7s8lkYhcsTCIA7sq1IXn2QgU/W4uERUmmt4Je31beCS6aVl7iODRIEo11vT/z+1HNXgLVdqtce rv0lYUk9A0HhP2Vtmr6K3MXFVqSooFd3jZ+2Rwj8mupg3Qeb6WbMHiTt0tisrmZlzu5w/vS/kaZjf9 zQKipE/3j+F5Agad97zfIL9qmqQn9GqxFRIGuDMx7XFbBo9zXUsNYmwid6nO94e97I2f6niOZHQeqr L6/GxB2tu/AFY542AhaHO/vC2w8Y5A X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:37:10 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550508817818407 X-GMAIL-MSGID: 1782550508817818407 Add a new regset to expose FPMR via ptrace. It is not added to the FPSIMD registers since that structure is exposed elsewhere without any allowance for extension we don't add there. Signed-off-by: Mark Brown --- arch/arm64/kernel/ptrace.c | 42 ++++++++++++++++++++++++++++++++++++++++++ include/uapi/linux/elf.h | 1 + 2 files changed, 43 insertions(+) diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c index 20d7ef82de90..cfb8a4d213be 100644 --- a/arch/arm64/kernel/ptrace.c +++ b/arch/arm64/kernel/ptrace.c @@ -697,6 +697,39 @@ static int tls_set(struct task_struct *target, const struct user_regset *regset, return ret; } +static int fpmr_get(struct task_struct *target, const struct user_regset *regset, + struct membuf to) +{ + if (!system_supports_fpmr()) + return -EINVAL; + + if (target == current) + fpsimd_preserve_current_state(); + + return membuf_store(&to, target->thread.fpmr); +} + +static int fpmr_set(struct task_struct *target, const struct user_regset *regset, + unsigned int pos, unsigned int count, + const void *kbuf, const void __user *ubuf) +{ + int ret; + unsigned long fpmr; + + if (!system_supports_fpmr()) + return -EINVAL; + + ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &fpmr, 0, count); + if (ret) + return ret; + + target->thread.fpmr = fpmr; + + fpsimd_flush_task_state(target); + + return 0; +} + static int system_call_get(struct task_struct *target, const struct user_regset *regset, struct membuf to) @@ -1417,6 +1450,7 @@ enum aarch64_regset { REGSET_HW_BREAK, REGSET_HW_WATCH, #endif + REGSET_FPMR, REGSET_SYSTEM_CALL, #ifdef CONFIG_ARM64_SVE REGSET_SVE, @@ -1495,6 +1529,14 @@ static const struct user_regset aarch64_regsets[] = { .regset_get = system_call_get, .set = system_call_set, }, + [REGSET_FPMR] = { + .core_note_type = NT_ARM_FPMR, + .n = 1, + .size = sizeof(u64), + .align = sizeof(u64), + .regset_get = fpmr_get, + .set = fpmr_set, + }, #ifdef CONFIG_ARM64_SVE [REGSET_SVE] = { /* Scalable Vector Extension */ .core_note_type = NT_ARM_SVE, diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index 9417309b7230..b54b313bcf07 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h @@ -440,6 +440,7 @@ typedef struct elf64_shdr { #define NT_ARM_SSVE 0x40b /* ARM Streaming SVE registers */ #define NT_ARM_ZA 0x40c /* ARM SME ZA registers */ #define NT_ARM_ZT 0x40d /* ARM SME ZT registers */ +#define NT_ARM_FPMR 0x40e /* ARM floating point mode register */ #define NT_ARC_V2 0x600 /* ARCv2 accumulator/extra registers */ #define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note */ #define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers */ From patchwork Tue Nov 14 14:34:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164959 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904797vqg; Tue, 14 Nov 2023 06:37:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IEXsotTierkdA5p9nYnQwPrLN+l674ZI89NTUpYH+/dpkJrrnVYZC5zgSVyHSMxx1CS8qA2 X-Received: by 2002:a17:902:cecb:b0:1c0:afda:7707 with SMTP id d11-20020a170902cecb00b001c0afda7707mr2884332plg.34.1699972677366; Tue, 14 Nov 2023 06:37:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972677; cv=none; d=google.com; s=arc-20160816; b=PbUDsKQx2FetReHDO71S7nYT8HH2so5yB/lRwLYgTpMx26UH2YsUzIvaPFMK1uPthx QovpzKOrqbiTeoeerbTrz6pmENK6CnNXkhRwDcirsFhVU158LIuQ6xHh6iUxpL+fCEME 0QqCkbsdZgMaK9+dC1yw1IheIcSankWR0bPLDr2ZWIGpWk7FsjaotNwvCg1WwF3stQmw rogLbU7hxR/wT3z/67+sbq1kLsoSOTQxDffmuAMU4vEV6FrxFzeqZfkaEA94mAZ5Pa3F S7QqQFkCvk/ISkvkbxjmjF+OlCcmaCjBQtke0WrvOU8BPWvCmgQ58F/4EaE2GD1kArDE dokw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=FpSC/1KULJ8DXCu86SmVsGRYMJhuIPd/HbdULf/KxeI=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=ZyK7qWbfSdZ8ZrciFlKnM1pEiZOtaZ7dWuGKVo2pJv0fdmq0LREpYJYaKtJKqjzY+m zSakvr/uTNSnDzEq1sZScTQVM+acU0mdQfNCsBH/Ues5aKdfOP0E73HIwsMBKL02BGP8 AT5Fcdkb6wYvwmvihueXKVT2m4ITSNNTl7Vrx/OULcRk0FfG3AyT7ol+fpRnzRKlnKAt Ig0PtV4exkpU0N9MJZ9GHY1g02n+ka4CF3iaF/wOCQ9iXAtP/Q4FIpW8D4567mbVTDH6 vPOlv37ACmpzpUAnheFW5UqqJix6hx0mGOS6GcOC5+9hARF3qMdfSRA2gdYZdHpYnQ8p LQhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="AlpAM4p/"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id h21-20020a170902eed500b001c78345f376si7894412plb.241.2023.11.14.06.37.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:37:57 -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=pass header.i=@kernel.org header.s=k20201202 header.b="AlpAM4p/"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 20B4180310C6; Tue, 14 Nov 2023 06:37: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 S233585AbjKNOhF (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233615AbjKNOgd (ORCPT ); Tue, 14 Nov 2023 09:36:33 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 850FC1BFF for ; Tue, 14 Nov 2023 06:36:09 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 71CF3C116B4; Tue, 14 Nov 2023 14:36:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972569; bh=p49U0rB8BLfyvHeTkXNyujHDJxY2xWglioVFZrQRPgM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=AlpAM4p/PpDtnGa+P+8MSgHGTJ0ojhyv3MXbEXP5fT2nd+uKNEhre27nS3KShUuOw yv1LT6A8pMrshhhOeqccPV/j0EmbpO89/6v63x7E2GX84G0ngC5F9cPFgUcJypBWLa juOJYFe8Qu7RMoI+ALWZAtXZCEiGkhXTyXIIAFRt7P2O0fRnBsuq0mclLGf3uhM5RT gouns62U5thbp4juKWG56dUPRJrkPJEdTVEHPq0zu3N5AVYZsUUfZVJtVGo+bUnIQe 6KaKGtRtZVsjbYiH9cAmi+qngFKBCBIesxcdg4spOPiOCCXt8MLN26b6G2p19grEG5 vHj3e1XHGxFYg== From: Mark Brown Date: Tue, 14 Nov 2023 14:34:59 +0000 Subject: [PATCH v2 14/21] KVM: arm64: Add newly allocated ID registers to register descriptions MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-14-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1330; i=broonie@kernel.org; h=from:subject:message-id; bh=p49U0rB8BLfyvHeTkXNyujHDJxY2xWglioVFZrQRPgM=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WfNE845a8JBj/7uYktPGecHrfg665x4pinSKM3 7IYoRbiJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFnwAKCRAk1otyXVSH0EPRB/ 0ej5UCRBRTqxqq1+eo0b3oJ3DQGFdnXwe003TSlUsDlKV3KkFJCceXkwq3fxrsW2Q+LMfcDMMSd5OY foJyuloV449NruHS2/7rzQW+3aaURgprNDwmu8yJjtO+cDH6VucQK4dFBWQz36wuw/G3z+L5Sk/4BU BNSeOCUZsXMNqWiH6+bYjN2onVo/oUY1I/JIY/01cCu+XfgYz2SBm0s8dNKf5H8l2MCF6X0yWFxp6j seYcd3kLbVN3MRPNy4LNoCQLgW7uWOf8k+zuC+Zp6IheOj5CPN6l5/I8qZnc9D9B5K/LCco2kyUrJ8 tp3828pzHxoG36ciTt0ft3yCCnuKAx X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:37:40 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550550072082863 X-GMAIL-MSGID: 1782550550072082863 The 2023 architecture extensions have allocated some new ID registers, add them to the KVM system register descriptions so that they are visible to guests. Signed-off-by: Mark Brown --- arch/arm64/kvm/sys_regs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c index 4735e1b37fb3..b843da5e4bb9 100644 --- a/arch/arm64/kvm/sys_regs.c +++ b/arch/arm64/kvm/sys_regs.c @@ -2139,12 +2139,12 @@ static const struct sys_reg_desc sys_reg_descs[] = { ID_AA64PFR0_EL1_AdvSIMD | ID_AA64PFR0_EL1_FP), }, ID_SANITISED(ID_AA64PFR1_EL1), - ID_UNALLOCATED(4,2), + ID_SANITISED(ID_AA64PFR2_EL1), ID_UNALLOCATED(4,3), ID_WRITABLE(ID_AA64ZFR0_EL1, ~ID_AA64ZFR0_EL1_RES0), ID_HIDDEN(ID_AA64SMFR0_EL1), ID_UNALLOCATED(4,6), - ID_UNALLOCATED(4,7), + ID_SANITISED(ID_AA64FPFR0_EL1), /* CRm=5 */ { SYS_DESC(SYS_ID_AA64DFR0_EL1), @@ -2171,7 +2171,7 @@ static const struct sys_reg_desc sys_reg_descs[] = { ID_WRITABLE(ID_AA64ISAR2_EL1, ~(ID_AA64ISAR2_EL1_RES0 | ID_AA64ISAR2_EL1_APA3 | ID_AA64ISAR2_EL1_GPA3)), - ID_UNALLOCATED(6,3), + ID_WRITABLE(ID_AA64ISAR3_EL1, ~ID_AA64ISAR3_EL1_RES0), ID_UNALLOCATED(6,4), ID_UNALLOCATED(6,5), ID_UNALLOCATED(6,6), From patchwork Tue Nov 14 14:35:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164964 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904870vqg; Tue, 14 Nov 2023 06:38:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IGWWOf0cqp0VdyjcjLXfrt0uvkzK00grc/ksamwuNo8l99CkhZRz0k360kiEE4nQwfyErVA X-Received: by 2002:a17:902:c943:b0:1cc:5cbf:50d2 with SMTP id i3-20020a170902c94300b001cc5cbf50d2mr2446809pla.59.1699972683979; Tue, 14 Nov 2023 06:38:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972683; cv=none; d=google.com; s=arc-20160816; b=OBXmoaWrtHE/8yK9xaWTOCBDPg+bFd/N/89StcSfUk/v7oBjfmbYtZLaWbrUaTPDhO bdzyUTHo97Gem8RV9JT44FTFZhw/VEaB1Xtquo9l+p9ljsZGvVuqjlZmWBfYLE6qld5f Ba6aOx9r9G9G390m0br+0S+wRXN6k1SaU14pxYr/MT0GLkDtDQ/zBANRIBlQTMMPyu2r I8YugiyZjP9z4NIZ7EmvUBqC0Tf5U5VWUbyHK3tiSz42AZ6ZbtNrnUIomlRhxs0+tL/1 oFB/vmaPBXh+YknxyJ5abbgpKWAeUi8RsaSS8Vg/hgEn7kjiRrNh1ZPGzon5/ivRkIpj /4ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=Tm1zBEcu/6R4DZjBhpb0LFuH3vEkpcVnf3U2mNPlxl8=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=Gg/FPlIFfks89cLdRg6P5n/5eb1lEPpvAhNQ0Inxg++fnIsq3URs0P78nLpwTj4ZZj 0096RaCBO/MaSVhOGiUeKUG1Ww5OKR2Mxm7mqxCfa8DIuyyExMShWCuFYJLmU4A798c6 awDK599lvwCsPIrn7Af8lAi1ScsqdIncJJY8zv76DLqO0fLGYah0Gu/6Ly7kbn8ebxJj yTsp5jXsmoCzs+hJplW50PNmJo+NJ9Fv2CVoddiY4Oezh9rZMB7V/LmntYmcNDS6KnFz MOXGSBWoS1gF2F5FyxFn7JKUDTLk8wNPq7L2zW2ZSf04VIjapmyT6OJoioe5mWR0FxiO KY6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=vFhCe2sn; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id v3-20020a170902b7c300b001cc55215729si7777736plz.363.2023.11.14.06.38.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:03 -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=pass header.i=@kernel.org header.s=k20201202 header.b=vFhCe2sn; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id BE99980310F8; Tue, 14 Nov 2023 06:37:47 -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 S233481AbjKNOhM (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233472AbjKNOgn (ORCPT ); Tue, 14 Nov 2023 09:36:43 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 049B5173A for ; Tue, 14 Nov 2023 06:36:13 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 991D6C4AF73; Tue, 14 Nov 2023 14:36:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972572; bh=SgGxSb9kQA/bzFV0T8szlBL5sjGe7ntk4tQniBm8gOw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=vFhCe2snOULXdo871SMt+nDCqrS9241TrSxnAc/ZFILxII4Fra0o4TYxIg3ZVyijA YyrSDO+C9E5hA4UJIOwkKJttXi3wz0zJYiXMsrlVOptpHdInl376Nh/tE/i7AWiGlR zBLMIcOMZcdr7snv8Kjulk4prkiA+Lpl6CHUDlRLCvUaY4VJ8NO3GSiXLXpKdWK+EP eSDkylrwSDMaUhIlwWsw5BV4cnNFrvups1kXBcQOgV5dhlkMdpcKCmZQD2VTalsoLn yENYuWd6yhflRqi43RRzYl4lYXWZAvNHMsIB4QqsXzrppsEWwiq96Cy4OzG9jGcFiE L3TrjWeWtpUcg== From: Mark Brown Date: Tue, 14 Nov 2023 14:35:00 +0000 Subject: [PATCH v2 15/21] KVM: arm64: Support FEAT_FPMR for guests MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-15-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=6384; i=broonie@kernel.org; h=from:subject:message-id; bh=SgGxSb9kQA/bzFV0T8szlBL5sjGe7ntk4tQniBm8gOw=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WgnXw0TkQR4icJqepbU4lRD4hEfPZbylDbXx7j uZtrMWmJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFoAAKCRAk1otyXVSH0M8hB/ wMlQwGWNQy8S+erxBA3wfg9J+HfuTHfSzfU11fVLODJvBFOlZfR+A8m+Hau61Z1Thm78x9jFvdY6NG c2wsjEoKlpsL5u2vwz185ToqMSIrxlC2NvOZJlvf28BxeQ/mN5nlkkuVkD/S6J9DiHzjON7klZdPzb dHSNpnjd/34t2VfOxS24DHXtc3jIIJhfpNGVfjeIma4An/4LsvlCpfUNg+WGfIPaTxdEBAAzsjKcqL EHohTF29nLVI1Tc721mQBZ7DstEsDLTNL9yn+FiNPNJmKDsSN9apdt2iPii+YFszuG1k6M22QviQzg 8SrYrYf82u9Y8uAzrp0VwMOH+63LJA X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:37:47 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550557311288912 X-GMAIL-MSGID: 1782550557311288912 FEAT_FPMR introduces a new system register FPMR which allows configuration of floating point behaviour, currently for FP8 specific features. Allow use of this in guests, disabling the trap while guests are running and saving and restoring the value along with the rest of the floating point state. Since FPMR is stored immediately after the main floating point state we share it with the hypervisor by adjusting the size of the shared region. Access to FPMR is covered by both a register specific trap HCRX_EL2.EnFPM and the overall floating point access trap so we just unconditionally enable the FPMR specific trap and rely on the floating point access trap to detect guest floating point usage. Signed-off-by: Mark Brown --- arch/arm64/include/asm/kvm_arm.h | 2 +- arch/arm64/include/asm/kvm_host.h | 4 +++- arch/arm64/kvm/fpsimd.c | 20 +++++++++++++++++--- arch/arm64/kvm/hyp/include/hyp/switch.h | 7 ++++++- arch/arm64/kvm/sys_regs.c | 11 +++++++++++ 5 files changed, 38 insertions(+), 6 deletions(-) diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h index 9f9239d86900..95f3b44e7c3a 100644 --- a/arch/arm64/include/asm/kvm_arm.h +++ b/arch/arm64/include/asm/kvm_arm.h @@ -103,7 +103,7 @@ #define HCR_HOST_VHE_FLAGS (HCR_RW | HCR_TGE | HCR_E2H) #define HCRX_GUEST_FLAGS \ - (HCRX_EL2_SMPME | HCRX_EL2_TCR2En | \ + (HCRX_EL2_SMPME | HCRX_EL2_TCR2En | HCRX_EL2_EnFPM | \ (cpus_have_final_cap(ARM64_HAS_MOPS) ? (HCRX_EL2_MSCEn | HCRX_EL2_MCE2) : 0)) #define HCRX_HOST_FLAGS (HCRX_EL2_MSCEn | HCRX_EL2_TCR2En | HCRX_EL2_EnFPM) diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index f8d98985a39c..9885adff06fa 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -391,6 +391,8 @@ enum vcpu_sysreg { CNTP_CVAL_EL0, CNTP_CTL_EL0, + FPMR, + /* Memory Tagging Extension registers */ RGSR_EL1, /* Random Allocation Tag Seed Register */ GCR_EL1, /* Tag Control Register */ @@ -517,7 +519,6 @@ struct kvm_vcpu_arch { enum fp_type fp_type; unsigned int sve_max_vl; u64 svcr; - u64 fpmr; /* Stage 2 paging state used by the hardware on next switch */ struct kvm_s2_mmu *hw_mmu; @@ -576,6 +577,7 @@ struct kvm_vcpu_arch { struct kvm_guest_debug_arch external_debug_state; struct user_fpsimd_state *host_fpsimd_state; /* hyp VA */ + u64 *host_fpmr; /* hyp VA */ struct task_struct *parent_task; struct { diff --git a/arch/arm64/kvm/fpsimd.c b/arch/arm64/kvm/fpsimd.c index e3e611e30e91..dee078625d0d 100644 --- a/arch/arm64/kvm/fpsimd.c +++ b/arch/arm64/kvm/fpsimd.c @@ -14,6 +14,16 @@ #include #include +static void *fpsimd_share_end(struct user_fpsimd_state *fpsimd) +{ + void *share_end = fpsimd + 1; + + if (cpus_have_final_cap(ARM64_HAS_FPMR)) + share_end += sizeof(u64); + + return share_end; +} + void kvm_vcpu_unshare_task_fp(struct kvm_vcpu *vcpu) { struct task_struct *p = vcpu->arch.parent_task; @@ -23,7 +33,7 @@ void kvm_vcpu_unshare_task_fp(struct kvm_vcpu *vcpu) return; fpsimd = &p->thread.uw.fpsimd_state; - kvm_unshare_hyp(fpsimd, fpsimd + 1); + kvm_unshare_hyp(fpsimd, fpsimd_share_end(fpsimd)); put_task_struct(p); } @@ -45,11 +55,15 @@ int kvm_arch_vcpu_run_map_fp(struct kvm_vcpu *vcpu) kvm_vcpu_unshare_task_fp(vcpu); /* Make sure the host task fpsimd state is visible to hyp: */ - ret = kvm_share_hyp(fpsimd, fpsimd + 1); + ret = kvm_share_hyp(fpsimd, fpsimd_share_end(fpsimd)); if (ret) return ret; vcpu->arch.host_fpsimd_state = kern_hyp_va(fpsimd); + if (cpus_have_final_cap(ARM64_HAS_FPMR)) { + WARN_ON_ONCE(¤t->thread.fpmr + 1 != fpsimd_share_end(fpsimd)); + vcpu->arch.host_fpmr = kern_hyp_va(¤t->thread.fpmr); + } /* * We need to keep current's task_struct pinned until its data has been @@ -153,7 +167,7 @@ void kvm_arch_vcpu_ctxsync_fp(struct kvm_vcpu *vcpu) fp_state.sve_vl = vcpu->arch.sve_max_vl; fp_state.sme_state = NULL; fp_state.svcr = &vcpu->arch.svcr; - fp_state.fpmr = &vcpu->arch.fpmr; + fp_state.fpmr = &__vcpu_sys_reg(vcpu, FPMR); fp_state.fp_type = &vcpu->arch.fp_type; if (vcpu_has_sve(vcpu)) diff --git a/arch/arm64/kvm/hyp/include/hyp/switch.h b/arch/arm64/kvm/hyp/include/hyp/switch.h index f99d8af0b9af..a51b21a2e26f 100644 --- a/arch/arm64/kvm/hyp/include/hyp/switch.h +++ b/arch/arm64/kvm/hyp/include/hyp/switch.h @@ -339,10 +339,15 @@ static bool kvm_hyp_handle_fpsimd(struct kvm_vcpu *vcpu, u64 *exit_code) isb(); /* Write out the host state if it's in the registers */ - if (vcpu->arch.fp_state == FP_STATE_HOST_OWNED) + if (vcpu->arch.fp_state == FP_STATE_HOST_OWNED) { __fpsimd_save_state(vcpu->arch.host_fpsimd_state); + if (cpus_have_final_cap(ARM64_HAS_FPMR)) + *vcpu->arch.host_fpmr = read_sysreg_s(SYS_FPMR); + } /* Restore the guest state */ + if (cpus_have_final_cap(ARM64_HAS_FPMR)) + write_sysreg_s(__vcpu_sys_reg(vcpu, FPMR), SYS_FPMR); if (sve_guest) __hyp_sve_restore_guest(vcpu); else diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c index b843da5e4bb9..0789fb632623 100644 --- a/arch/arm64/kvm/sys_regs.c +++ b/arch/arm64/kvm/sys_regs.c @@ -1914,6 +1914,15 @@ static unsigned int hidden_user_visibility(const struct kvm_vcpu *vcpu, .visibility = hidden_user_visibility, \ } +static unsigned int fpmr_visibility(const struct kvm_vcpu *vcpu, + const struct sys_reg_desc *rd) +{ + if (cpus_have_final_cap(ARM64_HAS_FPMR)) + return 0; + + return REG_HIDDEN; +} + /* * Since reset() callback and field val are not used for idregs, they will be * used for specific purposes for idregs. @@ -2310,6 +2319,8 @@ static const struct sys_reg_desc sys_reg_descs[] = { { SYS_DESC(SYS_CSSELR_EL1), access_csselr, reset_unknown, CSSELR_EL1 }, { SYS_DESC(SYS_CTR_EL0), access_ctr }, { SYS_DESC(SYS_SVCR), undef_access }, + { SYS_DESC(SYS_FPMR), access_rw, reset_unknown, FPMR, + .visibility = fpmr_visibility }, { PMU_SYS_REG(PMCR_EL0), .access = access_pmcr, .reset = reset_pmcr, .reg = PMCR_EL0, .get_user = get_pmcr, .set_user = set_pmcr }, From patchwork Tue Nov 14 14:35:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164957 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904634vqg; Tue, 14 Nov 2023 06:37:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IHcAb3mA3dw3nnS1m1v93Z933rtY8DyTk26ZUKLdyx02L1ZFpWoajI/G3SeplYjVBSjkv/p X-Received: by 2002:a17:903:1251:b0:1ce:78b:2351 with SMTP id u17-20020a170903125100b001ce078b2351mr2919288plh.33.1699972659404; Tue, 14 Nov 2023 06:37:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972659; cv=none; d=google.com; s=arc-20160816; b=y7dJ2Bd8AONczu8BqNdMnESjrl6Q8Ml40rOLs0tBak7DtbCbzj4wTRHtyQGm30LDIg dil5JH09FxCQ7LYwtNNZkd7R8WT60JFl5W7FrYpx+Cjgp+80n47o9CzToy5zcVfXnYnp /9X5MFsztukuc/Vq4dc3pCCZ2zWgIG5WNwZ8Ie4eXkoJOUkUG/yQU6RynnEsIxisX/Z+ 8LTQ/RfzAUibxv2Zu4FcBLVjTcrnrUIdRG6+06tU/LTjqeNuJ/5B7LJwnRpe2usVUwOt 210+gzDP32/fNexxZyRm9yjlmTj3eTmA7YJRVUIkFRK5jJVC26WJwAHMG6kA4tt1rFLT kzwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=wy0wKj+dSxyXFUVpiSe17AO0Kd9BjUqL8OJXk33mGv8=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=qajCmeLxu2TdJpCMJF79txZKK+j/koFBHLhCjWJSBVljj3utTJRkZjY2LzH521OE9C +49h0tumUGWBRek2Wg9bXuVp9pqM1Alfs9rVEZLj9+BfqunAWHne06TwOz6pLFoNZ0sP HnWNtNrA7LZLc4dz7QDOJnjq3MHjH0NeEu+Rl6nGorZl46j2O7aeKwh0yAelZi68lDlO suOwxWkmtTvALOA5dqY4W3j1yiYTbNEFsZe3VsJDcwujTlwJty0naBgizYmbdj0YUsYd 25ZDH2LrJqzqMi5suKBci23ZH9kvYk7vQtXsM0F2rqMNM+tmksba2HK9m3LoYbjoo5IR ZjWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hzsC7g38; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id u3-20020a17090341c300b001c9af5305dasi8324474ple.126.2023.11.14.06.37.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:37:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hzsC7g38; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 8762A803ECA2; Tue, 14 Nov 2023 06:37:30 -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 S233618AbjKNOhV (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233397AbjKNOgy (ORCPT ); Tue, 14 Nov 2023 09:36:54 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A8BA1FEB for ; Tue, 14 Nov 2023 06:36:17 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36F83C433C8; Tue, 14 Nov 2023 14:36:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972576; bh=uh6GFkvx09xfJmabF6Bd3ORGncoAbbDBVJ6AhaRWYCg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=hzsC7g38PIv/aHGtgF6psV3mUJXJrj9+HwBqJMH7s5x/1Jz9kHAn0g8MqGj62zIN8 WdQ42hd2qv3BojR4iDS0oZwxKNEkMfsgUOW/Xs+mAw6M24Pd7rVN5jvizaeMzAKUCf WXj7ee/RUw5zEzN7USy+JGV7YABFlCXQcWokpkkn55gh9goq8D3nWfvYfrXlUpuWnI 9Zpai3LTLYW0eyxreHAvdJU6QT26IfqZq/2ZfGlPoedMxLm6wV0fBeiEzH7oXQ16n9 KdcjK0HwnEQAGC/WCpoeCo7pIiBkhsPonVI8RW/JvXPAcqoM/XxZZ2Fff5VmZswuV5 7y+9tDrpcuXow== From: Mark Brown Date: Tue, 14 Nov 2023 14:35:01 +0000 Subject: [PATCH v2 16/21] arm64/hwcap: Define hwcaps for 2023 DPISA features MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-16-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=12825; i=broonie@kernel.org; h=from:subject:message-id; bh=uh6GFkvx09xfJmabF6Bd3ORGncoAbbDBVJ6AhaRWYCg=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WhqX1LkWz9PMHfFl/uVB80sHvlPslBun70Ikf1 kgXLu7uJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFoQAKCRAk1otyXVSH0NCsB/ 4tQtEohjUFqtNyO6pwEEMAC8HGqGCQVzDxny4+3RJ5ksoB5G6NXiPXzaUBw0ShYiXLJXgzVkXBg4cQ d8T4j3PWPv/el/FEtU5VaBXq5rof1JiwgwX+lJTTjd9BxaZIJ4CA3SRBYUhai+GrMhXxW4k5/GEcuo tvkv0VfUbjlKRA4DwqP9V8Ir3WTVOwWOg9JjSRQEov9QEyZ7pYH+LkkuYJJek1yrg1tXToab0ECYsW wh52IK+WPjuvk8x0D/2qiOTptgCcwrF5mvyR6GMQlQQwy3O9l7iHta+kvZjiAK0bKwuZpapCzbCuPZ pT99fhwygYIucvTq7sBDGnhuHBgLBP X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-0.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,UPPERCASE_50_75 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]); Tue, 14 Nov 2023 06:37:30 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550531551188317 X-GMAIL-MSGID: 1782550531551188317 The 2023 architecture extensions include a large number of floating point features, most of which simply add new instructions. Add hwcaps so that userspace can enumerate these features. Signed-off-by: Mark Brown --- Documentation/arch/arm64/elf_hwcaps.rst | 49 +++++++++++++++++++++++++++++++++ arch/arm64/include/asm/hwcap.h | 15 ++++++++++ arch/arm64/include/uapi/asm/hwcap.h | 15 ++++++++++ arch/arm64/kernel/cpufeature.c | 35 +++++++++++++++++++++++ arch/arm64/kernel/cpuinfo.c | 15 ++++++++++ 5 files changed, 129 insertions(+) diff --git a/Documentation/arch/arm64/elf_hwcaps.rst b/Documentation/arch/arm64/elf_hwcaps.rst index ced7b335e2e0..448c1664879b 100644 --- a/Documentation/arch/arm64/elf_hwcaps.rst +++ b/Documentation/arch/arm64/elf_hwcaps.rst @@ -317,6 +317,55 @@ HWCAP2_LRCPC3 HWCAP2_LSE128 Functionality implied by ID_AA64ISAR0_EL1.Atomic == 0b0011. +HWCAP2_FPMR + Functionality implied by ID_AA64PFR2_EL1.FMR == 0b0001. + +HWCAP2_LUT + Functionality implied by ID_AA64ISAR2_EL1.LUT == 0b0001. + +HWCAP2_FAMINMAX + Functionality implied by ID_AA64ISAR3_EL1.FAMINMAX == 0b0001. + +HWCAP2_F8CVT + Functionality implied by ID_AA64FPFR0_EL1.F8CVT == 0b1. + +HWCAP2_F8FMA + Functionality implied by ID_AA64FPFR0_EL1.F8FMA == 0b1. + +HWCAP2_F8DP4 + Functionality implied by ID_AA64FPFR0_EL1.F8DP4 == 0b1. + +HWCAP2_F8DP2 + Functionality implied by ID_AA64FPFR0_EL1.F8DP2 == 0b1. + +HWCAP2_F8E4M3 + Functionality implied by ID_AA64FPFR0_EL1.F8E4M3 == 0b1. + +HWCAP2_F8E5M2 + Functionality implied by ID_AA64FPFR0_EL1.F8E5M2 == 0b1. + +HWCAP2_SME_LUTV2 + Functionality implied by ID_AA64SMFR0_EL1.LUTv2 == 0b1. + +HWCAP2_SME_F8F16 + Functionality implied by ID_AA64SMFR0_EL1.F8F16 == 0b1. + +HWCAP2_SME_F8F32 + Functionality implied by ID_AA64SMFR0_EL1.F8F32 == 0b1. + +HWCAP2_SME_SF8FMA + Functionality implied by ID_AA64SMFR0_EL1.SF8FMA == 0b1. + +HWCAP2_SME_SF8DP4 + Functionality implied by ID_AA64SMFR0_EL1.SF8DP4 == 0b1. + +HWCAP2_SME_SF8DP2 + Functionality implied by ID_AA64SMFR0_EL1.SF8DP2 == 0b1. + +HWCAP2_SME_SF8DP4 + Functionality implied by ID_AA64SMFR0_EL1.SF8DP4 == 0b1. + + 4. Unused AT_HWCAP bits ----------------------- diff --git a/arch/arm64/include/asm/hwcap.h b/arch/arm64/include/asm/hwcap.h index cd71e09ea14d..4edd3b61df11 100644 --- a/arch/arm64/include/asm/hwcap.h +++ b/arch/arm64/include/asm/hwcap.h @@ -142,6 +142,21 @@ #define KERNEL_HWCAP_SVE_B16B16 __khwcap2_feature(SVE_B16B16) #define KERNEL_HWCAP_LRCPC3 __khwcap2_feature(LRCPC3) #define KERNEL_HWCAP_LSE128 __khwcap2_feature(LSE128) +#define KERNEL_HWCAP_FPMR __khwcap2_feature(FPMR) +#define KERNEL_HWCAP_LUT __khwcap2_feature(LUT) +#define KERNEL_HWCAP_FAMINMAX __khwcap2_feature(FAMINMAX) +#define KERNEL_HWCAP_F8CVT __khwcap2_feature(F8CVT) +#define KERNEL_HWCAP_F8FMA __khwcap2_feature(F8FMA) +#define KERNEL_HWCAP_F8DP4 __khwcap2_feature(F8DP4) +#define KERNEL_HWCAP_F8DP2 __khwcap2_feature(F8DP2) +#define KERNEL_HWCAP_F8E4M3 __khwcap2_feature(F8E4M3) +#define KERNEL_HWCAP_F8E5M2 __khwcap2_feature(F8E5M2) +#define KERNEL_HWCAP_SME_LUTV2 __khwcap2_feature(SME_LUTV2) +#define KERNEL_HWCAP_SME_F8F16 __khwcap2_feature(SME_F8F16) +#define KERNEL_HWCAP_SME_F8F32 __khwcap2_feature(SME_F8F32) +#define KERNEL_HWCAP_SME_SF8FMA __khwcap2_feature(SME_SF8FMA) +#define KERNEL_HWCAP_SME_SF8DP4 __khwcap2_feature(SME_SF8DP4) +#define KERNEL_HWCAP_SME_SF8DP2 __khwcap2_feature(SME_SF8DP2) /* * This yields a mask that user programs can use to figure out what diff --git a/arch/arm64/include/uapi/asm/hwcap.h b/arch/arm64/include/uapi/asm/hwcap.h index 5023599fa278..285610e626f5 100644 --- a/arch/arm64/include/uapi/asm/hwcap.h +++ b/arch/arm64/include/uapi/asm/hwcap.h @@ -107,5 +107,20 @@ #define HWCAP2_SVE_B16B16 (1UL << 45) #define HWCAP2_LRCPC3 (1UL << 46) #define HWCAP2_LSE128 (1UL << 47) +#define HWCAP2_FPMR (1UL << 48) +#define HWCAP2_LUT (1UL << 49) +#define HWCAP2_FAMINMAX (1UL << 50) +#define HWCAP2_F8CVT (1UL << 51) +#define HWCAP2_F8FMA (1UL << 52) +#define HWCAP2_F8DP4 (1UL << 53) +#define HWCAP2_F8DP2 (1UL << 54) +#define HWCAP2_F8E4M3 (1UL << 55) +#define HWCAP2_F8E5M2 (1UL << 56) +#define HWCAP2_SME_LUTV2 (1UL << 57) +#define HWCAP2_SME_F8F16 (1UL << 58) +#define HWCAP2_SME_F8F32 (1UL << 59) +#define HWCAP2_SME_SF8FMA (1UL << 60) +#define HWCAP2_SME_SF8DP4 (1UL << 61) +#define HWCAP2_SME_SF8DP2 (1UL << 62) #endif /* _UAPI__ASM_HWCAP_H */ diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index ea0b680792de..33e301b6e31e 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -220,6 +220,7 @@ static const struct arm64_ftr_bits ftr_id_aa64isar1[] = { }; static const struct arm64_ftr_bits ftr_id_aa64isar2[] = { + ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_LUT_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_CSSC_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_RPRFM_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_CLRBHB_SHIFT, 4, 0), @@ -235,6 +236,7 @@ static const struct arm64_ftr_bits ftr_id_aa64isar2[] = { }; static const struct arm64_ftr_bits ftr_id_aa64isar3[] = { + ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR3_EL1_FAMINMAX_SHIFT, 4, 0), ARM64_FTR_END, }; @@ -303,6 +305,8 @@ static const struct arm64_ftr_bits ftr_id_aa64zfr0[] = { static const struct arm64_ftr_bits ftr_id_aa64smfr0[] = { ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_FA64_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), + FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_LUTv2_SHIFT, 1, 0), ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_SMEver_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), @@ -315,6 +319,10 @@ static const struct arm64_ftr_bits ftr_id_aa64smfr0[] = { FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_B16B16_SHIFT, 1, 0), ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_F16F16_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), + FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_F8F16_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), + FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_F8F32_SHIFT, 1, 0), ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_I8I32_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), @@ -325,10 +333,22 @@ static const struct arm64_ftr_bits ftr_id_aa64smfr0[] = { FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_BI32I32_SHIFT, 1, 0), ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_F32F32_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), + FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_SF8FMA_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), + FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_SF8DP4_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SME), + FTR_STRICT, FTR_EXACT, ID_AA64SMFR0_EL1_SF8DP2_SHIFT, 1, 0), ARM64_FTR_END, }; static const struct arm64_ftr_bits ftr_id_aa64fpfr0[] = { + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, ID_AA64FPFR0_EL1_F8CVT_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, ID_AA64FPFR0_EL1_F8FMA_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, ID_AA64FPFR0_EL1_F8DP4_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, ID_AA64FPFR0_EL1_F8DP2_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, ID_AA64FPFR0_EL1_F8E4M3_SHIFT, 1, 0), + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, ID_AA64FPFR0_EL1_F8E5M2_SHIFT, 1, 0), ARM64_FTR_END, }; @@ -2851,6 +2871,7 @@ static const struct arm64_cpu_capabilities arm64_elf_hwcaps[] = { HWCAP_CAP(ID_AA64PFR0_EL1, AdvSIMD, IMP, CAP_HWCAP, KERNEL_HWCAP_ASIMD), HWCAP_CAP(ID_AA64PFR0_EL1, AdvSIMD, FP16, CAP_HWCAP, KERNEL_HWCAP_ASIMDHP), HWCAP_CAP(ID_AA64PFR0_EL1, DIT, IMP, CAP_HWCAP, KERNEL_HWCAP_DIT), + HWCAP_CAP(ID_AA64PFR2_EL1, FPMR, IMP, CAP_HWCAP, KERNEL_HWCAP_FPMR), HWCAP_CAP(ID_AA64ISAR1_EL1, DPB, IMP, CAP_HWCAP, KERNEL_HWCAP_DCPOP), HWCAP_CAP(ID_AA64ISAR1_EL1, DPB, DPB2, CAP_HWCAP, KERNEL_HWCAP_DCPODP), HWCAP_CAP(ID_AA64ISAR1_EL1, JSCVT, IMP, CAP_HWCAP, KERNEL_HWCAP_JSCVT), @@ -2864,6 +2885,8 @@ static const struct arm64_cpu_capabilities arm64_elf_hwcaps[] = { HWCAP_CAP(ID_AA64ISAR1_EL1, BF16, EBF16, CAP_HWCAP, KERNEL_HWCAP_EBF16), HWCAP_CAP(ID_AA64ISAR1_EL1, DGH, IMP, CAP_HWCAP, KERNEL_HWCAP_DGH), HWCAP_CAP(ID_AA64ISAR1_EL1, I8MM, IMP, CAP_HWCAP, KERNEL_HWCAP_I8MM), + HWCAP_CAP(ID_AA64ISAR2_EL1, LUT, IMP, CAP_HWCAP, KERNEL_HWCAP_LUT), + HWCAP_CAP(ID_AA64ISAR3_EL1, FAMINMAX, IMP, CAP_HWCAP, KERNEL_HWCAP_FAMINMAX), HWCAP_CAP(ID_AA64MMFR2_EL1, AT, IMP, CAP_HWCAP, KERNEL_HWCAP_USCAT), #ifdef CONFIG_ARM64_SVE HWCAP_CAP(ID_AA64PFR0_EL1, SVE, IMP, CAP_HWCAP, KERNEL_HWCAP_SVE), @@ -2904,6 +2927,7 @@ static const struct arm64_cpu_capabilities arm64_elf_hwcaps[] = { #ifdef CONFIG_ARM64_SME HWCAP_CAP(ID_AA64PFR1_EL1, SME, IMP, CAP_HWCAP, KERNEL_HWCAP_SME), HWCAP_CAP(ID_AA64SMFR0_EL1, FA64, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_FA64), + HWCAP_CAP(ID_AA64SMFR0_EL1, LUTv2, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_LUTV2), HWCAP_CAP(ID_AA64SMFR0_EL1, SMEver, SME2p1, CAP_HWCAP, KERNEL_HWCAP_SME2P1), HWCAP_CAP(ID_AA64SMFR0_EL1, SMEver, SME2, CAP_HWCAP, KERNEL_HWCAP_SME2), HWCAP_CAP(ID_AA64SMFR0_EL1, I16I64, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_I16I64), @@ -2911,12 +2935,23 @@ static const struct arm64_cpu_capabilities arm64_elf_hwcaps[] = { HWCAP_CAP(ID_AA64SMFR0_EL1, I16I32, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_I16I32), HWCAP_CAP(ID_AA64SMFR0_EL1, B16B16, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_B16B16), HWCAP_CAP(ID_AA64SMFR0_EL1, F16F16, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_F16F16), + HWCAP_CAP(ID_AA64SMFR0_EL1, F8F16, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_F8F16), + HWCAP_CAP(ID_AA64SMFR0_EL1, F8F32, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_F8F32), HWCAP_CAP(ID_AA64SMFR0_EL1, I8I32, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_I8I32), HWCAP_CAP(ID_AA64SMFR0_EL1, F16F32, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_F16F32), HWCAP_CAP(ID_AA64SMFR0_EL1, B16F32, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_B16F32), HWCAP_CAP(ID_AA64SMFR0_EL1, BI32I32, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_BI32I32), HWCAP_CAP(ID_AA64SMFR0_EL1, F32F32, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_F32F32), + HWCAP_CAP(ID_AA64SMFR0_EL1, SF8FMA, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_SF8FMA), + HWCAP_CAP(ID_AA64SMFR0_EL1, SF8DP4, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_SF8DP4), + HWCAP_CAP(ID_AA64SMFR0_EL1, SF8DP2, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_SF8DP2), #endif /* CONFIG_ARM64_SME */ + HWCAP_CAP(ID_AA64FPFR0_EL1, F8CVT, IMP, CAP_HWCAP, KERNEL_HWCAP_F8CVT), + HWCAP_CAP(ID_AA64FPFR0_EL1, F8FMA, IMP, CAP_HWCAP, KERNEL_HWCAP_F8FMA), + HWCAP_CAP(ID_AA64FPFR0_EL1, F8DP4, IMP, CAP_HWCAP, KERNEL_HWCAP_F8DP4), + HWCAP_CAP(ID_AA64FPFR0_EL1, F8DP2, IMP, CAP_HWCAP, KERNEL_HWCAP_F8DP2), + HWCAP_CAP(ID_AA64FPFR0_EL1, F8E4M3, IMP, CAP_HWCAP, KERNEL_HWCAP_F8E4M3), + HWCAP_CAP(ID_AA64FPFR0_EL1, F8E5M2, IMP, CAP_HWCAP, KERNEL_HWCAP_F8E5M2), {}, }; diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c index 8322e968fd0d..29155107d35d 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c @@ -130,6 +130,21 @@ static const char *const hwcap_str[] = { [KERNEL_HWCAP_SVE_B16B16] = "sveb16b16", [KERNEL_HWCAP_LRCPC3] = "lrcpc3", [KERNEL_HWCAP_LSE128] = "lse128", + [KERNEL_HWCAP_FPMR] = "fpmr", + [KERNEL_HWCAP_LUT] = "lut", + [KERNEL_HWCAP_FAMINMAX] = "faminmax", + [KERNEL_HWCAP_F8CVT] = "f8cvt", + [KERNEL_HWCAP_F8FMA] = "f8fma", + [KERNEL_HWCAP_F8DP4] = "f8dp4", + [KERNEL_HWCAP_F8DP2] = "f8dp2", + [KERNEL_HWCAP_F8E4M3] = "f8e4m3", + [KERNEL_HWCAP_F8E5M2] = "f8e5m2", + [KERNEL_HWCAP_SME_LUTV2] = "smelutv2", + [KERNEL_HWCAP_SME_F8F16] = "smef8f16", + [KERNEL_HWCAP_SME_F8F32] = "smef8f32", + [KERNEL_HWCAP_SME_SF8FMA] = "smesf8fma", + [KERNEL_HWCAP_SME_SF8DP4] = "smesf8dp4", + [KERNEL_HWCAP_SME_SF8DP2] = "smesf8dp2", }; #ifdef CONFIG_COMPAT From patchwork Tue Nov 14 14:35:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164958 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904692vqg; Tue, 14 Nov 2023 06:37:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IHmqXCFd1hc/E6dRCsKglqHhs+puuejYFGrFAgWwJiBA9TBYuyKelZV35C2trwVyLvJoyuo X-Received: by 2002:a05:6a20:5483:b0:186:91cd:cc65 with SMTP id i3-20020a056a20548300b0018691cdcc65mr5166246pzk.44.1699972664675; Tue, 14 Nov 2023 06:37:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972664; cv=none; d=google.com; s=arc-20160816; b=bDmfJaXIg1zkZzMtXpGP0s87yGQ3tEuzggg/zIxCCYoDPqRlyV499LOcVYjWtNZ7Un /E57/MsxgCNPi7ADMFqZsulBGN9SiGBcw3Fct4y+QgJ3RAUXOhqQE8uAAlhc9aNFgW3e ZkpLJ9O0vH4+LeYwBz/ShPjPfP8Y6YpFkBgWAnUrHCMuCLRbqSTc7aVZEWFmboDF6SKe v0+brAwT/4Sy7PZ4I++PbiOe7okYr0UZFPpEJTBTT+AaYG1bKTJr5G8ZNUq01Lpvc6mD sNaka6LAxwmERtZrAx22lnNJppMIDrB8nU00U5EwUcJdlxAQglSt0EkSxtMHHZnnj6is Xstw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=LaPafjzExR+WUSzuTY4eJPhkuar+2nmFaQ/TKnn9RZ8=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=DWhwpJ/iV6GDUA8oTLlOkgQ2UBTjCwcPKQPP3T2bJCPQaKois22oVkDv4jF0PCmVg1 0jKlkhNP8t82AE7oHkvNyDhQbjNwBbzkNs5uP0QaSlchW4+TuiDJMGD3Ho+mTgZa3TD9 U34w4OURqLrYgEiCSsa3fA/15DbJAVkhTp7fOBCiNlISIK8C+hOTuob2kq21X6zbOhFI 5srjcEo5K8q6sfsouhrbXUJxmblKU5lD2YQ9e8eRyXqB/3rAaFqAuQ5/xlhUREY+Fjgx a8G+50TbbPgq5BIC+KGsYWBbUrQFKCxEq7av0Ogf3Ut+oGJ4uv3C8GlJwi7CBKjpKaVU 0TlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YOS8KG4f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id f5-20020a056a00238500b006c0febe4496si8326077pfc.205.2023.11.14.06.37.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:37:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YOS8KG4f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id F2BC5803D8D3; Tue, 14 Nov 2023 06:37:36 -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 S233608AbjKNOhZ (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233607AbjKNOg4 (ORCPT ); Tue, 14 Nov 2023 09:36:56 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B04F41980 for ; Tue, 14 Nov 2023 06:36:20 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 49C02C433B7; Tue, 14 Nov 2023 14:36:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972580; bh=jvyJQ++Epw5Vr3/tG/z6+6Y9vzI/cjN2rH2C/CkHcMI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=YOS8KG4fVO3sjgOMo+FAHn64GDHolFxDFhb3NYUj8fzUzQFNPjlDg30ZmOYpBnAru tG/OfUrOJlx0wulfw2zaVlpNjhOWdeaYuZSk1y5WKKBWKQzEkSinYWQGr84FgvntA5 0BVpix+CA8Afc0bEK1SKV53obyaPXfYfAFzJUUHmJaQCyLZwa/IOZ6FhHIqupvjtzE YyOZ4jwEYRZ4XVKVafGt9toXiX4onS80XbKSKL4aHwfL1hQTJl09B+dJl8qQMYfRWw JMD11WTO3b9xoSuP3rvFBMYZsuAd1cMab0AgrmbwOWl6qDrDwwcfT4rP9HYcjwXTO2 nxQSCKgoFAOvg== From: Mark Brown Date: Tue, 14 Nov 2023 14:35:02 +0000 Subject: [PATCH v2 17/21] kselftest/arm64: Handle FPMR context in generic signal frame parser MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-17-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1642; i=broonie@kernel.org; h=from:subject:message-id; bh=jvyJQ++Epw5Vr3/tG/z6+6Y9vzI/cjN2rH2C/CkHcMI=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WihBluov0BrNbZHj3lKU43suw3FpTrP5aceS3k ldFYx6eJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFogAKCRAk1otyXVSH0DttB/ 0ZeHEuPXQopSQOn9tAF87i1SQZ/RrZwyxmPptMZxx7JsE7Dw7ko8FabbYbQyX235VU7PY/xaM3E2dq b+hbNedb5201bNO69pYHsDRwZhLvCWOeKTHuTuFUF1B2Fco9O19BN/OgD6iTJ9ccvA+EOh/nA7wtb+ //J11V+Zuw580IfZ5fBSZh77Tqp/53Jo8HzGrd1IozgeHTkQUVevtC4U+AOvXMS7sx7w3S+t85qLZV IDB9PbMAo0L/fpAQb+1NIkEbKiY1WlfT+viZJ978DYMdGUe/QtfwRq5mmPAWY1bXtl3ih4zkhVhT5h 62BCjQdiqLITLvKYF5yOZf0D5qM2kO X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:37:37 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550536795793981 X-GMAIL-MSGID: 1782550536795793981 Teach the generic signal frame parsing code about the newly added FPMR frame, avoiding warnings every time one is generated. Signed-off-by: Mark Brown --- tools/testing/selftests/arm64/signal/testcases/testcases.c | 8 ++++++++ tools/testing/selftests/arm64/signal/testcases/testcases.h | 1 + 2 files changed, 9 insertions(+) diff --git a/tools/testing/selftests/arm64/signal/testcases/testcases.c b/tools/testing/selftests/arm64/signal/testcases/testcases.c index 9f580b55b388..674b88cc8c39 100644 --- a/tools/testing/selftests/arm64/signal/testcases/testcases.c +++ b/tools/testing/selftests/arm64/signal/testcases/testcases.c @@ -209,6 +209,14 @@ bool validate_reserved(ucontext_t *uc, size_t resv_sz, char **err) zt = (struct zt_context *)head; new_flags |= ZT_CTX; break; + case FPMR_MAGIC: + if (flags & FPMR_CTX) + *err = "Multiple FPMR_MAGIC"; + else if (head->size != + sizeof(struct fpmr_context)) + *err = "Bad size for fpmr_context"; + new_flags |= FPMR_CTX; + break; case EXTRA_MAGIC: if (flags & EXTRA_CTX) *err = "Multiple EXTRA_MAGIC"; diff --git a/tools/testing/selftests/arm64/signal/testcases/testcases.h b/tools/testing/selftests/arm64/signal/testcases/testcases.h index a08ab0d6207a..7727126347e0 100644 --- a/tools/testing/selftests/arm64/signal/testcases/testcases.h +++ b/tools/testing/selftests/arm64/signal/testcases/testcases.h @@ -19,6 +19,7 @@ #define ZA_CTX (1 << 2) #define EXTRA_CTX (1 << 3) #define ZT_CTX (1 << 4) +#define FPMR_CTX (1 << 5) #define KSFT_BAD_MAGIC 0xdeadbeef From patchwork Tue Nov 14 14:35:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164967 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904887vqg; Tue, 14 Nov 2023 06:38:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IFB2VeB0l/iYQjKUkQv0IEmu4I2xfng8PbCq+DCDjeyQGpFugwwgpyxie/rX5bdX9C8JFx/ X-Received: by 2002:a05:6a21:3286:b0:186:c3a1:6687 with SMTP id yt6-20020a056a21328600b00186c3a16687mr4495951pzb.33.1699972686883; Tue, 14 Nov 2023 06:38:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972686; cv=none; d=google.com; s=arc-20160816; b=bGTz+B5Qa7+iGxgr7fuFy8r2c3ypp9Gt2RALrYcDf+qTgfKYi8zXmMzT/jTdA0gigO MNqbsjs2O9gmSdMLqCHOOzOUAo8/ibaqTSaXasRdoa740GAveqZSMEu7HCrHauUanhqs pemIHTkVXoe/8GQ/iPFqvmwH8W5ZeAtje7nPnSXIJRK/5m80hhUFHJinT7Z8BAdG91La I9V7FvSb6pNw7/ru8lKtAaId2JEHv7mnqLMDhnAT5cLj3LrpAi7Grmu6FdFDMTswj8OL 9iMSdsM6xd5G4mVd3BLWXPVWz+E+V33ujPQAgmrAcXY1DW3gujF64m/2HOJ4x6/WUKrb 7RpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=pRJrK7+o2eoP0KQrQI65SutP/RIi/WpxkuDhbEx21tE=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=vXXe4TBS6qVGWf/DmgCQxjOBSUc04SaI6SkKMd8R2JgWW7mBmcCLUBoCnN68lU/VLa XasE7ADCDnlVg8qh5YLckz8hOE0kCrSLcYBSoMWnEqFQYqHA8TCtNzCwf4j9xBKaBCog zqfAWc2WcUaXeBGSfPZLvp3ox2dhRpJl++DtQuBF6bSfkXI4qqMgisdkbea35y9//DKR ZRxXO5T0nS2tKKI3WahWqYoOIpLPO4/PA0G3HvPRqr/hlDSa+uf+5x4D0jJzqcA2oeNz te7UTpke677pLa8pXGrD1v9r5yYp0eRMv7KO0eLxHAixJIVN+hKetuF2bRtO62J33mHy WZSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FhClDHVg; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id l64-20020a638843000000b005be264316d8si8497642pgd.417.2023.11.14.06.38.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:06 -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=pass header.i=@kernel.org header.s=k20201202 header.b=FhClDHVg; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0BF5181043B6; Tue, 14 Nov 2023 06:37:44 -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 S233518AbjKNOhh (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52210 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233434AbjKNOhG (ORCPT ); Tue, 14 Nov 2023 09:37:06 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE762199F for ; Tue, 14 Nov 2023 06:36:23 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C67B4C433BB; Tue, 14 Nov 2023 14:36:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972583; bh=irtBwegYB+DXpSWW34B5isPMLTYQBsVR3AqcPDPAR5U=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=FhClDHVgXQ/fUVGGo+9j2VibBnmAldzFuTcCJZ886zPUWd4NIHoFe72o+MSYU+RZ7 FDL8CV47LqKn7c/E8psg7spZeGkAka28Fj/P02/BH6zziAk4ILXBgYlJUHAxEtZRwG jM2IwfPrLcUbv4nDb4E7pgw+Rcuf5HttsEYoK7TzdogX5Uldm0w0+0Ht1Kx06b8/43 OzbfENcf3G/f+CPGIXZ6ZPCGK+8lN85z3vc9kGZy0XKjeO+NgM2TlK12/HR6jol7Rx KZf6ob+3YQBUFbxruPlEp5n58jfq8dAlLlXpvwMHnxMw2kzQVhrS6XCt1QS5s4D9tu XvT0gUR14Zobg== From: Mark Brown Date: Tue, 14 Nov 2023 14:35:03 +0000 Subject: [PATCH v2 18/21] kselftest/arm64: Add basic FPMR test MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-18-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=2813; i=broonie@kernel.org; h=from:subject:message-id; bh=irtBwegYB+DXpSWW34B5isPMLTYQBsVR3AqcPDPAR5U=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WiPCcK6g4XDzQH51CyEevmUoVhDX+62HmCkTct 0KWEm/uJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFogAKCRAk1otyXVSH0F2FB/ 0cINuYxh6O1Ud5ocIKz/tH4Kx1xJwIDq45elc+inBWQXF3MQXvo9AuL8Y8wSllDzU034b0PRWp6Q9K 160Wk+yFlP+0QdY07e+iljh0M5eOqMMnlzxK9bIJdtpBGM/Cp3i0ElxXvTOP62YIGL32zhlXeemoWB 4LbITXGpVsQ6KFwFwIpr9+bwoL01Sckmko65LpsNZQHrlnCmsVwt1YHNDKd2jBDi8tgHUtmdRbpAL7 fOesE2IzJT6CwdwPVkeaq37hX3YI3U0EMZG85C+RY15p1hmt1fLdI5kXQfbWhHI7YM3cd8b92gnwQe Q0w/J8+lHLsUuO8KFUbqz7Em9dBuZ2 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 06:37:44 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550560265465665 X-GMAIL-MSGID: 1782550560265465665 Verify that a FPMR frame is generated on systems that support FPMR and not generated otherwise. Signed-off-by: Mark Brown --- tools/testing/selftests/arm64/signal/.gitignore | 1 + .../arm64/signal/testcases/fpmr_siginfo.c | 82 ++++++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/tools/testing/selftests/arm64/signal/.gitignore b/tools/testing/selftests/arm64/signal/.gitignore index 839e3a252629..1ce5b5eac386 100644 --- a/tools/testing/selftests/arm64/signal/.gitignore +++ b/tools/testing/selftests/arm64/signal/.gitignore @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only mangle_* fake_sigreturn_* +fpmr_* sme_* ssve_* sve_* diff --git a/tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c b/tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c new file mode 100644 index 000000000000..e9d24685e741 --- /dev/null +++ b/tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2023 ARM Limited + * + * Verify that the FPMR register context in signal frames is set up as + * expected. + */ + +#include +#include +#include +#include +#include +#include + +#include "test_signals_utils.h" +#include "testcases.h" + +static union { + ucontext_t uc; + char buf[1024 * 128]; +} context; + +#define SYS_FPMR "S3_3_C4_C4_2" + +static uint64_t get_fpmr(void) +{ + uint64_t val; + + asm volatile ( + "mrs %0, " SYS_FPMR "\n" + : "=r"(val) + : + : "cc"); + + return val; +} + +int fpmr_present(struct tdescr *td, siginfo_t *si, ucontext_t *uc) +{ + struct _aarch64_ctx *head = GET_BUF_RESV_HEAD(context); + struct fpmr_context *fpmr_ctx; + size_t offset; + bool in_sigframe; + bool have_fpmr; + __u64 orig_fpmr; + + have_fpmr = getauxval(AT_HWCAP2) & HWCAP2_FPMR; + if (have_fpmr) + orig_fpmr = get_fpmr(); + + if (!get_current_context(td, &context.uc, sizeof(context))) + return 1; + + fpmr_ctx = (struct fpmr_context *) + get_header(head, FPMR_MAGIC, td->live_sz, &offset); + + in_sigframe = fpmr_ctx != NULL; + + fprintf(stderr, "FPMR sigframe %s on system %s FPMR\n", + in_sigframe ? "present" : "absent", + have_fpmr ? "with" : "without"); + + td->pass = (in_sigframe == have_fpmr); + + if (have_fpmr && fpmr_ctx) { + if (fpmr_ctx->fpmr != orig_fpmr) { + fprintf(stderr, "FPMR in frame is %llx, was %llx\n", + fpmr_ctx->fpmr, orig_fpmr); + td->pass = false; + } + } + + return 0; +} + +struct tdescr tde = { + .name = "FPMR", + .descr = "Validate that FPMR is present as expected", + .timeout = 3, + .run = fpmr_present, +}; From patchwork Tue Nov 14 14:35:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164961 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904853vqg; Tue, 14 Nov 2023 06:38:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IHc44jIKPYk/vIJwK8SNwyhMpZlN9Hruf67yTR/EGcKRxn4hNCdzgYojq6bbs6wVacTW4tL X-Received: by 2002:a05:6a20:da9c:b0:13a:59b1:c884 with SMTP id iy28-20020a056a20da9c00b0013a59b1c884mr12704497pzb.40.1699972682342; Tue, 14 Nov 2023 06:38:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972682; cv=none; d=google.com; s=arc-20160816; b=e8alech/3hPNXCaj5IB3VrLinSHN/oAv0FYcXS3Rv2XLaQDkxcsIzjmjQ7lWBG/+1T LblnRps4iiBAtU1tBRRkR5Inpz46030EblrG136kRX//MGasx+1BahQxWfhBu3uXkOEF 04CXYxp/cuP0dIIu/i2UvhcR8R2GDQ9GeLvLR7CgocOixVqsv0/swAufW1RAA4IZ/shX 4dt2Ey0/30ihoMHEtz6vG1vDqGQ89Jo6U2f2PPWw59CbmRXWaxMiaTlIv6QFkWfiUx3i RHhk2ihIxkDFqxNQ1aOMuNGB1K87r8q4y4zxPqdXO4fA+UCm6M6aZQmQouTbz/peY7lQ Rm1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=swG6Ap0JdwNfCtJ/f2Hn/h8PjeTugt4dd2iPihakVAs=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=eUWUkdbQqoJJaldh09sqtqFxPVM8sFDRJJFvKu6q5kb25eXaVLYrdSTys7M1wo0dVK /Y1nScIHfNPQ0+vbZyqoEYBPG9mXE14gqcrKKurdNbtFgxDDHgc6YJbZgdXtVDzKJNpE Z96Ozsbi7Em7lGfi2VXgy+kFJabYZejWSSeS5SjEf1Y5kFam6NQeYszEUgzZo7vDKN7B g+RyTMX7D1QpdWmqWE8F9VaF4GEO8hJAqW2Wbh+R5kfJU83ZliauQiEO1AuB2WKPgsVx m904n1pnEXEwZ4WiS6rUT3hLr4vzdKFhj3Ohn/1RwsWOXfUYQvH/s5+UtBRjz6o0M+tN ZmEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=U2ZzEUiJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id p21-20020a056a000a1500b0068e45c6ca3fsi8172806pfh.93.2023.11.14.06.37.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=U2ZzEUiJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id D648C803D8E5; Tue, 14 Nov 2023 06:37:54 -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 S233479AbjKNOhl (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52104 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233520AbjKNOhN (ORCPT ); Tue, 14 Nov 2023 09:37:13 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 33FA2210A for ; Tue, 14 Nov 2023 06:36:26 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E92E0C116B8; Tue, 14 Nov 2023 14:36:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972586; bh=fY7XsyGWBCyMThKR5lWJhW/9PqmzwSI9SznLLw/I8/I=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=U2ZzEUiJ3wWx0kzLgjxvRKTz7YA/Pd7m7OqgcVPfgYhBG/daZI5OMXfmYCICpanw2 0M5Hn90wsaxXkivI978MGkZEhPPHYgJBQgYxpIx2xpLD19JHdtlDXJwSIM21RzXbFe vu0wPVTZnYQXIjahhT1VenU1WHC+idr2x9WPlcwIwf+pbI60ZA3bg8W7SViQKiAIz0 QzkoNpKRGbYrm8hSwjc0o4OIZvjC6IM6Rgxbu3z9wrGvEzHOs76aqo+Rl3UO2HBV+t EDJQ6L+hTO/1r4Vjt0KH9M/0X+WzLeHnFZGrrCZQ6EWqSU/+mrvPVF1CkumY5X2auX UeQL9YQIbrbUA== From: Mark Brown Date: Tue, 14 Nov 2023 14:35:04 +0000 Subject: [PATCH v2 19/21] kselftest/arm64: Add 2023 DPISA hwcap test coverage MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-19-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=6393; i=broonie@kernel.org; h=from:subject:message-id; bh=fY7XsyGWBCyMThKR5lWJhW/9PqmzwSI9SznLLw/I8/I=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4Wj/4DkTI74HONGL+kPoEJ65fWKRa+nL0DBlwok B0asQAuJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFowAKCRAk1otyXVSH0HvTCA CC7E6j5q4tx6cJuoQwcXq2HmscRKa1+FjE5yC1QvuF/Wq78X3qmB/wV8q1EBRI/Ouz47jBCbS1rwiM yOANxHk/dmXUdIcuFKoci5e+kryBc4oH7BOoXxZbx+7GOWErWjqz1Dh+eK8Yz7xJAv0jq3eHO4+os4 tifWXCbGq2jJ2Y1qpckV8Ii7uzIhFVv8HCF0MyjZEKp2vP0eawXKrbafXH0145gtfn8ce/gCzYngJy hJvv50zhpNQjCF8bP02N1SH6YGT0LO6vf/k7JVS7zypwA4WMPNWS+iWmQ/YSO3jl9ZNcmM05diQh/t 55Q5m0LT6ZjKv9n/q/GFtD6qFc8A5Z X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:37:54 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550554826724401 X-GMAIL-MSGID: 1782550554826724401 Add the hwcaps added for the 2023 DPISA extensions to the hwcaps test program. Signed-off-by: Mark Brown --- tools/testing/selftests/arm64/abi/hwcap.c | 217 ++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) diff --git a/tools/testing/selftests/arm64/abi/hwcap.c b/tools/testing/selftests/arm64/abi/hwcap.c index 1189e77c8152..d8909b2b535a 100644 --- a/tools/testing/selftests/arm64/abi/hwcap.c +++ b/tools/testing/selftests/arm64/abi/hwcap.c @@ -58,11 +58,46 @@ static void cssc_sigill(void) asm volatile(".inst 0xdac01c00" : : : "x0"); } +static void f8cvt_sigill(void) +{ + /* FSCALE V0.4H, V0.4H, V0.4H */ + asm volatile(".inst 0x2ec03c00"); +} + +static void f8dp2_sigill(void) +{ + /* FDOT V0.4H, V0.4H, V0.5H */ + asm volatile(".inst 0xe40fc00"); +} + +static void f8dp4_sigill(void) +{ + /* FDOT V0.2S, V0.2S, V0.2S */ + asm volatile(".inst 0xe00fc00"); +} + +static void f8fma_sigill(void) +{ + /* FMLALB V0.8H, V0.16B, V0.16B */ + asm volatile(".inst 0xec0fc00"); +} + +static void faminmax_sigill(void) +{ + /* FAMIN V0.4H, V0.4H, V0.4H */ + asm volatile(".inst 0x2ec01c00"); +} + static void fp_sigill(void) { asm volatile("fmov s0, #1"); } +static void fpmr_sigill(void) +{ + asm volatile("mrs x0, S3_3_C4_C4_2" : : : "x0"); +} + static void ilrcpc_sigill(void) { /* LDAPUR W0, [SP, #8] */ @@ -95,6 +130,12 @@ static void lse128_sigill(void) : "cc", "memory"); } +static void lut_sigill(void) +{ + /* LUTI2 V0.16B, { V0.16B }, V[0] */ + asm volatile(".inst 0x4e801000"); +} + static void mops_sigill(void) { char dst[1], src[1]; @@ -216,6 +257,78 @@ static void smef16f16_sigill(void) asm volatile("msr S0_3_C4_C6_3, xzr" : : : ); } +static void smef8f16_sigill(void) +{ + /* SMSTART */ + asm volatile("msr S0_3_C4_C7_3, xzr" : : : ); + + /* FDOT ZA.H[W0, 0], Z0.B-Z1.B, Z0.B-Z1.B */ + asm volatile(".inst 0xc1a01020" : : : ); + + /* SMSTOP */ + asm volatile("msr S0_3_C4_C6_3, xzr" : : : ); +} + +static void smef8f32_sigill(void) +{ + /* SMSTART */ + asm volatile("msr S0_3_C4_C7_3, xzr" : : : ); + + /* FDOT ZA.S[W0, 0], { Z0.B-Z1.B }, Z0.B[0] */ + asm volatile(".inst 0xc1500038" : : : ); + + /* SMSTOP */ + asm volatile("msr S0_3_C4_C6_3, xzr" : : : ); +} + +static void smelutv2_sigill(void) +{ + /* SMSTART */ + asm volatile("msr S0_3_C4_C7_3, xzr" : : : ); + + /* LUTI4 { Z0.B-Z3.B }, ZT0, { Z0-Z1 } */ + asm volatile(".inst 0xc08b0000" : : : ); + + /* SMSTOP */ + asm volatile("msr S0_3_C4_C6_3, xzr" : : : ); +} + +static void smesf8dp2_sigill(void) +{ + /* SMSTART */ + asm volatile("msr S0_3_C4_C7_3, xzr" : : : ); + + /* FDOT Z0.H, Z0.B, Z0.B[0] */ + asm volatile(".inst 0x64204400" : : : ); + + /* SMSTOP */ + asm volatile("msr S0_3_C4_C6_3, xzr" : : : ); +} + +static void smesf8dp4_sigill(void) +{ + /* SMSTART */ + asm volatile("msr S0_3_C4_C7_3, xzr" : : : ); + + /* FDOT Z0.S, Z0.B, Z0.B[0] */ + asm volatile(".inst 0xc1a41C00" : : : ); + + /* SMSTOP */ + asm volatile("msr S0_3_C4_C6_3, xzr" : : : ); +} + +static void smesf8fma_sigill(void) +{ + /* SMSTART */ + asm volatile("msr S0_3_C4_C7_3, xzr" : : : ); + + /* FMLALB V0.8H, V0.16B, V0.16B */ + asm volatile(".inst 0xec0fc00"); + + /* SMSTOP */ + asm volatile("msr S0_3_C4_C6_3, xzr" : : : ); +} + static void sve_sigill(void) { /* RDVL x0, #0 */ @@ -353,6 +466,53 @@ static const struct hwcap_data { .cpuinfo = "cssc", .sigill_fn = cssc_sigill, }, + { + .name = "F8CVT", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_F8CVT, + .cpuinfo = "f8cvt", + .sigill_fn = f8cvt_sigill, + }, + { + .name = "F8DP4", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_F8DP4, + .cpuinfo = "f8dp4", + .sigill_fn = f8dp4_sigill, + }, + { + .name = "F8DP2", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_F8DP2, + .cpuinfo = "f8dp4", + .sigill_fn = f8dp2_sigill, + }, + { + .name = "F8E5M2", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_F8E5M2, + .cpuinfo = "f8e5m2", + }, + { + .name = "F8E4M3", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_F8E4M3, + .cpuinfo = "f8e4m3", + }, + { + .name = "F8FMA", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_F8FMA, + .cpuinfo = "f8fma", + .sigill_fn = f8fma_sigill, + }, + { + .name = "FAMINMAX", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_FAMINMAX, + .cpuinfo = "faminmax", + .sigill_fn = faminmax_sigill, + }, { .name = "FP", .at_hwcap = AT_HWCAP, @@ -360,6 +520,14 @@ static const struct hwcap_data { .cpuinfo = "fp", .sigill_fn = fp_sigill, }, + { + .name = "FPMR", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_FPMR, + .cpuinfo = "fpmr", + .sigill_fn = fpmr_sigill, + .sigill_reliable = true, + }, { .name = "JSCVT", .at_hwcap = AT_HWCAP, @@ -411,6 +579,13 @@ static const struct hwcap_data { .cpuinfo = "lse128", .sigill_fn = lse128_sigill, }, + { + .name = "LUT", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_LUT, + .cpuinfo = "lut", + .sigill_fn = lut_sigill, + }, { .name = "MOPS", .at_hwcap = AT_HWCAP2, @@ -511,6 +686,48 @@ static const struct hwcap_data { .cpuinfo = "smef16f16", .sigill_fn = smef16f16_sigill, }, + { + .name = "SME F8F16", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_SME_F8F16, + .cpuinfo = "smef8f16", + .sigill_fn = smef8f16_sigill, + }, + { + .name = "SME F8F32", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_SME_F8F32, + .cpuinfo = "smef8f32", + .sigill_fn = smef8f32_sigill, + }, + { + .name = "SME LUTV2", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_SME_LUTV2, + .cpuinfo = "smelutv2", + .sigill_fn = smelutv2_sigill, + }, + { + .name = "SME SF8FMA", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_SME_SF8FMA, + .cpuinfo = "smesf8fma", + .sigill_fn = smesf8fma_sigill, + }, + { + .name = "SME SF8DP2", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_SME_SF8DP2, + .cpuinfo = "smesf8dp2", + .sigill_fn = smesf8dp2_sigill, + }, + { + .name = "SME SF8DP4", + .at_hwcap = AT_HWCAP2, + .hwcap_bit = HWCAP2_SME_SF8DP4, + .cpuinfo = "smesf8dp4", + .sigill_fn = smesf8dp4_sigill, + }, { .name = "SVE", .at_hwcap = AT_HWCAP, From patchwork Tue Nov 14 14:35:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164969 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1905116vqg; Tue, 14 Nov 2023 06:38:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IEo8KcUe6wZJb/cI3yso9lgnhAatvrAwg15ghxDJSEBmCtlJFjY4ra93Lze5yBzLXYZSCX/ X-Received: by 2002:a17:902:e845:b0:1cc:6078:52ff with SMTP id t5-20020a170902e84500b001cc607852ffmr3312060plg.26.1699972709129; Tue, 14 Nov 2023 06:38:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972709; cv=none; d=google.com; s=arc-20160816; b=fmOwFERmg4Nnf8VgL/amAv+wszIgloFBR4CAOtWoI9MN84L35lA1FYy6ksrR4d3sk4 9YV65l235oc7pZK007xxsnIoMh4P797nSU8bOavcQwk+n6BYXMwzdY7XsQ91qWq8W8Tu b4Sjj5W1htJINcUsi211/JdFQsObLgBNwmrduZA0vDF9kzTrh+7Hchpa/3QbMkhabzXa Ef7IsPAiYBIsxyrvWeB2UlpQ+F5UpwqRB8qqt+hng44mErZoGWF1HZ/ZrLYn9fuQaB3v vqJbtevmEKLLB9GvfYfDAyTjSQGR0WJ2q1h8rXQyGtkz4UmZjKZ7E6oTdL0NwVncB5RX mMeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=jeIm3rAxzL8i9EESVcRLofe+E0HmFD63BUkn1Pjvgmo=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=Ije/0XqHqLfCTSbSS9JMz1kU39fAjfPJuSx5Kyh/lkn2LiGMISa8+VHHDyBD1rNBxc bHNKhu+rHY9YPMs/u3Q9cR7JbERutAKiJDDhHF5Q1wmObYk7BTZ0pAjRkENko0Kyb842 ApH5FH6SwbfspuEBuOaoWRVhaYwUDqpXNOcSKDgQ/5ZBCFceVL5vGOS1V7myr+46HMcd AzYBS6ps/cNlZg6DXwKaGy1uViejpjh1OAwDAw4/uvD4gX1R26b7jXrjoLSGW1Iuos2H np7xZvIpWkGdDtUhy8LTV1xb3h8a+zb2tu/9UV3O1XfAyE6H7ZLpj+cMszjsTboQPJq9 6jaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MZdxZuqQ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id f15-20020a170902ce8f00b001b8a67f1c10si8658477plg.468.2023.11.14.06.38.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38:29 -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=pass header.i=@kernel.org header.s=k20201202 header.b=MZdxZuqQ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 326F480275AA; Tue, 14 Nov 2023 06:38:18 -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 S233538AbjKNOhp (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233522AbjKNOhO (ORCPT ); Tue, 14 Nov 2023 09:37:14 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17B98D73 for ; Tue, 14 Nov 2023 06:36:30 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14499C433BB; Tue, 14 Nov 2023 14:36:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972589; bh=RtrbRWeplo/J+dSChm3CUN1rkk7mxJJmNnU3ySYX5lo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=MZdxZuqQS/XCeGxM/kivPa7IpJWDktjqRlqNdMm66VzqGPfmiiHKa69wsy9kG7jKJ pIx9bouOUxMsa73sOeoGYYXUMmz1/gvvFli6MC5QY1XgU8zQ4+0nOKsEOtVSEKWgIA Q5UK0xyv0Ai9bpF07Roz/X8zcQ+/2Ou2TEJFZ9XuHNUrM1+FyxzHyUFEz5I9ZID4By WkhaP8rJE4UAAATpzfZ9LyyG8huR70oAO743hcixhgk4pzWgaoSn0ocN3S9exlMVgw iplMsk+ZxIr1PArpIQgQg2skqPO+77Lh7DlXXcA9t4aCkBqHBblgJoMZJa1xA4xSwF FZbEk/lXIsz6Q== From: Mark Brown Date: Tue, 14 Nov 2023 14:35:05 +0000 Subject: [PATCH v2 20/21] KVM: arm64: selftests: Document feature registers added in 2023 extensions MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-20-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1469; i=broonie@kernel.org; h=from:subject:message-id; bh=RtrbRWeplo/J+dSChm3CUN1rkk7mxJJmNnU3ySYX5lo=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4Wk6Rdizd0teYDpHLF5vYfFahxZEHcZmnD2tO0f 90YAn6OJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFpAAKCRAk1otyXVSH0FMfB/ 0a7BR0gFJP7bzs3Z5Q80cNK5sYdcR7PAh7c233DaEhaMh+1cU5qxOgVbRM70SM9IjdNFSs9uPyTfsk r8NQePoJanKT3ZiSLWYPHgTkuCuI8vdUxTqHh+69MEb9JWeHsa6vXaYQfXVtBxuSLbQX1x8/74McdD GMoSizo6vLPiNBgW1xMQDnTF2OMPyfkeGKHeymXcMcD58PnKWxbizCSYgYo5u6GhrBPlBkxaUKwn0p bGvsZzGZO5MHXTAFKDY8P3t/6S183grwwFLqtYVh49dnedOMGCsqawEMqX7SMWgTctXZJIZY8UpN5E ULM26iJ84hgRZq2a3v+tEs7bKbOF82 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:38:18 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550583517370378 X-GMAIL-MSGID: 1782550583517370378 The 2023 architecture extensions allocated some previously usused feature registers, add comments mapping the names in get-reg-list as we do for the other allocated registers. Signed-off-by: Mark Brown --- tools/testing/selftests/kvm/aarch64/get-reg-list.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/kvm/aarch64/get-reg-list.c b/tools/testing/selftests/kvm/aarch64/get-reg-list.c index 709d7d721760..71ea6ecec7ce 100644 --- a/tools/testing/selftests/kvm/aarch64/get-reg-list.c +++ b/tools/testing/selftests/kvm/aarch64/get-reg-list.c @@ -428,7 +428,7 @@ static __u64 base_regs[] = { ARM64_SYS_REG(3, 0, 0, 4, 4), /* ID_AA64ZFR0_EL1 */ ARM64_SYS_REG(3, 0, 0, 4, 5), /* ID_AA64SMFR0_EL1 */ ARM64_SYS_REG(3, 0, 0, 4, 6), - ARM64_SYS_REG(3, 0, 0, 4, 7), + ARM64_SYS_REG(3, 0, 0, 4, 7), /* ID_AA64FPFR_EL1 */ ARM64_SYS_REG(3, 0, 0, 5, 0), /* ID_AA64DFR0_EL1 */ ARM64_SYS_REG(3, 0, 0, 5, 1), /* ID_AA64DFR1_EL1 */ ARM64_SYS_REG(3, 0, 0, 5, 2), @@ -440,7 +440,7 @@ static __u64 base_regs[] = { ARM64_SYS_REG(3, 0, 0, 6, 0), /* ID_AA64ISAR0_EL1 */ ARM64_SYS_REG(3, 0, 0, 6, 1), /* ID_AA64ISAR1_EL1 */ ARM64_SYS_REG(3, 0, 0, 6, 2), /* ID_AA64ISAR2_EL1 */ - ARM64_SYS_REG(3, 0, 0, 6, 3), + ARM64_SYS_REG(3, 0, 0, 6, 3), /* ID_AA64ISAR3_EL1 */ ARM64_SYS_REG(3, 0, 0, 6, 4), ARM64_SYS_REG(3, 0, 0, 6, 5), ARM64_SYS_REG(3, 0, 0, 6, 6), From patchwork Tue Nov 14 14:35:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 164968 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1904964vqg; Tue, 14 Nov 2023 06:38:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IE7wdNSFaCYVjVbi0baBmWf1azGDPS94ntuaeKYpq1G74hvsj4uvdt3GJQwpnniO98ZmG1g X-Received: by 2002:a17:90b:4b4b:b0:280:16bb:8169 with SMTP id mi11-20020a17090b4b4b00b0028016bb8169mr6737183pjb.40.1699972694102; Tue, 14 Nov 2023 06:38:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699972694; cv=none; d=google.com; s=arc-20160816; b=pOROvdTU/+W92vkL7LkgMkUz0UewQcuRk5qmx2VefRm2Wtl9wm5Xyio4OW4Mnb2YDP apV9gGNpJTIhZTBYqQYAZ70il2+cuKV4B2Xdxb28c+EQb9V1Z662axjKuEMT9+JNMZIL Cw6uD1xGwd6UW6lA61++2NNF3y7BgS4zPjcArXEzQ81KjNKIBjMqb6zdElV21Grg0gCu fsC4DmdcU+KhT5WarDh8HTWHdw9otb7ICYdmD7bTcEE0RNrZKN59tQMnBoOLTm4XlhDz XFtIDoo8B4B5dpPnuRSjB4d+OiSH9eJcOJvULO2iSTKhKFb87zWOTTwiXdggEQfR+mtL R1vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=Saga8KShry1AaMrcnIVjzd2Ya6qmA/WXMisN5fTtPLM=; fh=YkHi0OKyzCxiOYBLKPiYIDkwR1WpYn/xs8G+kcuZCxc=; b=UChrt3++nstiEn5K3rDN3QctkjRG4NkxjxBeuE+f8v3Dk00XBu2m1jvVhx8ECscSX7 VPZXFGdueDx1un5dBLiseOvF4bQoXLefOX4+zSc3wLXzXT9CqhM14KpQcs/LR6AEEngZ c/zwYqoiWsejD40E8Ezh1A2HjwDq5Jo7/Coxn6llBbch0PYVPUC0kwz0Ih+IwKn417OP kKciwnjFjv3cEQJv4o3NhkT3n54lh2kkqr66e2noJ6V4hTElkyn1qfJ1zsQZIPYUdJds OPdLEG80nJYacba3SYcnCekZn9JTGOV85MIjYE5WlWUGP7RudhW/avvFVcMwxlwIcnB+ rhXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NJ9jhbCZ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id h2-20020a17090acf0200b0027902dc4914si702245pju.161.2023.11.14.06.38.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 06:38: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=pass header.i=@kernel.org header.s=k20201202 header.b=NJ9jhbCZ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 752EF803D8E9; Tue, 14 Nov 2023 06:38:09 -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 S233619AbjKNOhx (ORCPT + 29 others); Tue, 14 Nov 2023 09:37:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233628AbjKNOhW (ORCPT ); Tue, 14 Nov 2023 09:37:22 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F48A19AD for ; Tue, 14 Nov 2023 06:36:33 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 31FD3C116B8; Tue, 14 Nov 2023 14:36:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699972592; bh=uwufjRPZpufB4WAKz4BvxO1YI+sO9dPrjMMi385iZbk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=NJ9jhbCZtT33Qvof3TlCzkkFhz5s+fq7thPKABIDhzv7DUXN8pq3oHHiIRGSktlnL 72ejabE3GFSkmCUq/2YFLnc+cZDPYbw0e/kjIyvkxRWtZbyYGa4IiJQfayH/fIfkqf 92R+7hAZa7klpM9Fb0GqNK+XEUE7cWnUj4IcowB8lyqnbVzb1oLcEUMcgl1XsDtcnV 300Bv9ThGLCHhms8Hq8sl+5ZoO8zlP7QoqX9W/DysaVyRU0errvieR7fHGoiZpOZST U0uJMg3MijVfNMRWpz05QcirghdcvKuGLyvSxIm27WI84zoGz+Ce42un29uyb65Mlm XCncXueZaM1RQ== From: Mark Brown Date: Tue, 14 Nov 2023 14:35:06 +0000 Subject: [PATCH v2 21/21] KVM: arm64: selftests: Teach get-reg-list about FPMR MIME-Version: 1.0 Message-Id: <20231114-arm64-2023-dpisa-v2-21-47251894f6a8@kernel.org> References: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> In-Reply-To: <20231114-arm64-2023-dpisa-v2-0-47251894f6a8@kernel.org> To: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Jonathan Corbet , Shuah Khan Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Mark Brown X-Mailer: b4 0.13-dev-0438c X-Developer-Signature: v=1; a=openpgp-sha256; l=1321; i=broonie@kernel.org; h=from:subject:message-id; bh=uwufjRPZpufB4WAKz4BvxO1YI+sO9dPrjMMi385iZbk=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBlU4WljyZx9r11YL8tcSv5B8kuEfjpvUQEKebxv1Zj Tas9auiJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZVOFpQAKCRAk1otyXVSH0BRGB/ 0eKQ35FdG4nEY5EMIhWlYN7NyAik/Z8VmcnuImgEnedGuih5QNXSXGmyTcg+eoM3Ug+sF+9HdXnYs6 r7BGS+4K0FAIhZ8EemtAZnN7MHTkCtiaWndEdzRG4u9ekRHwvcfslpdgQoETJVHO6h0n2/gRIpZGlI 90D1oWpNyYWZjFpTh61erW89DUsGuj0ljQU26xo5eMnef9S3riMClGoK/1AqLOtlu/98ZZ4ebfvCI6 gh0C7bmQdtzP2sd32hYuAJk6OUQ8etGAoh9fxNtgUKKSZLRhfTCIkBjGkrhMKR6W9/MheCeCvIADvH bKXZvUhzzWTmEAEKQBIeFt8R0l5BPO X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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]); Tue, 14 Nov 2023 06:38:09 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782550567743294426 X-GMAIL-MSGID: 1782550567743294426 FEAT_FPMR defines a new register FMPR which is available at all ELs and is discovered via ID_AA64PFR2_EL1.FPMR, add this to the set of registers that get-reg-list knows to check for with the required identification register depdendency. Signed-off-by: Mark Brown --- tools/testing/selftests/kvm/aarch64/get-reg-list.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/testing/selftests/kvm/aarch64/get-reg-list.c b/tools/testing/selftests/kvm/aarch64/get-reg-list.c index 71ea6ecec7ce..1e43511d1440 100644 --- a/tools/testing/selftests/kvm/aarch64/get-reg-list.c +++ b/tools/testing/selftests/kvm/aarch64/get-reg-list.c @@ -40,6 +40,12 @@ static struct feature_id_reg feat_id_regs[] = { ARM64_SYS_REG(3, 0, 0, 7, 3), /* ID_AA64MMFR3_EL1 */ 4, 1 + }, + { + ARM64_SYS_REG(3, 3, 4, 4, 2), /* FPMR */ + ARM64_SYS_REG(3, 0, 0, 4, 2), /* ID_AA64PFR2_EL1 */ + 32, + 1 } }; @@ -481,6 +487,7 @@ static __u64 base_regs[] = { ARM64_SYS_REG(3, 3, 14, 2, 1), /* CNTP_CTL_EL0 */ ARM64_SYS_REG(3, 3, 14, 2, 2), /* CNTP_CVAL_EL0 */ ARM64_SYS_REG(3, 4, 3, 0, 0), /* DACR32_EL2 */ + ARM64_SYS_REG(3, 3, 4, 4, 2), /* FPMR */ ARM64_SYS_REG(3, 4, 5, 0, 1), /* IFSR32_EL2 */ ARM64_SYS_REG(3, 4, 5, 3, 0), /* FPEXC32_EL2 */ };