From patchwork Tue Jul 27 18:06:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 12403357 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 648ABC4338F for ; Tue, 27 Jul 2021 18:25:05 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2BBE060F37 for ; Tue, 27 Jul 2021 18:25:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 2BBE060F37 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=imnBNTuhs2Isl6nJ4r7zz/eb519/AJ2Zs01ueLghKTo=; b=5EfGgwXBVpLnrG rhN1+Zbf72DrZNI76gVl2tLmZe2NCuqib9gBf3Yitd3ienGr+7ciK3OyzALHkfdRxrKufMvO8/PG0 nqNNQ/8R8O/e77IPmI5sNtWKl8dswkYvv1FROvyNX5HDqqUFRgXbysw4AsQ52yWaV8AV+SRBtW607 nj3HmpDVe5H+qf6KunLGuPCSIksjGZr/xmllyk9Htfv9pPV7xq8zz0Ek1YWEKXlFquyem7y1Q/U8o X0LIa5qK1Zj5+5/W6PBS4RvlwfzlPZ7EAF/0qzO2bOYydb+MSEKsd3xP9uCQEgsyVFGog4zGGzmtP WvWl1qNptitB0mKE/Y3Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m8RjS-00Fpsu-By; Tue, 27 Jul 2021 18:23:11 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m8RZ2-00Fl4M-2c for linux-arm-kernel@lists.infradead.org; Tue, 27 Jul 2021 18:12:25 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id AB2D36056B; Tue, 27 Jul 2021 18:12:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627409543; bh=7RcIOsMhPqCjVMlALQAqOfz8y3JOmozD0Sg4zco0w48=; h=From:To:Cc:Subject:Date:From; b=s4ylFIWP1fqekNBfyvC46mDuYk8Nj6IiiRGTsM/dVIkHDgSgSgKEcUblW+pPgWfSr aiIWdqOw0wpkOnSB9Kh3UthshXsK9QrZkGJoyV4OHYNbTi6Kl4npnowfmoaVzh0/VJ 95JkClrQB7FoK62jqAvKs8wd5JBqpCdqOK6AHddnxpU1cFYuGyRuSc4sDZDtCJVOPP q6EqPyfWWr8xIduJ9eIUUioscck0cXwqLs4NJKpjwKdDsrThwEYVxhIHwKCZwyYp5e DzcJGsJiQhDMUYDSh+SJY3dUwIjdtAGzTs+hTAEHoT1RporeRgA5l6XI3rcFrte3Gw Owid66HH10qfQ== From: Mark Brown To: Catalin Marinas , Will Deacon , Shuah Khan Cc: Dave Martin , linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, Mark Brown Subject: [PATCH v1 0/3] kselftest/arm64: Vector length configuration tests Date: Tue, 27 Jul 2021 19:06:46 +0100 Message-Id: <20210727180649.12943-1-broonie@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2117; h=from:subject; bh=7RcIOsMhPqCjVMlALQAqOfz8y3JOmozD0Sg4zco0w48=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBhAEs1hXZZGYAYENQPTGZoDCZyuj19iYSp4ALg7M0g YZNRH5SJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCYQBLNQAKCRAk1otyXVSH0BqEB/ 4gHO01LY2Gi9kS1gGWGTkv/t9Wy/X33yQ7ozp/TEsIOkFQI9vhrGv7LCBtRezubElV8D0neescaBK/ iuPaVZKhxqJkouaR1Y1PFyVmif4kKUAXvDikVcJdZYsMsJPCwnUfMOWDHvz3BYrKPMLziYahCGpEhe muQbJORnLcPwbFGfR9IdAcyqJs1a7LTq6oum4QtoTpXsH0FTRW5zLrwtWiA86scQkdF2CYVDM87Mjg E8sDviLlSV6Tzh2rWJs2gPNuC5WUtWt/TANizgnlDExb0p+JJ74eKswCoxwdD//HWoaH4B0IcDWjOh EAL1YDEDvzuOLwWjxryOks5k+hDz68 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210727_111224_207766_67E6768A X-CRM114-Status: GOOD ( 12.39 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Currently we don't have full automated tests for the vector length configuation ABIs offered for SVE, we have a helper binary for setting the vector length which can be used for manual tests and we use the prctl() interface to enumerate the vector lengths but don't actually verify that the vector lengths enumerated were set. This patch series provides a small helper which allows us to get the currently configured vector length using the RDVL instruction via either a library call or stdout of a process and then uses this to both add verification of enumerated vector lengths to our existing tests and also add a new test program which exercises both the prctl() and sysfs interfaces. In preparation for the forthcomng support for the Scalable Matrix Extension (SME) [1] which introduces a new vector length managed via a very similar hardware interface the helper and new test program are parameterised with the goal of allowing reuse for SME. [1] https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/scalable-matrix-extension-armv9-a-architecture Mark Brown (3): kselftest/arm64: Provide a helper binary and "library" for SVE RDVL kselftest/arm64: Validate vector lengths are set in sve-probe-vls kselftest/arm64: Add tests for SVE vector configuration tools/testing/selftests/arm64/fp/.gitignore | 2 + tools/testing/selftests/arm64/fp/Makefile | 11 +- tools/testing/selftests/arm64/fp/rdvl-sve.c | 14 + tools/testing/selftests/arm64/fp/rdvl.S | 9 + tools/testing/selftests/arm64/fp/rdvl.h | 8 + .../selftests/arm64/fp/sve-probe-vls.c | 5 + tools/testing/selftests/arm64/fp/vec-syscfg.c | 578 ++++++++++++++++++ 7 files changed, 624 insertions(+), 3 deletions(-) create mode 100644 tools/testing/selftests/arm64/fp/rdvl-sve.c create mode 100644 tools/testing/selftests/arm64/fp/rdvl.S create mode 100644 tools/testing/selftests/arm64/fp/rdvl.h create mode 100644 tools/testing/selftests/arm64/fp/vec-syscfg.c base-commit: ff1176468d368232b684f75e82563369208bc371