From nobody Mon Sep 28 21:03:56 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D87DB448B9F for ; Mon, 17 Aug 2026 16:02:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786982568; cv=none; b=rEHy2k65qZUNwmRAhnCrp4tN07Kmy50WPESr4nVc20mq8ZC9ItTzTGLKIzOzD9tyFETLvzDkYs+7DLf31gLuAZTNIYjO2iUVBA2Zf/9g2kUrdl7Aq/SnoWLbxDlmQMj68df/sKMJSXoZhm1/aq3+onHKEPW+FebNZnOO4DVWcOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786982568; c=relaxed/simple; bh=Ldv8EdppRWOPwNTECWUx+Uit6DS4cMsliryNurou6fY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kK4OMArrqsfo1buSb0Hm+epbtUGiZDKMGqg7rCxyMO/HFLA0/E4UpO0MSFQob4/SnJbll9zvGE1kFYc20RcqFrs6OF74IZGuLSfJnE3AXVQp4Wx0AWwtB0DXf4ykMcdP1Ku1KHUhBu6ph77Nh1BfxnVcdax7U+wDDyxEGNEUOx8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=iT1PrO+P; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Jdsbfn2J; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="iT1PrO+P"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Jdsbfn2J" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67HFYsO82572819 for ; Mon, 17 Aug 2026 16:02:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=DRZIbW1vGBp /wtVL8vbCZ6t98BD8d3Nj0MpYQ1ianMs=; b=iT1PrO+P4jWxtYAFL4U2OFfSqcc RXSacy+IBUy6gH0+wfZ6Txm9VFCy8SECckJ3bKmfV3aMVlZCxF8v3kAM1HTzXTyq VgoJ4468KKeIvZHuaWIyRiY7pGqbV/g7jbdQmNrFxFsNi7qatP13ZZHX+ZK3kNBR 1vluveu6HCUTsE8PBUm1SzHhGQL2zCDeoDkQuHyb7wvuL3chsD/AwpGLA2nQPRJM uO0ZQUgmcvpcQDIPp6FNwxe/fIgaOvMEXBYrOyVXoT56xphmjN/OHthmNNKfYJwk Sa47MfoCD7k/1ziR3KNZRx9WNEurBN1a36PmvTmgBnQV+tJ6DOcZidiyiiQ== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g3xyk9s02-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 17 Aug 2026 16:02:45 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-84e4ef486c7so33329b3a.1 for ; Mon, 17 Aug 2026 09:02:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786982565; x=1787587365; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=DRZIbW1vGBp/wtVL8vbCZ6t98BD8d3Nj0MpYQ1ianMs=; b=Jdsbfn2Jk0Qqx3jJKnzWcGlMQUsMZtIQ8Me/DvjXLvziHaXh+d8QbQP20DlUB3NC3E Gy9YyMNnVgseXDiP0T81M8jymcAOSIl978kSb3RJ1xqbmP06MHcKSA9d7wzh4kCo2NVW 4LljsU1fikMAfuN/3YbsYFcAAAO8vp7Y/PMuaYn44OHy6CPs9dMwkuO4PN0GgsunMJOK pYQAqcHuwGTEk6yFAx4dLyC7ue0BGz5/lQhk1vT08H2PX3VtmAAaVRrjGD01pwwGyW3J Iie6qW9pjIHRm7kjGYk7zbCjM8UQtB7B0ly6XvoLq+MtB1gX/YdXt3zxvxFxUQYCckeX FsnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786982565; x=1787587365; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=DRZIbW1vGBp/wtVL8vbCZ6t98BD8d3Nj0MpYQ1ianMs=; b=gUW4Tmoyix5Kr03Y0UavES00dIBae5BIBel/Ave5ft855NuSvibxkxAb0oLczMtClK BEbFFNFm97kV90QSJF+NR6vnhy90S0ZXaK4qSZy5aWtsbKzEZzp9MwZmmuMQZgtFHdcP WSd7fr1jY7U0zrsywEqabzXKk4x+z2R112HIcgkXcp3yKABOqpUUp4wxMonl4C89sA5u NKM3cvR7RLMXaHg0/Wz9MqtNDYwNLJkMQ76t4txeOZijaUrO7rnxni0d6KQlSDBAtmxt CcJEflIk6ZkUgH0kYtr6ePhN7CJ2DGCW1+x/+pc3ABBPz+BFKLObuGNkZDWGolZHt1dE R/ZA== X-Forwarded-Encrypted: i=1; AHgh+RrCcnD9ZP+sfG9UMmvAHseed0vIQSbeHbvTLxX5/NAgVwsl1ajGyTRpJGiW4y36H2kvQxPYhw6GWENBVyc=@vger.kernel.org X-Gm-Message-State: AOJu0YyHC+7JtgIC+O9zcm8lVGDd672Ha7kLbO0ddUFeB/9mXcKbZOmP DejMNo4x/jDVrv31yZG1zf3EygFDeDH+GZHTi0nuWwqKdhquIl4Y6KI94j3xCv0Gx4h2QGWF3/G RuV1PcTjQba27XC6PUmAuJUfaIRpst5XQAl/TBAuGo2GdVfY6XW8QU38VvYYalGbrQks= X-Gm-Gg: AR+sD10WmP31tgcHuCVleyBzCr6i8dqd6inCFRcu3qqJJSj+piU/GtDCcIDqwgcrU5l UW+7Vc0Q8SHFadBQ0GawlOzlP70R8FAy7y8TcmI2+MO7u+e/6fHDmWwocavNUMaP1GSroTAvl25 EeAr0MkrhEVzDAegdygeD6hrmK5qKKfzAlHSidHUHJNlUR4/4wiXzW5W50B/lRLLCHfbqGhOMc6 580iy8VTresg91NVXkIUgBsE7TAl3TfqfkzJPVmU6HX3D7OTceFQDhWQsu78vj/vvSKj6q3LtI4 04gjw/kXF+tJwJNitGGrmb0spIWex2/U1L7lW0yTTaX/vnSI+7+aj3yEFV5W0wSC6s+FKjXk/In n9PnIobHJAqYPrtNuP6YkaW0RxhQTXgbdm1uhaH8BocgWrqmwKebuy38UVLLh8SfCWCP2AsNPQ6 gPyifC+P2x4z3Cj5wWRoo+tfSHpQ== X-Received: by 2002:a05:6a00:a01:b0:847:70f4:613f with SMTP id d2e1a72fcca58-851bc396235mr99895b3a.12.1786982564610; Mon, 17 Aug 2026 09:02:44 -0700 (PDT) X-Received: by 2002:a05:6a00:a01:b0:847:70f4:613f with SMTP id d2e1a72fcca58-851bc396235mr99816b3a.12.1786982563857; Mon, 17 Aug 2026 09:02:43 -0700 (PDT) Received: from hu-mchitale-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-851b6f8b189sm562883b3a.34.2026.08.17.09.02.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 09:02:43 -0700 (PDT) From: Mayuresh Chitale To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Guodong Xu , Andrew Morton , Deepak Gupta , Xu Lu , Pincheng Wang Cc: Mayuresh Chitale , devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 1/3] dt-bindings: riscv: Add Sspesa and Ssplcofi extensions Date: Mon, 17 Aug 2026 21:32:17 +0530 Message-ID: <20260817160222.3313295-2-mayuresh.chitale@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260817160222.3313295-1-mayuresh.chitale@oss.qualcomm.com> References: <20260817160222.3313295-1-mayuresh.chitale@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: t2Z9wNbEgPM-_r8Qi14JKpDtQGZYvVb4 X-Proofpoint-ORIG-GUID: t2Z9wNbEgPM-_r8Qi14JKpDtQGZYvVb4 X-Authority-Analysis: v=2.4 cv=dLaWXuZb c=1 sm=1 tr=0 ts=6a8330a5 cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=2yNJKbwY4VjyOEKDNOIA:9 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE3MDEyMyBTYWx0ZWRfX27+YW0CWAXbq Pjpzhp33wd5HhrS6zNX0gGgfOQlWFpr4qadC35ZOVgBxdhpQ/pzVQSmC0O7F+bepOAV64eubRVO eumoNedDtW3Qb4vl4rcvyh8irt2HaVvBY7c9N2pqXnC2UE2+Orro1zE/Pmd8+uZKqElp2gpOkek F2kmQVhmZmoI/8dsCSXRis0fFHIC6E7PFhJAChvk8FxaxYCfISuqGjoXkcpF66DwF4UNTzecUSP sqNVptpAtKi5NJhbpANKflqSvxDbCGVrgcHzv5E0reS2DKcapMtTyYEZwd8GRrpvKnd3HyGkB7D UbrCXdO4O7SsAjmMrkMrPJIjjACZOVEqsNUm2mVZ3CrJ0Dmd3qVxpAuOXHfQ5RGfF7WnZWSKq9F 9ZszIyB++JF4W55VHFcL5Z0yPL8vvp/ZI3bd/dWqXSJttjJqrmtl3XYED2evt4SC2tKmNOwzVC5 /IhLHoElJMOSThB7ZFQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwODE3MDEyMyBTYWx0ZWRfXw89HpMt7QMch OpkAM0FKK3XmwArOFJTucdK8CRIO/lH9qDRurdUYUPt+hLXIV3Q5L+rYVHrOkALHtOeQe/HB7Vn 0x3kirI36OxVTc1JqrQVOqcDM3z+7/c= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-17_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 adultscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608170123 Content-Type: text/plain; charset="utf-8" Document the RISC-V Performance Event Sampling extensions Sspesa (Precise Event Sample Attribution) and Ssplcofi (Precise Local Counter Overflow Interrupt) in the ISA extensions binding. Add a dependency rule requiring Sspesa to be present whenever Ssplcofi is present. Signed-off-by: Mayuresh Chitale --- .../devicetree/bindings/riscv/extensions.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Docu= mentation/devicetree/bindings/riscv/extensions.yaml index 5ffc40d599c0..f316b93754ff 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -232,6 +232,18 @@ properties: ratified at commit d70011dde6c2 ("Update to ratified state") of riscv-j-extension. =20 + - const: sspesa + description: | + The standard Sspesa supervisor-level extension for precise eve= nt + sample attribution, as defined in the RISC-V Performance Event + Sampling specification. + + - const: ssplcofi + description: | + The standard Ssplcofi supervisor-level extension for precise l= ocal + counter overflow interrupts, as defined in the RISC-V Performa= nce + Event Sampling specification. Ssplcofi depends on Sspesa. + - const: ssstateen description: | The standard Ssstateen extension for supervisor-mode view of t= he @@ -934,6 +946,13 @@ properties: const: smnpm - contains: const: ssnpm + # Ssplcofi depends on Sspesa + - if: + contains: + const: ssplcofi + then: + contains: + const: sspesa # Za64rs and Ziccrse depend on Zalrsc or A - if: contains: --=20 2.43.0 From nobody Mon Sep 28 21:03:56 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EB5723F54AA for ; Mon, 17 Aug 2026 16:02:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786982574; cv=none; b=a31whhD8x85OLcWeOMgNFCJLGa7+aVujUFLZ1L3n37Hm405lEgOWFE1JLrJihjzz6nNbjJ29XC2rF8Qvh21fd+IcQB11J3ILzPBB5tv/lU63/ZW9+IvjGBJQYZYl3SttydZO1haa35rfqn/yrszXkxeocxxdaDhLejy5fs9vqn0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786982574; c=relaxed/simple; bh=iiXhANk+rsIGmnL34tzjSQ+8MA5zDvnI/IxEfebHNVE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b8dwAwjhiY3DiX1FmOmGEATZR07N4lME9fjw8UD/8J3VdK1/R+HPeTktewtJ2iEYYFYhX4+qyMmrWUW3HFkDKd6Wd2gwStPeAvQ3Wzz8+7mZ6iHC8u17adC2iSOzURfKNxmythzu1Vfyll/eSw01uhVxS/ynN23SqmPx9Ngm5m0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=dY+W6B/Z; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=XfNGkY4v; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="dY+W6B/Z"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="XfNGkY4v" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67HFZ6EG2346000 for ; Mon, 17 Aug 2026 16:02:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=8RiPQfwx0pL oLXHhtNA18dRwBbwALk5r5Jdr0ruDCL4=; b=dY+W6B/ZvAjsEv7MMvIr76Joway 9aVIm7i0f0IjcyHigafb8URiY+Ur8ftIsgEV8U1bbUIMkzXWpveH6qYKS3DZ+HVS 29GAgCkewLwfFCNn/Ox/jiu8g5zDhEcO8t0YhFcvhnXeo873gLhVzMv1tyza3bGC HRcT7XlnPnp/FHtlRwCswAzZIrJDxILt3FBF3xB3gidBqlf9PtB5gs2civstG7cj Z9nsWg6BYUjm0ff9MF0n0J+1O+iuNduBSzvsQ9hSLld4xY2Irg6GptdhrdarMPMd 5RjF3hfsqgFV1t56DOuPJgE9EOgf0kAVH1muZ4PbItrksuj9oi72da/PCUQ== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g3xw8hs2m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 17 Aug 2026 16:02:51 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-84e01a62d99so4197053b3a.0 for ; Mon, 17 Aug 2026 09:02:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786982570; x=1787587370; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=8RiPQfwx0pLoLXHhtNA18dRwBbwALk5r5Jdr0ruDCL4=; b=XfNGkY4vB17QxA3931QQq3oXuW9v5drxdejOEwAIfP6iv7ozQ09HtvNdQ6r99IudvF FCuDcveSMTuc5MM9tGjhx9GELgc6857wsZHCy5te9xoIcIDNfa1sYVGC9kbbf5+sNuPm Gb1Yjrj2NpC3D/XG0ntUdk71jryHgPYWn83oeJ47XKXA0Cw6jfeBC5AsQqcBy+AbXUUO m+nPHeU9mUJNEoQs5yzf6FifXeZc+0ba+iaetK6yzoAr7eYsgKVBsmY9BII5Y/0TLvKM Toa7IcM9jyl8XUURV09ga/S5tdIW44SWcg3FZhnmwNb8Qr8k/e2iUiDHaoF1d8qHd3st CVxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786982570; x=1787587370; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8RiPQfwx0pLoLXHhtNA18dRwBbwALk5r5Jdr0ruDCL4=; b=QN4Jkyk3Czb71dYU//9d953MqtiONupU0GQiFJTZpTdyAFEwrrWmTZ9LHiV3pbvMGH TcE8PYtJdspCWm81UnNCyOjvDuJYQqsBpvoj3sXZlgrOAJ8nmPPIUpL3KPdWkKr+wWg+ Q43p58Uwtk7sZU+zhCwQm3wHmRUPRVP/bhZbVsUAKkreY0Jh6JBY+auT8tZqu5Lrhx1V stijKbe7C1qKJ8WZawAa5BAAtD2f7hBSGieKSCDdKLLCsh42r2NEUWVIh8aVBEjgCr2+ 45QcmqVj+0Fced3uUvppa7NS40KXaIPI7+GorR9HMIIcJRBBSU+SfE8lr0Wm4y0TTnBu LT6g== X-Forwarded-Encrypted: i=1; AHgh+RphWFWx5u4VMKgP+n64amm88axjPmBhIB5VjmYZAfHjbGjuchReweRR1AjSZZN7cgPoaRvMXOSrYlG4Iic=@vger.kernel.org X-Gm-Message-State: AOJu0Yzbz4bRffgdW8UgG1V1Gl+fAUTVj3qSlZ/kqR6xbK6wMX4rxC7B mbXYGXqOjuQw0NL2PdIFoAv021DFLKdwPo2efGelo2ePWrhrVg25AxfSEJ5PNWuPnG2jkamMVB8 7vMgC4P7VNi67Cx2FrP+4IQQBwp0smZnckXhRN9LrKoXpZMki9R66rDb2FZlg+nRytkY= X-Gm-Gg: AR+sD112nv2qUbY94z6i7caJ/6VfSbXVdMQrPC6ppaQyfycZoowoPoV+YEE0TgMduKo kjS0M2/+8y2wRFUOu1pPPGmyKqfGoXRDmw3OTznU+IYTkWFfoItUjtPoF7ip3qDc9R35q21OjEG n25maRlx1vQYApSd2bORFawXUvquH+R0zPvOa88larU3pI0YU/iiKDEHXPQa1naLmN/58eNeFjW 79Zgnm5B656U+ej0CNfrR+yzk3S2OIbH8/Kg+qcw3cXONNxVW7wvDCbaQ/j9N02FMffuITbGTnl kdqUBcolgAGn2b3F/V9RoE/1y3oR4GnGH6O1QZnIaVxVnu0cSOwwG/BvvPIzv9vro9/T61MjG9w XbMo9UiQGXJ3hYNkfAnXPQYRji2xwQzP8qPZA9O3dT/2h6nEKgkI6VANbiKuqSQnbLU6Mb+o8Ak UYChZDXpzB5hLe6xwWzfcpcfhJvQ== X-Received: by 2002:a05:6a00:4c19:b0:84f:dfa8:57c5 with SMTP id d2e1a72fcca58-851b8814c56mr1673000b3a.13.1786982570430; Mon, 17 Aug 2026 09:02:50 -0700 (PDT) X-Received: by 2002:a05:6a00:4c19:b0:84f:dfa8:57c5 with SMTP id d2e1a72fcca58-851b8814c56mr1672923b3a.13.1786982569849; Mon, 17 Aug 2026 09:02:49 -0700 (PDT) Received: from hu-mchitale-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-851b6f8b189sm562883b3a.34.2026.08.17.09.02.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 09:02:49 -0700 (PDT) From: Mayuresh Chitale To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Charlie Jenkins , Andy Chiu , Deepak Gupta , Thomas Huth , Mayuresh Chitale , Sergey Matyukevich , Pincheng Wang , Andrew Jones , Chunyan Zhang , Xu Lu , =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Hui Wang , Guodong Xu Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 2/3] riscv: Add detection for Sspesa and Ssplcofi extensions Date: Mon, 17 Aug 2026 21:32:18 +0530 Message-ID: <20260817160222.3313295-3-mayuresh.chitale@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260817160222.3313295-1-mayuresh.chitale@oss.qualcomm.com> References: <20260817160222.3313295-1-mayuresh.chitale@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: O7_fNkyd-z-IBSsa7Ei16w2MPpFTP4s_ X-Proofpoint-Spam-Info: AW1haW4tMjYwODE3MDEyMyBTYWx0ZWRfXye0DuLFrOeKn 5Yg0neIxEgtC9I3SJGaeFK+kFfptFEH/aeN8TND99ODFSFFuNrvIFbwtEA+HacQz2nE/uCJPeYg SAS6oZGAABdA9Aw6QOFAUTPJjSdimlg= X-Authority-Analysis: v=2.4 cv=SuCgLvO0 c=1 sm=1 tr=0 ts=6a8330ab cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=gAUTCzGNcO5YByAtzVUA:9 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-ORIG-GUID: O7_fNkyd-z-IBSsa7Ei16w2MPpFTP4s_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE3MDEyMyBTYWx0ZWRfX2EMAPPKDrh1H SxFWwqW3Jo32qlwPa6K9r79q7Z/ZIGjcaIR/3xY0RoWLF2cGEK7wJdZzfaMSd97Mg4SFybaB6hz e84+TWM2YBIfZzD166g3mXOv2bB4c9Fwn9+3aI/3t7Zb+iSQFfbhsT6jcVZJYhHRkS5VxL/lQvz QVyKJY93hAHPLypeMs+ZTqSiquBiwRbkCfc/gapnZxplukPKA5acekMZhFlCZbSQ12XXSbdNFNa qJLDmY1TWl1CntoD7IsmKDrEyImB54Z9gREvzbN79f7lyG++Aewa4IGnCY5YDpU0yqCI1WYGSlI +2vrcRL7H2MLlHFNRlIUEPpeHQBhj3C9CkLGUVZa/fJf3glqFkJ7bcvKxzPt3pVMpA0hTGL8BjO D5XZ0j9whVmzgIqJ3gGc3AycBBpbkZf5ULPKecSzPeTlBVa0IAGf/ikXA3+FelOrrbWL2QWc8hA nPk2l0rZ77G2Zj5f08w== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-17_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 priorityscore=1501 phishscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608170123 Content-Type: text/plain; charset="utf-8" Add ISA extension detection for the RISC-V Performance Event Sampling extensions Sspesa (Precise Event Sample Attribution) and Ssplcofi (Precise Local Counter Overflow Interrupt). Ssplcofi requires Sspesa, so validate that Sspesa is present before enabling Ssplcofi. Signed-off-by: Mayuresh Chitale --- arch/riscv/include/asm/csr.h | 7 +++++++ arch/riscv/include/asm/hwcap.h | 2 ++ arch/riscv/kernel/cpufeature.c | 12 ++++++++++++ 3 files changed, 21 insertions(+) diff --git a/arch/riscv/include/asm/csr.h b/arch/riscv/include/asm/csr.h index 31b8988f4488..a5f38ff35336 100644 --- a/arch/riscv/include/asm/csr.h +++ b/arch/riscv/include/asm/csr.h @@ -316,6 +316,13 @@ =20 #define CSR_SCOUNTOVF 0xda0 =20 +/* Temporary addresses for Sspesa (Precise Event Sample Attribution) CSRs.= */ +#define CSR_SHPMSPC 0x5d0 +#define CSR_SHPMSDATA 0x5d1 + +/* shpmsdata fields */ +#define SHPMSDATA_CNTRID GENMASK(4, 0) + #define CSR_SSTATUS 0x100 #define CSR_SIE 0x104 #define CSR_STVEC 0x105 diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h index 7ef8e5f55c8d..68f8632bc751 100644 --- a/arch/riscv/include/asm/hwcap.h +++ b/arch/riscv/include/asm/hwcap.h @@ -112,6 +112,8 @@ #define RISCV_ISA_EXT_ZCLSD 103 #define RISCV_ISA_EXT_ZICFILP 104 #define RISCV_ISA_EXT_ZICFISS 105 +#define RISCV_ISA_EXT_SSPESA 106 +#define RISCV_ISA_EXT_SSPLCOFI 107 =20 #define RISCV_ISA_EXT_XLINUXENVCFG 127 =20 diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index f46aa5602d74..ab415704e317 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -287,6 +287,15 @@ static int riscv_ext_zvfbfwma_validate(const struct ri= scv_isa_ext_data *data, return -EPROBE_DEFER; } =20 +static int riscv_ext_ssplcofi_validate(const struct riscv_isa_ext_data *da= ta, + const unsigned long *isa_bitmap) +{ + if (__riscv_isa_extension_available(isa_bitmap, RISCV_ISA_EXT_SSPESA)) + return 0; + + return -EINVAL; +} + static int riscv_ext_svadu_validate(const struct riscv_isa_ext_data *data, const unsigned long *isa_bitmap) { @@ -582,6 +591,9 @@ const struct riscv_isa_ext_data riscv_isa_ext[] =3D { __RISCV_ISA_EXT_DATA(ssaia, RISCV_ISA_EXT_SSAIA), __RISCV_ISA_EXT_DATA(sscofpmf, RISCV_ISA_EXT_SSCOFPMF), __RISCV_ISA_EXT_SUPERSET(ssnpm, RISCV_ISA_EXT_SSNPM, riscv_xlinuxenvcfg_e= xts), + __RISCV_ISA_EXT_DATA(sspesa, RISCV_ISA_EXT_SSPESA), + __RISCV_ISA_EXT_DATA_VALIDATE(ssplcofi, RISCV_ISA_EXT_SSPLCOFI, + riscv_ext_ssplcofi_validate), __RISCV_ISA_EXT_DATA(sstc, RISCV_ISA_EXT_SSTC), __RISCV_ISA_EXT_DATA(svade, RISCV_ISA_EXT_SVADE), __RISCV_ISA_EXT_DATA_VALIDATE(svadu, RISCV_ISA_EXT_SVADU, riscv_ext_svadu= _validate), --=20 2.43.0 From nobody Mon Sep 28 21:03:56 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE47344998A for ; Mon, 17 Aug 2026 16:02:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786982579; cv=none; b=IjftYOob6EmbzHK0uVQeK3Zx7iSobq69OwuyY8DUpvUd2rngBDhr8WfO0GTIdjVdxs9aqWZiEkXg1pS3Ms1nQepUBepwPDeMQEEwhoZEIKYDtWzEtoMXtfxEqgxVKEYT1IFFQP+0k/cXLbPNKWl+wjBVmx3JqD+S0vu4Y6X44I8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786982579; c=relaxed/simple; bh=M6H+5+WGpHEi5r6mOlGtwEPevCMR/DHVnCMlOvmCboI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o2w8K9UTcYYOzgjsPKPVgzwW9jr1PKQYKBw0i9tCn02S6vXieDWMEpLQwuTZ2RnwKPZtElS1MlfvUbRTyEq+Svgg59iQw4TcmQg3BWX1+y7Ozuu514MXL5Ji+8wz/MYkv1opY/6FYQ3L+pIKnKdlrmlIRAKQ7Ki2v7FRI6j/8U4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=nPT/5c0u; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JJFDe5WT; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="nPT/5c0u"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JJFDe5WT" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67HFYtae2666573 for ; Mon, 17 Aug 2026 16:02:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=ng3FijRp7I1 2WAwMSQi0FE70hZNC0tRMMCgODOQaLkM=; b=nPT/5c0uXgYWQ9t8JF3j0jpaaTf Eb7og9Oga/oxdL6IfdKfPu5yciI7otrPoHl1xd6otFTPyGSp+aACdQtnvSDv+GCt TeD4ha2YxLM2WB7DwpRG6Vl1nwNONGRPgruSbnx3iChie3TKnKLeLp12a8DVhXLf 9X3XL0cbTuHwqNDVRdh6THPvSr7b1uelRWd4hqGnC40fbB3+8sRPQpbCbMpRIuGY jW0pfH5us1PnmGsVpr9GsGWvNjhk7ISAlHe5e+09WCavuC8jmsixEjDdH6yJzcan wDyUq1F1dMpDoVatDSp1h6W9oVJ4u2aYCRpHvTX0ViU5QJftYBfgCq3guTg== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g3vghtgnk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 17 Aug 2026 16:02:56 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-84c4cd31b51so47238b3a.0 for ; Mon, 17 Aug 2026 09:02:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786982576; x=1787587376; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ng3FijRp7I12WAwMSQi0FE70hZNC0tRMMCgODOQaLkM=; b=JJFDe5WTvmovt2K5QHZbLQ1+e80UaGBxPQ1vlkFMuoAIcIH9LOU3s6KiPvtH104lik c+QKoeL2CNtiKsGLcKZpK9TrQPq90TgKTIyeMmwhGZrSdU7V5/DWIbDfvsBT6Vg3bGu7 KiBF3biQUZKP8mH3hkjU73SiCJHB1UF/6uSjFwLETmuDFcKc9MBv2EKcDTYs18+9v+Db 6M/5VSeisJFXSTOfMtjj7dyJ6iLcHF1O7QqnAnisILvvzRk3Z6iB0f4S+PmHBmnRfzRZ 4TP4Na7IzM6wbsCzEZFQu2bDYHGFMumNPFbKU2rs+hPgkVb8PNBmnw3WsBpZ+qWQLqt5 zroA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786982576; x=1787587376; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=ng3FijRp7I12WAwMSQi0FE70hZNC0tRMMCgODOQaLkM=; b=Vc2kHbfUa6CZRmvcexwt0l6VrmBm4sdWUGvE6qVbRs37dtPtHWjS2fGF06w5yDry8t 4OrBbxhnZpLiYHYxbKIXIUsQJWhGrNZRmrz1V2Fh3WginkXg9ySfcHXfxwj8njYx8dQN Fv96OxM52S05ZMTmMBwG3ChOXCsi7Obg5mmAaaICFc0T/LuAvdrfoTvrmY7k2tZKr02I 5M0T6AiOUgjoFBR4P6eiItphmSL5v2yMuw7KDRNJNvDY2uspdF0iGBWcoPyM+DQ6Q/tO MdqWAuTS9PbxHlftENQmnmXSZw+f6TepBskzvxLgcFxjUa/PBFUH7wUJIoyCrbbk/J3/ KSng== X-Forwarded-Encrypted: i=1; AHgh+RrWwmoXstP6PEddLmNV0mYo8hloNDF9IowST5qRjYKrqT2JPWQMEi07xSYMQnxsstzRK6N9W+ckDy4dI98=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1NeZFGsVeV1tA698E2wwKK5krCqMsivumDxPnPha0qRgI4oyY CUeNDR55F8mBqG2gsjv8fjwyLoA2PjRIp8FYozHrAWbi096yAovlKPdDb8TInk54Xdwta5PW1nV 0fiTzeocq8WvLPYgfp/OJfPj6ajra6hMNBwgPEq110pXkCcBkjx0Ai7p6/zpP4I9/XvPLTx+9YP g= X-Gm-Gg: AR+sD10BCA2frjYqpkDd6m3OQvYsrqT3XTJPFwL5nHrhrl6Kdy/jaMxEJrgrFb/a3M7 U24HfJe9AO2g1LCa7vcjGbVa7YFBliqSFkeiCQtpjbMXgXLdHU4pXrUQxPZ2JddWN20cMq8z9sH Zb4XzcrdzrBspxX/uTrYRGV1iXLZ0haAdPIGTKIdh9BGQdUdj4np6YSMHUbERB4TMmi2VzNSOVp PZV2QiTQcIw4hH1Og6Rz40KkT91bboP0cByXQ7gHkFfnddxmRGNkpWc7phCoRQPrtNBTe+OHanG Pa1ElxJ3Szs3DZ9AIxNFHAfZ0zfMwUAN1ShoYIuOuWT4dtIrKg+NmZh5NdN+qLSKI4UFhS8jtyR Ucqq0QTQn1sNQR7G0F4MGfw/X1bRlHcIFLrwqK30rM7TgUgC2nXP2Fx4M7d3HFEPeEKtmhmVJH+ ZkBnUdl+0U4ZhfARROAiv0K87B4Q== X-Received: by 2002:a05:6a00:330f:b0:842:63f5:d097 with SMTP id d2e1a72fcca58-851bc233c3amr156025b3a.3.1786982575521; Mon, 17 Aug 2026 09:02:55 -0700 (PDT) X-Received: by 2002:a05:6a00:330f:b0:842:63f5:d097 with SMTP id d2e1a72fcca58-851bc233c3amr155973b3a.3.1786982574962; Mon, 17 Aug 2026 09:02:54 -0700 (PDT) Received: from hu-mchitale-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-851b6f8b189sm562883b3a.34.2026.08.17.09.02.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 09:02:53 -0700 (PDT) From: Mayuresh Chitale To: Atish Patra , Anup Patel , Will Deacon , Mark Rutland , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: Mayuresh Chitale , linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 3/3] perf/riscv: Use Sspesa for precise sample attribution Date: Mon, 17 Aug 2026 21:32:19 +0530 Message-ID: <20260817160222.3313295-4-mayuresh.chitale@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260817160222.3313295-1-mayuresh.chitale@oss.qualcomm.com> References: <20260817160222.3313295-1-mayuresh.chitale@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=P9gKQCAu c=1 sm=1 tr=0 ts=6a8330b0 cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=7H5guYdma6xEYB3B6BcA:9 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE3MDEyMyBTYWx0ZWRfX3MY7vl2q87V4 dKn9Sla4v8k/Rh1snEAQlR23RN9eWHI1pBocMKkuwCee0TudIBwbbfWrQprNpReD0moFapoGLyz 7F4IkooXEWhbssPgdWJmOqb3FTjkIxA= X-Proofpoint-ORIG-GUID: 9r-quQShxA76ctbyPIL3hSZ6dtaXHOOI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE3MDEyMyBTYWx0ZWRfX0y+T1R+lg2I7 P86zFHcDNHgIX/CVcdQhvwgQXp3FW0FJn2CCiJYhSi6u2qCiKAz5WftR/sf0+rtnKeOf25l9EEh VrFkhfMkSLfz99ruX20m/YU09PfHpIODjOujRZn17gnm8goG52IaVOhNu+8jZjCu/cgncXiWMxy s19GsDO+QbuB7bzibsnNq+D8hVDcyk2hw1K2Si0r8rojVAoocyohiRsXQu73PuqAdFGTuhPl3su T+wrWLFqGTCoBrY3Gks/ITOpkkUMvQHb0rGk1n+uE7tksKwTbv5BqHQ25ifrQyszI3RL7FaMydX fIcCniPFrJmArEKOTT7kmStW3tOjvXXP+0G5OzJ7W+KDWFgXwUI+aX3SSaaccmahTju6UWJFgHQ pf7PhuuQBcv2m6vMsfEzy8nu0VCqc5DoFWFkhRq8oey7fvlJu/El5Y/OkAXy7a8rrW3dRzBorKv dfzFoUuZCswR0jXLSRg== X-Proofpoint-GUID: 9r-quQShxA76ctbyPIL3hSZ6dtaXHOOI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-17_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608170123 Content-Type: text/plain; charset="utf-8" When the Sspesa (Precise Event Sample Attribution) extension is available and a counter overflows, the hardware records a sample PC in shpmspc register and the counter ID and additional implementation-defined data in shpmsdata register. In the SBI PMU overflow handler, use shpmspc to report sample PC via PERF_SAMPLE_IP for the counter that caused the overflow. Shpmsdata is exported as raw data to userspace when events request PERF_SAMPLE_RAW sample type and it assists in deriving the sample PC from shpmspc if precise attribution is not supported for the event. If sspesa is not available or for counters that don't match shpmsdata.CNTRID, fallback to epc for PERF_SAMPLE_IP. Signed-off-by: Mayuresh Chitale --- drivers/perf/riscv_pmu_sbi.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/perf/riscv_pmu_sbi.c b/drivers/perf/riscv_pmu_sbi.c index dfc886dee5ad..1b0b1cc612de 100644 --- a/drivers/perf/riscv_pmu_sbi.c +++ b/drivers/perf/riscv_pmu_sbi.c @@ -63,6 +63,8 @@ PMU_FORMAT_ATTR(firmware, "config:62-63"); =20 static bool sbi_v2_available; static bool sbi_v3_available; +static bool sspesa_available; + static DEFINE_STATIC_KEY_FALSE(sbi_pmu_snapshot_available); #define sbi_pmu_snapshot_available() \ static_branch_unlikely(&sbi_pmu_snapshot_available) @@ -1051,6 +1053,11 @@ static irqreturn_t pmu_sbi_ovf_handler(int irq, void= *dev) struct cpu_hw_events *cpu_hw_evt =3D dev; u64 start_clock =3D sched_clock(); struct riscv_pmu_snapshot_data *sdata =3D cpu_hw_evt->snapshot_addr; + unsigned long sample_pc =3D 0; + unsigned long sample_data =3D 0; + int sample_cntrid =3D -1; + u64 raw_sample; + struct perf_raw_record raw =3D { 0 }; =20 if (WARN_ON_ONCE(!cpu_hw_evt)) return IRQ_NONE; @@ -1088,6 +1095,16 @@ static irqreturn_t pmu_sbi_ovf_handler(int irq, void= *dev) return IRQ_NONE; =20 regs =3D get_irq_regs(); + /* + * Sspesa records the PC and metadata of the overflowing counter in + * hardware. The PC is precise only for events that support precise + * attribution; otherwise it is best-effort. + */ + if (sspesa_available) { + sample_pc =3D csr_read(CSR_SHPMSPC); + sample_data =3D csr_read(CSR_SHPMSDATA); + sample_cntrid =3D sample_data & SHPMSDATA_CNTRID; + } =20 for_each_set_bit(lidx, cpu_hw_evt->used_hw_ctrs, RISCV_MAX_COUNTERS) { struct perf_event *event =3D cpu_hw_evt->events[lidx]; @@ -1123,6 +1140,15 @@ static irqreturn_t pmu_sbi_ovf_handler(int irq, void= *dev) riscv_pmu_event_update(event); hw_evt->state |=3D PERF_HES_UPTODATE; perf_sample_data_init(&data, 0, hw_evt->last_period); + if (sspesa_available && hidx =3D=3D sample_cntrid) { + data.ip =3D sample_pc; + data.sample_flags |=3D PERF_SAMPLE_IP; + + raw_sample =3D sample_data; + raw.frag.size =3D sizeof(raw_sample); + raw.frag.data =3D &raw_sample; + perf_sample_save_raw_data(&data, event, &raw); + } if (riscv_pmu_event_set_period(event)) { /* * Unlike other ISAs, RISC-V don't have to disable interrupts @@ -1194,6 +1220,9 @@ static int pmu_sbi_setup_irqs(struct riscv_pmu *pmu, = struct platform_device *pde struct cpu_hw_events __percpu *hw_events =3D pmu->hw_events; struct irq_domain *domain =3D NULL; =20 + if (riscv_isa_extension_available(NULL, SSPESA)) + sspesa_available =3D true; + if (riscv_isa_extension_available(NULL, SSCOFPMF)) { riscv_pmu_irq_num =3D RV_IRQ_PMU; riscv_pmu_use_irq =3D true; --=20 2.43.0