From patchwork Mon Jan 9 19:26:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Rob Herring (Arm)" X-Patchwork-Id: 13094153 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 293E2C5479D for ; Mon, 9 Jan 2023 19:27:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:MIME-Version:Message-Id:Date: Subject: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=9vAhzji0dQ33UlZXxxT+2yQDLRz2FsLgSKpzbdG7hrM=; b=DYrIoebn80v8GV Nlbr0faPxzdzWN24y0OLwwlBrix/jW1T8yqynZkotXlqStMXr0NoqlHkMiqxIrbJ9g3s+avjF9I1+ mFTeIIVUWP5jSAa0LzRGyCOfTPwlXJiLdPpkXfDB0m6tSfESOylGxlIiMi8nh9BfJLoL/atYtvcJ/ vlmE6NUukZIS9sOW4qJv7owsul+C2EELyNnS2DHYsX8g6alEYOjFVZ8WREdRi7Vyy4g8D0waHpobx 4vLbGOtJTrbojwbgzi6oOlh+w0cVtUeUdn/DwS7rYuxGDOcJHF7sUID/ZUKN/elI2O6k4dEXvv4oe knvTqz5Dxc+Yz4gVZP8g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pExnB-003c74-0O; Mon, 09 Jan 2023 19:26:45 +0000 Received: from mail-oo1-f51.google.com ([209.85.161.51]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pExn1-003c2p-FJ for linux-arm-kernel@lists.infradead.org; Mon, 09 Jan 2023 19:26:39 +0000 Received: by mail-oo1-f51.google.com with SMTP id 187-20020a4a09c4000000b004d8f3cb09f5so2678935ooa.6 for ; Mon, 09 Jan 2023 11:26:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yp8JdvF4JGjAOoO+JkWqYIq2KRzORi/rQl4T8RRSxME=; b=5kCXBnNvME2QTJEc8OktYL9inYNSoUxJS2STpJcpq1noDSn3HD5Un4OXCpFS5bj/XE dvhj6tKW4HeJHSUnJf/CyWUbLFWEvr5F/77WisS8Tt1zknOy7/bBeuUoDjCDigR5Jaih 6EGAa/G9ipKcW5SXNUcvgw8fqPztoNTxqebjIjxSGMGsNW/3mNm9avkldxnLewDoidpo UFkE76LjyfzcRIF+/TzTxo76GY99Y7Gng783x/rV9REWDdRyk4Oyt1Hx5h6zcTZh9lwT EgLZIATlTQlO480FnPclcfL/Cjipg1sz6TZIhTyx+OG9P6sflMUfgidPFK2BPAChmDPJ mRrg== X-Gm-Message-State: AFqh2kppb+H28KKuux5oVj8MnypZGjecrQPuD1irvWajWdsGJWDxZ6lb jtKrnvsxttAUDMA3DQfomfDJ9MulrQ== X-Google-Smtp-Source: AMrXdXvSFir+DX3JReWJXkByMkbmVvVh/qFsGZDjfj2ioJ8TlxEwlmfZdeyAtE0+NuibVjMwKYWxZg== X-Received: by 2002:a4a:9613:0:b0:4a3:9f7a:add0 with SMTP id q19-20020a4a9613000000b004a39f7aadd0mr28637976ooi.5.1673292392657; Mon, 09 Jan 2023 11:26:32 -0800 (PST) Received: from robh_at_kernel.org (66-90-144-107.dyn.grandenetworks.net. [66.90.144.107]) by smtp.gmail.com with ESMTPSA id e40-20020a056820062800b004f1c4baa96bsm4640563oow.6.2023.01.09.11.26.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Jan 2023 11:26:32 -0800 (PST) Received: (nullmailer pid 1483603 invoked by uid 1000); Mon, 09 Jan 2023 19:26:31 -0000 From: Rob Herring Subject: [PATCH v4 0/8] perf: Arm SPEv1.2 support Date: Mon, 09 Jan 2023 13:26:17 -0600 Message-Id: <20220825-arm-spe-v8-7-v4-0-327f860daf28@kernel.org> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAFlqvGMC/33NQQrCMBAF0KuUrB1JJ20TXXkPcZGm0zZYU0k0I KV3d3AnYlfD//D+LCJR9JTEsVhEpOyTnwOHalcIN9owEPiOs0CJKA3WYOMN0p0gG9DQU9fLisqm RyWYtDYRtNEGNzIKz2nicvTpMcfX50Uu+Zz/rOUSJDhdt6Y7IDUHPF0pBpr2cxzEhZcybmlkTUo rxK4x1skfrba0Ym10Y7DXxlnrvvS6rm9MxsJPKgEAAA== To: Peter Zijlstra , Will Deacon , Mark Rutland , Catalin Marinas , Marc Zyngier , James Morse , Alexandru Elisei , Suzuki K Poulose , Oliver Upton , Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , Jiri Olsa , Namhyung Kim Cc: Mark Brown , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-perf-users@vger.kernel.org, James Clark X-Mailer: b4 0.12-dev X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230109_112635_546199_FF81EFDB X-CRM114-Status: GOOD ( 15.98 ) 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 Peter, this series is blocked on an ack from you on patch 7. There was some discussion on validation of the 'config3' attr. The options where laid out by Mark here[0]. Please chime in on your preference. Will, can you pick up patches 1-6 at least if there's no progress on 'config3'. This series adds support for Arm SPEv1.2 which is part of the Armv8.7/Armv9.2 architecture. There's 2 new features that affect the kernel: a new event filter bit, branch 'not taken', and an inverted event filter register. Since this support adds new registers and fields, first the SPE register defines are converted to automatic generation. The perf tool side changes are available here[1]. Tested on FVP. [0] https://lore.kernel.org/all/Y49ttrv6W5k3ZNYw@FVFF77S0Q05N.cambridge.arm.com/ [1] https://lore.kernel.org/all/20220914-arm-perf-tool-spe1-2-v2-v4-0-83c098e6212e@kernel.org/ Signed-off-by: Rob Herring --- Changes in v4: - Rebase on v6.2-rc1 - Link to v3: https://lore.kernel.org/r/20220825-arm-spe-v8-7-v3-0-87682f78caac@kernel.org Changes in v3: - Add some more missing SPE register fields and use Enums for some fields - Use the new PMSIDR_EL1 register Enum defines in the SPE driver - Link to v2: https://lore.kernel.org/r/20220825-arm-spe-v8-7-v2-0-e37322d68ac0@kernel.org Changes in v2: - Convert the SPE register defines to automatic generation - Fixed access to SYS_PMSNEVFR_EL1 when not present - Rebase on v6.1-rc1 - Link to v1: https://lore.kernel.org/r/20220825-arm-spe-v8-7-v1-0-c75b8d92e692@kernel.org --- Rob Herring (8): perf: arm_spe: Use feature numbering for PMSEVFR_EL1 defines arm64: Drop SYS_ from SPE register defines arm64/sysreg: Convert SPE registers to automatic generation perf: arm_spe: Drop BIT() and use FIELD_GET/PREP accessors perf: arm_spe: Use new PMSIDR_EL1 register enums perf: arm_spe: Support new SPEv1.2/v8.7 'not taken' event perf: Add perf_event_attr::config3 perf: arm_spe: Add support for SPEv1.2 inverted event filtering arch/arm64/include/asm/el2_setup.h | 6 +- arch/arm64/include/asm/sysreg.h | 99 +++-------------------- arch/arm64/kvm/debug.c | 2 +- arch/arm64/kvm/hyp/nvhe/debug-sr.c | 2 +- arch/arm64/tools/sysreg | 139 +++++++++++++++++++++++++++++++++ drivers/perf/arm_spe_pmu.c | 156 ++++++++++++++++++++++++------------- include/uapi/linux/perf_event.h | 3 + 7 files changed, 257 insertions(+), 150 deletions(-) --- base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2 change-id: 20220825-arm-spe-v8-7-fedf04e16f23 Best regards,