From nobody Tue Sep 29 04:14:29 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 25597431E6B for ; Wed, 12 Aug 2026 23:35:06 +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=1786577707; cv=none; b=pd9jlHXhlkEiLlDFWUUk7McJPShTQZWPgMsx2ERX6dxvJkEekHvqctw0Ls9twSplXhTMRa06ZGqpZbZw36RuAFeC2NPhtV1+tLD4gDT55seTPdgYmSqb2Te1QPU06/MXbUFRgfCM7sMdcB9C+CR889VUM0/DjHgMbG7PY/xdK1o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577707; c=relaxed/simple; bh=epWD3GI5NSTdvxKQFtX0RjuSeFso8FOJjXgRZBp47Cs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ftardqy7/6vQ3b6AevqXwMnr5L63VqRebtfqXXarYLScD7SHNAc0MZQTJ3YDgtgrsWbYswkAVe8ni5mjp8sLsUCzoNKSGTN08AK4Z80QJvpxJ2Mn51bmRUOT6Gvacmqpmxx04tdsraGZJpyXQz7bI2QRA8damWnev5mar2cN4zk= 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=XgbmcE3k; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Nkr8YsTH; 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="XgbmcE3k"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Nkr8YsTH" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNMR0l1374758 for ; Wed, 12 Aug 2026 23:35:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= VZukauZ47HvJdFZVxc8ahLUx1GK6vy1JZjQTVnh97zM=; b=XgbmcE3kmno2yVF5 OgDlpziUjgc2s4Pnux/+xI+pw/fBuzSZu+e7STF67ioRB/qhciNp89BKWw1j7XnQ Is8JgiAsfN3doF7VqWM/3tvFWf0LwrxLk9xhkMshI9f6WfGLqm4GiuAgR4iKydFd vYqmKlk0o3yoE42CTrUx6I5dG7Bb8F+VsS2ijs4xFElW+mN+olEftCbm+QjHj7Yd nJF8lNdq797/6Il32defJqQ52pdBu2wZClXzGrpD/ohFhf00Myazxu6pjKYpGJvS 31LMCAmnEQrs0LNe1hsKnBNfnLpTBYaSRv5mWRSZ5EosnsDYJdDZFeme+1x/un/7 loyPKA== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0nuckkug-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:04 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cfca8558d2so19785625ad.2 for ; Wed, 12 Aug 2026 16:35:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577704; x=1787182504; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=VZukauZ47HvJdFZVxc8ahLUx1GK6vy1JZjQTVnh97zM=; b=Nkr8YsTHPbupZYZ/lvZErfUNhCP5iMhuOti1bm8XpIv1N7vO2xaGTMxbYKfnS2a8oI GMmeo9Dz8guBHRtPZ5p2I3HOjbXS7HQd5V5iUJ6RTAcD4kDqruOLMnC0uZ6HzjaoDacA FnrXDftGACncEsJiCzakCGiRhqiRn7Nh68DebE/LVsL/eaEiFRkUsPwkMOugheCrCyYI PXCm4uTnGgQCSvIH5i4hso2JbdxA85mcUccQgC1ePvkoHEzIIb72bOW1Go9FXdkZcYwX Y8Yz9650AXpctYpDKTSN5ZPyGaS+4K3nBmGyvGXaE878GFbkr5lSldTkkCAbf/vfKRL1 QU4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577704; x=1787182504; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=VZukauZ47HvJdFZVxc8ahLUx1GK6vy1JZjQTVnh97zM=; b=pAu2ZrE2edH5g2nfd0jLln6QYKBhEjJushBgmOyLxvha3XULjMiVWc+ZCrYNnAV7vb ok0f1b+c15leRQhVyE5KDz3s/PYLAAZ1py5c3dSp2HfxiqtcklZxcnICupr9MRuH3iYV eBWe0Jx9pX0Lcqp9dAlG7EvSUsG79WhXYTLfX1sErRE3jIOUsxloWciSto4EFGOTGBoq um67/xtZNk5/zwvz5brTyL1RPFHmZGYPc3e1nN1zR5GiXhwamrudTB0rk46+ZyVVa4SN eeh9MPGkwzr6hq3tGPQNW7WyV3d2M9ohWTXFzqRyx2VbZ/MMD/TMx3eh0X+x0SIGb25y c6ug== X-Forwarded-Encrypted: i=1; AHgh+RqRUZKv082J6fVzAtfIBTdzqVp80M4eJLG6lq49uelDkEK+U8VJaPAHvDr7dcytipTQGTNe64kV47dBe00=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/rC4Ve1m9NAOO92nxcgRYIXuPMJM4WCOu9nsqyRk29Eiz8a5Z eDLhym8jPefdnirhN7eFi4i94SRzL2ksgczrYKvcZoPJy7esvWsAOlhId/Dzds2zaZFNtQQb3OI 1kUZ5+Ux67DNZQLEuxq/86JNE8V/48tMto9OFIh8+ixaeZVom1qmc5Z0QikMmMqzPg9k= X-Gm-Gg: AR+sD10QIQMVig5M66PPyp7TH/tcEdnef9WBrcaFJTVcVwZ4+xhGMFqvt4FrVowMGZM LWUTUw0twQfNgtF8yx8fSYWX/OTAFF4Klrv2ONR1VuHrue2D7Rrhf9XMZ9r+eiJPZhuhn7+F6Qf l4VPTOi4DJNd7HmzwodO5RL686qJ3wevFf6viCCQg0GGLvZj2W6+NbN5pjQprbIGO0FmMXAQrdU wIGQvo1JZN2o33rxyvmR7qKI3El8AIHnDNeOuYp32mk9OJl1xRXhXUBfQXQcfxbMnV44OHZWfMn JCdlsrimTugUlrknHaWH+apOLLsFNxRJ4EWHkzBX7dP9YcYvC1xDmFekm5bDvg== X-Received: by 2002:a17:902:ccd0:b0:2bf:7b62:a038 with SMTP id d9443c01a7336-2d37d885316mr17937225ad.9.1786577703772; Wed, 12 Aug 2026 16:35:03 -0700 (PDT) X-Received: by 2002:a17:902:ccd0:b0:2bf:7b62:a038 with SMTP id d9443c01a7336-2d37d885316mr17936685ad.9.1786577703298; Wed, 12 Aug 2026 16:35:03 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.34.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:02 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:47 -0400 Subject: [PATCH v6 01/11] riscv: Add B to hwcap and hwprobe Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-1-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu , Andrew Jones , Conor Dooley X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=5494; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=rQ+MWjWO+EMEHxCEjEwBmDuvMFGXiD82W1SseEILmGg=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZmF2P/ZD8X91TymcaCo0Dbar1zd70u322ebFU8Ojl 6ydrXk6SlkYxLgYZMUUWQ4fbcne+son2vc55w+YOaxMIEMYuDgFYCJe/gz//Rz6A+/4iz27vGf7 jz3lTz+uSJNt3ruvMu7LpEO2N590NjL8rxS8eubzvF3zuy5ZHm+vWpD0XqQ4dc4zL59Nv0Rs2G8 lcwIA X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-GUID: 6Y6miPeZx_QTGUE_FO_-dq-sck1CtV8F X-Proofpoint-ORIG-GUID: 6Y6miPeZx_QTGUE_FO_-dq-sck1CtV8F X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfXxcTLmmzLkgqv CqvcA5KyTk6SuHVG+QCLUEqSa0u/YI4864Zm7aRILEHKKddDnQi0XOC83z14bMoLz/HyiZBmhZj /CLZs13babIiT4kMULn6TqLRz6h/KeuWc7tLTx4YtksPYLCPdgpiWgTfNfrttFRGIn2T5jZi3Cs zLYKwvn4v+HPmjVV8Lc+Nu7iPj5qI3QjbQvjRE+3wW8NqG/FgUouWENV0xK0rlFST4Xwcxesro/ FpGTvusNh/LarBMUQOI5wJet/NsB282J6F791TNeMG8rfLwcJvzczyHE9EbUCkQ2SI50wXxZwbf FEx6qsMrCC5kV3qQqBDbm9zj/0Rf1L/6tCvKTO8YJCnzOMfTHrYBInR/LfWUGYLMhQvLazpXnAj 9MAw9gxdtcrLvJ0z5TGW4yzvx1+SAoP+pn7iKQcb/ks8mMquhg39wRtkTm0uWmpVK9lLcincKn0 vuOqw9FrdX66v1E00mg== X-Authority-Analysis: v=2.4 cv=VcjH+lp9 c=1 sm=1 tr=0 ts=6a7d0328 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=XYAwZIGsAAAA:8 a=mioeM4dCHJ9OQqhfmfYA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 a=E8ToXWR_bxluHZ7gmE-Z:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX1mZjNfTW4B/N ml7DzaTp4R2rEnXgBJsL2HG9EsmH7eWMspVh7ZPgEq5xXS2dt7Gt8CACw7wVMSS7chm0yfLbtn4 AJPONTpGHwUsaG0ycnCQnTnntDCoiCU= 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 priorityscore=1501 phishscore=0 suspectscore=0 clxscore=1011 bulkscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 From: Andrew Jones Add B to hwcap and ensure when B is present that Zba, Zbb, and Zbs are all set. Also expose B via hwprobe (RISCV_HWPROBE_EXT_B in RISCV_HWPROBE_KEY_IMA_EXT_1) so that userspace can probe B directly, mirroring the F/D/C/V pattern where each is reported via both hwcap and hwprobe. Reviewed-by: Conor Dooley Signed-off-by: Andrew Jones [Add B to hwprobe] Signed-off-by: Guodong Xu --- v6: Rebase onto riscv/for-next: define RISCV_HWPROBE_EXT_B in the _BITULL() style of commit 8da45c93dfa9. v5: Collected Reviewed-by from Conor Dooley. v4: No change. v3: - Indent the added hwprobe.rst entry to match the normalized style. - Rebased onto v7.1-rc6: index isa2hwcap[] via RISCV_ISA_EXT_B to match the macro-ization in commit 41337097f2823. v2: - Rebased to v7.1-rc2 - Add B to hwprobe (RISCV_HWPROBE_EXT_B at IMA_EXT_1 bit 6) and document it in hwprobe.rst, so userspace can probe B directly. --- Documentation/arch/riscv/hwprobe.rst | 4 ++++ arch/riscv/include/asm/hwcap.h | 1 + arch/riscv/include/uapi/asm/hwcap.h | 1 + arch/riscv/include/uapi/asm/hwprobe.h | 1 + arch/riscv/kernel/cpufeature.c | 8 ++++++++ arch/riscv/kernel/sys_hwprobe.c | 1 + 6 files changed, 16 insertions(+) diff --git a/Documentation/arch/riscv/hwprobe.rst b/Documentation/arch/risc= v/hwprobe.rst index 893e1a1215d2..fc68dea397aa 100644 --- a/Documentation/arch/riscv/hwprobe.rst +++ b/Documentation/arch/riscv/hwprobe.rst @@ -421,3 +421,7 @@ The following keys are defined: * :c:macro:`RISCV_HWPROBE_EXT_ZA64RS`: The Za64rs extension is supported, as defined in the RISC-V Profiles specification starting from commit b1d80660 ("Updated to ratified state.") + + * :c:macro:`RISCV_HWPROBE_EXT_B`: The B extension is supported, as defin= ed + in version 1.0 of the Bit-Manipulation ISA extensions, and implies the + presence of the Zba, Zbb, and Zbs sub-extensions. diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h index f8db798b2654..6a693210b251 100644 --- a/arch/riscv/include/asm/hwcap.h +++ b/arch/riscv/include/asm/hwcap.h @@ -11,6 +11,7 @@ #include =20 #define RISCV_ISA_EXT_A ('a' - 'a') +#define RISCV_ISA_EXT_B ('b' - 'a') #define RISCV_ISA_EXT_C ('c' - 'a') #define RISCV_ISA_EXT_D ('d' - 'a') #define RISCV_ISA_EXT_F ('f' - 'a') diff --git a/arch/riscv/include/uapi/asm/hwcap.h b/arch/riscv/include/uapi/= asm/hwcap.h index c52bb7bbbabe..96b7cf854e09 100644 --- a/arch/riscv/include/uapi/asm/hwcap.h +++ b/arch/riscv/include/uapi/asm/hwcap.h @@ -21,6 +21,7 @@ #define COMPAT_HWCAP_ISA_F (1 << ('F' - 'A')) #define COMPAT_HWCAP_ISA_D (1 << ('D' - 'A')) #define COMPAT_HWCAP_ISA_C (1 << ('C' - 'A')) +#define COMPAT_HWCAP_ISA_B (1 << ('B' - 'A')) #define COMPAT_HWCAP_ISA_V (1 << ('V' - 'A')) =20 #endif /* _UAPI_ASM_RISCV_HWCAP_H */ diff --git a/arch/riscv/include/uapi/asm/hwprobe.h b/arch/riscv/include/uap= i/asm/hwprobe.h index e6a394fbe7fc..9323feb7c3c8 100644 --- a/arch/riscv/include/uapi/asm/hwprobe.h +++ b/arch/riscv/include/uapi/asm/hwprobe.h @@ -122,6 +122,7 @@ struct riscv_hwprobe { #define RISCV_HWPROBE_EXT_ZICCIF _BITULL(3) #define RISCV_HWPROBE_EXT_ZICCRSE _BITULL(4) #define RISCV_HWPROBE_EXT_ZA64RS _BITULL(5) +#define RISCV_HWPROBE_EXT_B _BITULL(6) =20 /* Increase RISCV_HWPROBE_MAX_KEY when adding items. */ =20 diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index d2ec96843456..7f615d1a175b 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -471,6 +471,12 @@ static const unsigned int riscv_c_exts[] =3D { RISCV_ISA_EXT_ZCD, }; =20 +static const unsigned int riscv_b_exts[] =3D { + RISCV_ISA_EXT_ZBA, + RISCV_ISA_EXT_ZBB, + RISCV_ISA_EXT_ZBS, +}; + /* * The canonical order of ISA extension names in the ISA string is defined= in * Chapter 27 of the RISC-V Instruction Set Manual Volume I Unprivileged I= SA @@ -519,6 +525,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] =3D { __RISCV_ISA_EXT_DATA_VALIDATE(d, RISCV_ISA_EXT_D, riscv_ext_d_validate), __RISCV_ISA_EXT_DATA(q, RISCV_ISA_EXT_Q), __RISCV_ISA_EXT_SUPERSET(c, RISCV_ISA_EXT_C, riscv_c_exts), + __RISCV_ISA_EXT_SUPERSET(b, RISCV_ISA_EXT_B, riscv_b_exts), __RISCV_ISA_EXT_SUPERSET_VALIDATE(v, RISCV_ISA_EXT_V, riscv_v_exts, riscv_ext_vector_float_validate), __RISCV_ISA_EXT_DATA(h, RISCV_ISA_EXT_H), @@ -1145,6 +1152,7 @@ void __init riscv_fill_hwcap(void) isa2hwcap[RISCV_ISA_EXT_F] =3D COMPAT_HWCAP_ISA_F; isa2hwcap[RISCV_ISA_EXT_D] =3D COMPAT_HWCAP_ISA_D; isa2hwcap[RISCV_ISA_EXT_C] =3D COMPAT_HWCAP_ISA_C; + isa2hwcap[RISCV_ISA_EXT_B] =3D COMPAT_HWCAP_ISA_B; isa2hwcap[RISCV_ISA_EXT_V] =3D COMPAT_HWCAP_ISA_V; =20 if (!acpi_disabled) { diff --git a/arch/riscv/kernel/sys_hwprobe.c b/arch/riscv/kernel/sys_hwprob= e.c index bd6ca7d769da..12ea4f39a838 100644 --- a/arch/riscv/kernel/sys_hwprobe.c +++ b/arch/riscv/kernel/sys_hwprobe.c @@ -207,6 +207,7 @@ static void hwprobe_isa_ext1(struct riscv_hwprobe *pair, EXT_KEY(isainfo->isa, ZICCIF, pair->value, missing); EXT_KEY(isainfo->isa, ZICCRSE, pair->value, missing); EXT_KEY(isainfo->isa, ZA64RS, pair->value, missing); + EXT_KEY(isainfo->isa, B, pair->value, missing); } =20 /* Now turn off reporting features if any CPU is missing it. */ --=20 2.43.0 From nobody Tue Sep 29 04:14:29 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 2CE49432304 for ; Wed, 12 Aug 2026 23:35:14 +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=1786577715; cv=none; b=t9UOH3PELi0QZ9/Dn5Tswspk2mpJ4Iy6iQf5xoLmqbIVl1YEk8KaisCvCWdPj0/FIQa1R6DlJxqIOZah4t4MPFxQ0U5R87W+08RuXzwNfpd7Nnt92y1INH4+Iz9gVe4wTNjRFOYPkqLHnnCP3UoH+4vO28kQLIhgUhwDcBhY+ZQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577715; c=relaxed/simple; bh=pMTIzY1h407OmP6ZGR17M43SvczEQJjzPSrXyQZ3aK0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FfBw34hEmtwZz+C6Tz3G68wwbSSQ09eyIGiDf0W1Tq8I8kCzbfIIdfyVp5k1Ru8ME5a4jQfi+sse+7il+rZL6dXPK9Pd/kz3Nju98IUjHQiEHvdE/sS4/affdpW9fecAtB6SktHva61FYyd55SMUUzMF0q2non4k4LR4fUhU2WU= 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=KEe3HAd2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KIUm8G3O; 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="KEe3HAd2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KIUm8G3O" 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 67CNLsYm720262 for ; Wed, 12 Aug 2026 23:35:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= R1LjGLBPhCkN6fNBzzMLJks+FhS/j60EJGyFCmImsGY=; b=KEe3HAd2iRmogojt qIG7t5EjJHoNXMfBlQfiN4Ma/G/JdIrIsfLB13rA1AGcwrxLwVIkUbovqK9CPFSR kO0K1rGAPRUKcfjZw8RiRN6PGXzFaXGWft0LD8VMXRNjp2g3gYtLIZENckhuegF8 WHkxOeRMNDV9EjymqBjnBNRH7goLXoL6UJhbHEdcti1et5+clqUU9hrJaw44UrwT swX+wiPjdc1RdIrq1BRdUFDXvPjJqjonmjeMBivSFOsEshgbL1xbrK5IIyfbEuyd 3T6EKxUS53QDFUim7o8Rtt79HhUHPMZlftVQaLZ53mwnB4a4S+6T+2Vjk6yOP7My Xb8sOA== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0p3d3kmw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:12 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2cfe48ca1efso2701075ad.0 for ; Wed, 12 Aug 2026 16:35:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577712; x=1787182512; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=R1LjGLBPhCkN6fNBzzMLJks+FhS/j60EJGyFCmImsGY=; b=KIUm8G3O8534s+EZGfjPc3zbiS29RpCHffu2Zg/e8o1xqKuUTY4n3TV9jTonTlZKh5 /YfQYhh58Ti02sC8ZCU28NOfMuTIvDZo1c9IreJKsYL8rE1ywKj4QVuTvHJLyCjymX2o jzxE28hPlFvKN9aa14rcqFCCgiXmuTOCYYWAqjfer3oSoJwpGVs6q+j1JQ1JPtPWSaNJ oJLEJU7lPe6NInPRfn8LNU86yYhDAQvsd1jeVlL26LOzI5pCFVNcevKvoS2Cn16Ucp5d e3k5oTsKs03vgdvMO1sLU9SKTq/vtyRJ6PjLdffvjYW8ZDO5oHqI0pCJU11nDdVw2gGK Pisg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577712; x=1787182512; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=R1LjGLBPhCkN6fNBzzMLJks+FhS/j60EJGyFCmImsGY=; b=sWCQnthFgW6MQa4kwTe2feTegO0Sg8/2Ybs1IV1bK3aq5+YcfGVgkUfAzFGD26/sIF 9oM8mPgB91yXbZeN+Id+29vnxjO/enoyyQ/ls94Qbyk5O06VS6a0ghkcc2PlQnjg99t6 AS+ZcJ2v0fEP+iigFhN3/k3TWWoajxiCvALEq44KNVUCmfRcfHtnxTv3e/4yWcQUnk2y hLISQYvFxAFczZ03w9mBbyOF6dH+u09pZenwEn+wPCBK6w/4nnv/WdajM5TfC/PNe19c SN2b/N3oqIPwuP7oBl2Yu6hMfXAhW3yb4rNwVxf/ggYoqvPdkS0P9tzBRJB5VSiDPKid PH3g== X-Forwarded-Encrypted: i=1; AHgh+Rq4L/wUAYfH+EC5flOL+0kQ5YFSRZ2YyTnJ1W4uysgnjTP9iSqW3jHwIGXkAJhHysgBuF1/rAsTkkrJxvM=@vger.kernel.org X-Gm-Message-State: AOJu0YzrQJOQ+uJYj6rpPaobIIzwRrGhx9bONEZT4s/Yu2Y4dQwNOoAz aAweZe6x+OaGMoO/itpFCt2kCxjYr2oC2J8mwe1u8q9ksVvPdG142h11TArvXXCaMgTUeneExYf OJ3fqGi2woFAACP8aYOp6fjiPb5SHfW3eT8594RvNX37My4u6B8He84Va4T7KFB+Ybos= X-Gm-Gg: AR+sD115qto3ilpnnVvDp+H8nVn8Z/hNovQu7jz+7GhmUYmM1feb+n77+QswmwTQLn3 RcMoppsBsS83BgIvpdPQQAmGf3umud3vfXcLeVhdMA7ATyk5Zv4bZbxZQLbTefaSOB9klyHFnkl EAWDHI9QPJ0rYGscwk/7jFgXnYj0MFLpurHcJRsB1f68YH6K59rhEAt/bIO3Ds6Ihjon1Cbgnny NyaDjONlmjylrIaY9OFhvPMNFzfA7MiWwMTggG6LGuizRyb+Cpc/FggE1q50Tn1GhU7gx2thnJL Vd98jRQa/gU+aHVZyaBOtyN4fHbeeDgh5yCQnnqtLcnbaa7b3f6tlvatirkAFQ== X-Received: by 2002:a17:903:2385:b0:2d1:134:b86e with SMTP id d9443c01a7336-2d37d53f429mr18845305ad.2.1786577711579; Wed, 12 Aug 2026 16:35:11 -0700 (PDT) X-Received: by 2002:a17:903:2385:b0:2d1:134:b86e with SMTP id d9443c01a7336-2d37d53f429mr18844905ad.2.1786577711165; Wed, 12 Aug 2026 16:35:11 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:10 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:48 -0400 Subject: [PATCH v6 02/11] dt-bindings: riscv: Require block-size for Zicbom, Zicbop, and Zicboz Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-2-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu , Conor Dooley X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2047; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=pMTIzY1h407OmP6ZGR17M43SvczEQJjzPSrXyQZ3aK0=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZpH1uwQlz9uxSeza7rMy9PFM3dxHFy4XvwgKXPBy2 ZwJd+ojOkpZGMS4GGTFFFkOH23J3vrKJ9r3OecPmDmsTCBDGLg4BWAiirsZ/hdwLbU2Dz0960NX 0rypGXdvxPuUKj4u+tpZHrO+jOOhRTHDP8PFEu7mwprWDAtOnj+1sm3V3QSnELbJDo25viGWegU tHAA= X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-ORIG-GUID: UrKW4pgWgz3_Lucp0XYw-fLF8TlzSe0a X-Proofpoint-GUID: UrKW4pgWgz3_Lucp0XYw-fLF8TlzSe0a X-Authority-Analysis: v=2.4 cv=UfNhjqSN c=1 sm=1 tr=0 ts=6a7d0331 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=XYAwZIGsAAAA:8 a=EUspDBNiAAAA:8 a=7qHV-DMWNrx828xCWhIA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 a=E8ToXWR_bxluHZ7gmE-Z:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX7rnIhBZNXnMX jYHeU7oIR/w3O0L6Fhhm/snTz7aERd6k6l3jBaJoLdkalCi5iRjdrjpdhMqRYHVKLAHNF7d1R5I tdvxyidH+r/j4uZV+fLz9dus9hVvk8lTLTOhCZjcgq/577vbHo3jpmRXjXbzXflem47eL7XjLbx 4xX7+/eIuUAY2vgIpnqQsv3ZiFIe6nvG3UGImD8EH9VK3baRyAGQq1cEys14BykZYQeKeHy7x/w srd76eSIc2Jzz6BT8UIPK6mAZROwgLhjuHnz0p5rVxyeyvbwl/5H+TkCoF/4flH8z0ECOu13uCv E9enJGFaeTdKf9AVCNq/loj3uxslTkj1a/SqrTrFcJTErZl4fUxoXDZqkROVtjTbDwjNiHobUvP YasQBjd92LC01KdJF6b0myXiV++t4eWEVs3Fbq4OfpBuJYVVE2bUvhZY21VKc+kZFq85pFWurXw izlmdxVhh7l3EYpSUug== X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfXxeQbu8L+uEEX 9736Xaa1rLRctA/kH7szV3gcn1+WRmOatqtxRPGKKqe0EnGkjmy98JbwIC13UTsN5CP+a79l1Uu ZSWSdqRhM/r+vkeWssa7hBr83hrIZZk= 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 phishscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 suspectscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 Zicbom, Zicbop, and Zicboz have no default cache block size, so a devicetree that declares one must also provide the matching riscv,cbom/cbop/cboz-block-size property. Make it required so a missing block-size property can be caught by dtbs_check. Match only nodes that use riscv,isa-extensions, so nodes carrying just the deprecated riscv,isa string are not affected. Suggested-by: Conor Dooley Signed-off-by: Guodong Xu Acked-by: Conor Dooley --- v6: Only match nodes that have riscv,isa-extensions, fixing dt_binding_check errors on legacy riscv,isa-only nodes (fix suggested by Conor, breakage reported by Rob's bot). v5: New patch. --- .../devicetree/bindings/riscv/extensions.yaml | 32 ++++++++++++++++++= ++++ 1 file changed, 32 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Docu= mentation/devicetree/bindings/riscv/extensions.yaml index 577d7ae5576b..d4cde2a7b8b2 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -1211,6 +1211,38 @@ allOf: not: contains: const: zilsd + # All three Zicbo* extensions require their block size property as there= 's no + # default. + - if: + properties: + riscv,isa-extensions: + contains: + const: zicbom + required: + - riscv,isa-extensions + then: + required: + - riscv,cbom-block-size + - if: + properties: + riscv,isa-extensions: + contains: + const: zicbop + required: + - riscv,isa-extensions + then: + required: + - riscv,cbop-block-size + - if: + properties: + riscv,isa-extensions: + contains: + const: zicboz + required: + - riscv,isa-extensions + then: + required: + - riscv,cboz-block-size =20 additionalProperties: true ... --=20 2.43.0 From nobody Tue Sep 29 04:14:29 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 E9C00430CDC for ; Wed, 12 Aug 2026 23:35:20 +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=1786577723; cv=none; b=d/oV5RWr3clxM8iRuUy/9lUZQPo9dZVqpceU4+cYUFeadOLNRKiDAjEKP3XEyoNBSgTeryZouoUkVNkeUCIiwSg6MvaO7rxPGSTJbV70cFcjcMLevI/fb1wGhcZdraZSdSK9zCHwqE9PvDM6FG7Jn54f+/jJuLA03VQr76neEgU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577723; c=relaxed/simple; bh=df+eBxBrANzUqAkDxq/LIOvp8cwE4dtT4e7eHOHJASw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BBevsEbmD9M5CV5Xwhbs3kdzhiu+XC565N/ow2AMBJTFmCnI87HVWrlihUTF310rCupUQuLC7nlwVgDrTZzPT0LzcrwrT9pl9F4tUTn5gxg9WVISNxA10NbZiISDccrqL5gZj2VCL67hZxde94VK3f4Kw67U4O48pQBthONYdrc= 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=QRVSFQ47; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JZKiB48s; 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="QRVSFQ47"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JZKiB48s" 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 67CNLXh7941723 for ; Wed, 12 Aug 2026 23:35:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7ew7essRfW4CKu/wg5LnPI4usVo+eyUYoe/mBBDpBn4=; b=QRVSFQ47/HfFj+l5 1NZcpNhH7D+NfqSPF8QVnXbaf5oeLkC2iCGcqnpkNvYm5pXkI9msqwKdEFoZpFes Ieqiqj/8LByLIG1GwqMz1f/C+z0DItXQw2vicLrDlSCXPlseo8tZ0uJ8wcMsv3Zi VtLf5PUfW9PvmlrSdUqX6/4R1DIPyp47XdohzGLgSgI24v/r2aT+Is/hyxUJBR+i GeUfKVvvWJXyG9xLYmi9+THEo8L2T0tp+fv/+s+mgLr73oVH0NXxCCGG8K4839gE EkgPTDywrjy3ElT4GWqtVWtFzmJKv5AryJ7alo/+nmBIGcJ0DH5BPSKWIsjAkiP0 i6OvSw== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0xx1rtr4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:19 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2cacd6d37edso2626605ad.0 for ; Wed, 12 Aug 2026 16:35:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577719; x=1787182519; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7ew7essRfW4CKu/wg5LnPI4usVo+eyUYoe/mBBDpBn4=; b=JZKiB48s9Y/tn6Upo8IT8HRjjIjFO1fVgYSz5kkFvnpVZPr0QLVMSqbCyHqZJ0Rw1D MaTYFA/nw+NzkLup7Pw8FnDrxjPB6SHECmmunAd4lfKBZg0Xg0EFBLQtrzxJHOMQ03kb 9hK93VrnSc8DroNYY0L+MCBYP0pKMHaGcziBsdDO2cLnzdYi/Nsvx41i6SslZwPVI2C+ 2mXbJqObBlmBUg0XnPqxqJxOetII7DL9edLN+YeYgjcKd073CZzmsnSPTW4ATpwP36/0 O1zmV8YU8zBCtRkr7Kt/m8rlAgaTE/up0hNSWxG1jl9b269jY6czUw+NYGuJHLdwaf4b 8Epw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577719; x=1787182519; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7ew7essRfW4CKu/wg5LnPI4usVo+eyUYoe/mBBDpBn4=; b=eRSmG84hq8UJddfJ8nue+2yEwGo4S3frzFDrlGxlQ8QtbbJhnzHUcoF/VyOZkb120l ozzf6zQ87pSROmgreJfmhxeetX+GmZ/qEko++uCCviF7QSbK2vP5G2r9jzqLlewz8/5F +i12k0ZzafYNRxfrHjz0d52j7gHssr1ajfivIQwn8IrA/BUOI3tydWiNe+eFFQ773CPp 2EatagIn87YanFRKFpZPOv28CUFZGIWCa+R7MJVygqHAwLQIdJvM614R8NOrIp2bWYD3 p+lKz9jd4jQBQzN6sdzaa2r3ixOQfXz8sQ9KukbdsCskDy8zWy32YcQvFM3N8PMBVHgt tTXw== X-Forwarded-Encrypted: i=1; AHgh+RoaQSJxThPhCqo98x7flsvx77QrS5VJsuJARRB/NjkwFCI7hrdxo7D8zhGRI5rZIxVCoQz3lPndNDF+Blc=@vger.kernel.org X-Gm-Message-State: AOJu0YwXscK9YCzBk8/8rPoMUCW6pA2gioLBwo7dYIRc/+WshX+yLkVc 2qQbeJHDytHzCbrqz8E6bAv4bsStypX/kkstf0BI4L+7xZfDDe4UPlONgN3TwIPSF2JuPjP+ZIw RAnmmNVTcLb86MPBs0HBeEhLRw3kZfeE6npCrCKV8FsugV6hxEumhTsXnROwm8d2j6YY= X-Gm-Gg: AR+sD12fOjDPhavTI4hxAdJMm/wkAIAR1weESz7uM2YsEvvl6TiCtpBntP+hkwN+oiT rPiFEj6MZt9dL+ENgO0+9IEQE7fQgPU/gugF0G85rhqWWhzb+wzRqZm+oYJQuKpPCYfN0oe7ril QKBGcQNHLpwNFDQ0JZAjZ2HUSvZALznlIFyu1XZZjrSCTwK/r0um7L1CrP75e1wtu5hS791AmBC DPlI/S7zD85LLL4iNMoJ/p3Ky0DtUBeOvNWTgET37OZ59r03MNpQJRzhyQ8hFUlzpda0OdskHN5 GPBBGzT9pKZN8Hi5OWdCSfulQUB+omgjUU9LPrq8/7wUhaiel1dQ1dutRr/T1Q== X-Received: by 2002:a17:902:f651:b0:2c9:c991:3bf0 with SMTP id d9443c01a7336-2d37d581162mr19111185ad.8.1786577718848; Wed, 12 Aug 2026 16:35:18 -0700 (PDT) X-Received: by 2002:a17:902:f651:b0:2c9:c991:3bf0 with SMTP id d9443c01a7336-2d37d581162mr19110515ad.8.1786577718418; Wed, 12 Aug 2026 16:35:18 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:18 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:49 -0400 Subject: [PATCH v6 03/11] dt-bindings: riscv: Add Zic64b extension description Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-3-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2714; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=df+eBxBrANzUqAkDxq/LIOvp8cwE4dtT4e7eHOHJASw=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZpGghL0lKZNWVsyfs/b09AnNXKwq7Ue3Jb5z3bP1V bmp1L69HaUsDGJcDLJiiiyHj7Zkb33lE+37nPMHzBxWJpAhDFycAjCRVHtGhs7zvq3twu+tnrx1 cD9TvWg1n87SC7vz+1NusSjfZ/ed2sjIcEBQY4v9Xc3WDZeKznt5ss3XPXZa67/EvvcOlyzzb9n t5wIA X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-GUID: 5SOMR90bi2lSbLZpOF0Bj1DR1kVCozY8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX/Zo1rrTote1d JX8SJOgtNbvUZE+WXyBrSQdbPn/4f7SrQolanoqoPITCNphu0Z8Bp9XW4Dmw5n05b34Sp/6xnYy c3VhjrQWf486bRyzcqPsqHjxIcVtvw1YjCSGx8VsZa9WBiAuCd+B3jdvvAhN1fL4456fxJFim3a 9595z/yb4/6DQQKLPc91x4AotrYbAjL9WhmkABYkBQTYISrk5JCjLFCv2/Jfnk1TyMvAtX3S6Qk foiOgV8XMm0t8t+vgPs6yJz2tfdHtmBgE0O0DKbixghwKvQ3JAh1/Afokul/zieACf6hyhPI5lV tpZLqe+w3bL6wKyRdhmWDpLjz1rRQAoUqtgdk5miA/xN3GczrNgvrdmxlarx71+AuwA+CtWOq74 TLwumas4RZLtpjuyUa64MiOe6fjYlOM2jnzMJ/SMS7XTVadA3j1ggAbngJkqhQIIquWIiGK0Hh1 8APB4/xDhj1lpPhi1GQ== X-Authority-Analysis: v=2.4 cv=J6KaKgnS c=1 sm=1 tr=0 ts=6a7d0337 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=B0juqsJzrbe9EOqzv1oA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX0+85Jv6cxh1c wbru/j8wXACFHHKaj7Z3n0pKx3VlPmUzmSCKa9i+vtZlCtpdV0fCFXUvBKDjkGXLCuJyIlT7adl u4MXxS2C2Y0OnUVwHSJel6q9mGjmLGs= X-Proofpoint-ORIG-GUID: 5SOMR90bi2lSbLZpOF0Bj1DR1kVCozY8 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1011 malwarescore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 Zic64b mandates that cache blocks are 64 bytes in size and naturally aligned in the address space. It is a mandatory extension of both the RVA22 (U64/S64) and RVA23 (U64/S64) profiles, ratified with RISC-V Profiles Version 1.0. Document it so it can be described in the riscv,isa-extensions property, alongside the related Zicbom/Zicbop/Zicboz cache-block extensions. Since Zic64b fixes the cache block size at 64 bytes, also add a schema check requiring any present cbom/cbop/cboz block size to be 64. The check matches only nodes that use riscv,isa-extensions, so nodes carrying just the deprecated riscv,isa string are not affected. Signed-off-by: Guodong Xu Acked-by: Conor Dooley --- v6: Guard the zic64b rule with required: riscv,isa-extensions so it cannot match nodes using only the deprecated riscv,isa string (same defect class as Rob's bot reported against the Zicbo* block-size patch). v5: Commit message clean up, fix a double space (Conor). v4: Insert zic64b at its sorted position (before zicbom). Update the commit message. v3: New patch. --- .../devicetree/bindings/riscv/extensions.yaml | 22 ++++++++++++++++++= ++++ 1 file changed, 22 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Docu= mentation/devicetree/bindings/riscv/extensions.yaml index d4cde2a7b8b2..79491ef8f86a 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -537,6 +537,12 @@ properties: in commit 64074bc ("Update version numbers for Zfh/Zfinx") of riscv-isa-manual. =20 + - const: zic64b + description: + The standard Zic64b extension for 64-byte naturally aligned ca= che + blocks, as ratified in RISC-V Profiles Version 1.0, with commit + b1d806605f87 ("Updated to ratified state.") + - const: zicbom description: The standard Zicbom extension for base cache management operat= ions as @@ -1211,6 +1217,22 @@ allOf: not: contains: const: zilsd + # Zic64b mandates 64-byte naturally aligned cache blocks + - if: + properties: + riscv,isa-extensions: + contains: + const: zic64b + required: + - riscv,isa-extensions + then: + properties: + riscv,cbom-block-size: + const: 64 + riscv,cbop-block-size: + const: 64 + riscv,cboz-block-size: + const: 64 # All three Zicbo* extensions require their block size property as there= 's no # default. - if: --=20 2.43.0 From nobody Tue Sep 29 04:14:29 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 DF86B470EAF for ; Wed, 12 Aug 2026 23:35:30 +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=1786577732; cv=none; b=o83qFWTsNUFKNS8jF3S52BPTss6A4tdIJkB0zn3aU4SvjK4gTUoGoGe3O38CJ7tKMCxvrPAI/u5T03TZ5NpEYVuTrJZ4K7LYvcvDF3c9nJdVX6d+swtx7XslSnnddEZrf67RFAH7QtQX9Pv8bdrUAoLKcPqgnJ1t6WaNOPGUg94= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577732; c=relaxed/simple; bh=y/Jwz6FngiD2np/hHF70//LNLqWrEaqCls36uVe595s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DAoTDPX2LesEafUD+W1+uMg+m5u2m5rz+kIFe7EPTpqAzR/h6Z2Pj4S86DomwO60aow2SLl12hDN7tor6/hYNzKNds8pjV8+tzRBSDObS25i//t7gSIEox9rFJOXkKWWlpmvo+LQ6rRO/7hVdh/xD4XbekYgKSUR9Q6iZlGPsDA= 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=Lu/ecR2t; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NjYfxgV0; 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="Lu/ecR2t"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NjYfxgV0" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNMk434010102 for ; Wed, 12 Aug 2026 23:35:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= l+QKQ6AR1ad5oWQF1qcyBu89GPxfEiK2nPeWrXANXmw=; b=Lu/ecR2tRoKUnVui rNr4gsg3snH2hrB+t5TLDUas+iR5znPABm9uCvDcPIBw/KC/gEsdJOpw3E19Ca1t lcSAXqoS5RAxrPQUETNJjyCX9AxM+VQZWmfxFEyN2jMMmVyOCZrKAxApeV0mZlx7 Tr4aNWu9JbChce0jfsfaJ6t5A91IET+f1DuLJyfmZ5XkeV80849yTkN2HOihi76q ge1A2mlWvgJWaMFubt2tKnSgnsncISTpYBmDJgQaO4qJ1T2sUE0eCOc5TJDnGT3x OawWXW6/e/Tm9CgY9OnTnqWKifNKUpIXE0DNvdM3qMIbX1NrYoNejzxmOpIldIqS nKBmTw== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0xsk0vch-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:29 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2d122bbc621so44308655ad.0 for ; Wed, 12 Aug 2026 16:35:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577727; x=1787182527; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=l+QKQ6AR1ad5oWQF1qcyBu89GPxfEiK2nPeWrXANXmw=; b=NjYfxgV0vvFTLz8jMD+91C5aY12AJbK2qgpPo4XQKZ35/i2VV0aAU03RGXZPVUTLLF NkWHz3+Pu8yQ0jKPI3L2sjEOg3w8imz/yHQPdLOQjFoks7aJEYOEw0G1NjLPbnYNisir aHuXb99XPRX1Ktynq6YollotXNZ1TWcqlsw4I9mijGldliXDk+dVq06xzW/xbrdkthPI oWaFr3ZvN27TFwmdYOTNDBPKGdIS9RitLBBoz3PbUqmsO0rC/vZgz70+X/kU9oIVje9u GdOIYDn9+xciKF6kMiopZvW6Zjbh9+h5LG36dBCoEz9VU1Wk3zEwZwt+yHwaDp2NLOqU WV6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577727; x=1787182527; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=l+QKQ6AR1ad5oWQF1qcyBu89GPxfEiK2nPeWrXANXmw=; b=O9N3iFiEP+H8NHv21rD2KfnMzhW+sfEwKn9+vhFrSoO+TNLKXxvu8Wl6jAjTyxcu/n QkggvT9g/bn7NX99zjlVn8dc9ou5NUW8F1h0tLNantS1xCKtEkUweN6tY7VIEynW0XPk S+1k2ucCkVXrbgymTzJXvOamI4cTBtCsyjLLerXYCootqrSnbe0g1tGoWerpFatJeX93 JQFrXpTKHSlc4AC2MxVWmdLBHcJ8td2uNvnYFrrZI1y1YQpdRzM7PEiU4xXnc8GvFVxk GdLQETDdYtHLJ5mVGviXqOq3lZJNBYx0BOQb+XhubhwHHGyhu4hxWy9pD1hi70RFEztJ 90mw== X-Forwarded-Encrypted: i=1; AHgh+Rrh5hEaPtrtbUbes0EwGGIoP0F3s3lQHWC/TBOsy1i1rx0PsUgHz2MQI6miEGtEZleorFwOa/KpA3cdoM8=@vger.kernel.org X-Gm-Message-State: AOJu0YyCN1m8oRYOooQELGhSGSizmsywW8FrljK1YQN/YKGF5+oi/yZx xBC4RTBw/GBKqBFcfZLjJTAafEc9JhJy+uX6AYx+Cb1syv6KRPK0kS8O3DaxgIb9XpFn/bnAgFz PNed7WFuD+S80cCuyjS66Xcgg0HyU6C6RWG9glS/k8Xpfz0Kp8VLAvjqVTDZ9wp9opxI= X-Gm-Gg: AR+sD11dAhGpha4LW+6+j5PFThpmgGppsxsb1E5uzapKoewz81PfuzsTmzuo52RyDJp mE58taeqI6/G87/u5zF14YkWyRuQzci28kTErMPyJrBKbEMWoiJ7cVuW3lHVpOGC14wFZgK6bNd 7+sl4C/29E95OcsQf8RCdwhclrDNij/L9dHqOdSAiJFCoFvkVV4/Di/RoAVt7ke/3bNtU0lnzLc FK2BvSyX7C25jde5qSOEbXrNect04DCOWSxPEOcqM0ureV+jWrow3JczTwr5xM0YVEdZjC60mME FJXjixeJHUIQ8BmQM3IVy0o2eMh9N5mCel89e1QWaIn1f8yWoqoUrIYVo1TONw== X-Received: by 2002:a17:903:1b46:b0:2ca:d91d:d3a7 with SMTP id d9443c01a7336-2d37d884e0bmr18080705ad.10.1786577727468; Wed, 12 Aug 2026 16:35:27 -0700 (PDT) X-Received: by 2002:a17:903:1b46:b0:2ca:d91d:d3a7 with SMTP id d9443c01a7336-2d37d884e0bmr18080215ad.10.1786577727034; Wed, 12 Aug 2026 16:35:27 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:26 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:50 -0400 Subject: [PATCH v6 04/11] riscv: Add Zic64b to cpufeature and hwprobe Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-4-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu , Qingwei Hu , Andrew Jones , Conor Dooley X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=5790; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=VLbBTWJCKZUIMQKhsVDcXNJs8R0yLJYIEevi+ZPuabY=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZpEt9euvBqx2PaN+K1ff/bWVn+W3qdO3c64/ujs1m XeJwiPFjlIWBjEuBlkxRZbDR1uyt77yifZ9zvkDZg4rE8gQBi5OAZiI9T2GP7x7358L12+y0d6e KL3yw9Ts6gWchaYzrgXP0A5y6UpctoDhf86Bkrmu1pVW+XWeP5uyeNKDhSYr/nrwvdCp6dmRHZN YWQE= X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-GUID: 9s618X9pdOFlJCjKpJICWzC3Rwuc4NIy X-Authority-Analysis: v=2.4 cv=M7J97Sws c=1 sm=1 tr=0 ts=6a7d0341 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=HwFc7jivAAAA:8 a=968KyxNXAAAA:8 a=EUspDBNiAAAA:8 a=XYAwZIGsAAAA:8 a=fFnMLytXjIv02VNa_WYA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 a=kr7TZk85JJIQSqC0cl8G:22 a=E8ToXWR_bxluHZ7gmE-Z:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX0FZ32TWdBZAM UkOu7oHoLAWzIvBJdL/ZPLYdSlBpwgUfZLQD8WrA7Y3CHBEHDX3tgjfhJvi24DwjKCSW+IYs1X3 O38pi2xWxExQwgFR458C3uAzUegltlY= X-Proofpoint-ORIG-GUID: 9s618X9pdOFlJCjKpJICWzC3Rwuc4NIy X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX04w2OXTDSCzI UdjoUdVE+FM9hXpwGYa3+P/mHsjr7fqBk3u466YWqz8ghvyP4LX/YTZVhuVUh0Gwv5kfipG03/F MlHe4dfB24QkshvJbNy/gU6rmMTul87I7m635iUWUOKUVBTr+XuI/2ZZmXYiBmVYyy2Ia/fDnqM er+nw2eUo0geOGGWt1edIuNNwrm5z/Zb/sV5Xi5XEsTViyyoZJq5eBcWpYF1t79Hnh+fCIXMuh7 KirdDBGOfT6ac+emIG1t+eAapNgbFWK1r9QxXchh+Xmb+sd0eWP3zAGobomNl6eJw7nJeAlkOfp OHcxSde6CVJ3wdrIAOb3WZnh0FmYK5n8l0vkJ3+zutHRnPZ1yUaBR3VwODYJtx6Qfv8IPl4GQHX P2L7vkJgOp1gct2RZudKb0p0++P2Vb4luef919WVDXLnROnH3OFUamzT8+CHDviLp1BHUshkfpR WHIFMN1f6Zt8ou8sorw== 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 clxscore=1011 spamscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 suspectscore=0 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 From: Qingwei Hu Zic64b mandates 64-byte naturally aligned cache blocks and is a mandatory extension of the RVA22 and RVA23 profiles. Allocate a RISCV_ISA_EXT_ZIC64B id, parse "zic64b" from the ISA string with a validate callback that requires each cbom/cbop/cboz cache block size to be 64 bytes when it is present, and export it through hwprobe. Link: https://lists.riscv.org/g/tech-unprivileged/topic/question_about_zic6= 4b_and/119631059 Reviewed-by: Andrew Jones Reviewed-by: Conor Dooley Signed-off-by: Qingwei Hu Co-developed-by: Guodong Xu Signed-off-by: Guodong Xu --- v6: Rebase onto riscv/for-next: RISCV_ISA_EXT_ZIC64B renumbered 110 to 116; RISCV_HWPROBE_EXT_ZIC64B now uses the _BITULL() style of commit 8da45c93dfa9. v5: - Collected Reviewed-by from Andrew Jones and Conor Dooley. v4: - Credit Qingwei Hu's earlier Zic64b cpufeature patch: set him as author, with Co-developed-by (Guodong Xu). - Validate only the cbom/cbop/cboz block sizes that are present; Zic64b does not imply the CMO extensions (Conor, Qingwei, Greg). - Add a Link: to Greg's confirmation on the tech-unprivileged list. - Add the missing blank line before the ZIC64B hwprobe.rst entry (Andrew). - Did not carry Andrew Jones's v3 Reviewed-by: the validation was rewritten (present block sizes only) and the patch is now authored by Qingwei, so it warrants a fresh review. v3: New patch. --- Documentation/arch/riscv/hwprobe.rst | 4 ++++ arch/riscv/include/asm/hwcap.h | 1 + arch/riscv/include/uapi/asm/hwprobe.h | 1 + arch/riscv/kernel/cpufeature.c | 19 +++++++++++++++++++ arch/riscv/kernel/sys_hwprobe.c | 1 + 5 files changed, 26 insertions(+) diff --git a/Documentation/arch/riscv/hwprobe.rst b/Documentation/arch/risc= v/hwprobe.rst index fc68dea397aa..32a14331eb9d 100644 --- a/Documentation/arch/riscv/hwprobe.rst +++ b/Documentation/arch/riscv/hwprobe.rst @@ -425,3 +425,7 @@ The following keys are defined: * :c:macro:`RISCV_HWPROBE_EXT_B`: The B extension is supported, as defin= ed in version 1.0 of the Bit-Manipulation ISA extensions, and implies the presence of the Zba, Zbb, and Zbs sub-extensions. + + * :c:macro:`RISCV_HWPROBE_EXT_ZIC64B`: The Zic64b extension is supported, + as defined in the RISC-V Profiles specification starting from commit + b1d80660 ("Updated to ratified state.") diff --git a/arch/riscv/include/asm/hwcap.h b/arch/riscv/include/asm/hwcap.h index 6a693210b251..b103aaeafa47 100644 --- a/arch/riscv/include/asm/hwcap.h +++ b/arch/riscv/include/asm/hwcap.h @@ -123,6 +123,7 @@ #define RISCV_ISA_EXT_ZICCAMOA 113 #define RISCV_ISA_EXT_ZICCIF 114 #define RISCV_ISA_EXT_ZA64RS 115 +#define RISCV_ISA_EXT_ZIC64B 116 =20 #define RISCV_ISA_EXT_XLINUXENVCFG 127 =20 diff --git a/arch/riscv/include/uapi/asm/hwprobe.h b/arch/riscv/include/uap= i/asm/hwprobe.h index 9323feb7c3c8..9a121ee3b436 100644 --- a/arch/riscv/include/uapi/asm/hwprobe.h +++ b/arch/riscv/include/uapi/asm/hwprobe.h @@ -123,6 +123,7 @@ struct riscv_hwprobe { #define RISCV_HWPROBE_EXT_ZICCRSE _BITULL(4) #define RISCV_HWPROBE_EXT_ZA64RS _BITULL(5) #define RISCV_HWPROBE_EXT_B _BITULL(6) +#define RISCV_HWPROBE_EXT_ZIC64B _BITULL(7) =20 /* Increase RISCV_HWPROBE_MAX_KEY when adding items. */ =20 diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index 7f615d1a175b..de7cff5f48c3 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -136,6 +136,24 @@ static int riscv_ext_zicbop_validate(const struct risc= v_isa_ext_data *data, return 0; } =20 +static int riscv_ext_zic64b_validate(const struct riscv_isa_ext_data *data, + const unsigned long *isa_bitmap) +{ + /* + * Zic64b mandates 64-byte naturally aligned cache blocks; cross-check the + * cbom/cbop/cboz block-size (when declared) device-tree properties to + * avoid inconsistency. + */ + if ((riscv_cbom_block_size && riscv_cbom_block_size !=3D 64) || + (riscv_cbop_block_size && riscv_cbop_block_size !=3D 64) || + (riscv_cboz_block_size && riscv_cboz_block_size !=3D 64)) { + pr_err("Zic64b detected in ISA string, disabling as a CBO block size is = not 64 bytes\n"); + return -EINVAL; + } + + return 0; +} + static int riscv_ext_f_validate(const struct riscv_isa_ext_data *data, const unsigned long *isa_bitmap) { @@ -529,6 +547,7 @@ const struct riscv_isa_ext_data riscv_isa_ext[] =3D { __RISCV_ISA_EXT_SUPERSET_VALIDATE(v, RISCV_ISA_EXT_V, riscv_v_exts, riscv_ext_vector_float_validate), __RISCV_ISA_EXT_DATA(h, RISCV_ISA_EXT_H), + __RISCV_ISA_EXT_DATA_VALIDATE(zic64b, RISCV_ISA_EXT_ZIC64B, riscv_ext_zic= 64b_validate), __RISCV_ISA_EXT_SUPERSET_VALIDATE(zicbom, RISCV_ISA_EXT_ZICBOM, riscv_xli= nuxenvcfg_exts, riscv_ext_zicbom_validate), __RISCV_ISA_EXT_DATA_VALIDATE(zicbop, RISCV_ISA_EXT_ZICBOP, riscv_ext_zic= bop_validate), __RISCV_ISA_EXT_SUPERSET_VALIDATE(zicboz, RISCV_ISA_EXT_ZICBOZ, riscv_xli= nuxenvcfg_exts, riscv_ext_zicboz_validate), diff --git a/arch/riscv/kernel/sys_hwprobe.c b/arch/riscv/kernel/sys_hwprob= e.c index 12ea4f39a838..656cb100ac48 100644 --- a/arch/riscv/kernel/sys_hwprobe.c +++ b/arch/riscv/kernel/sys_hwprobe.c @@ -208,6 +208,7 @@ static void hwprobe_isa_ext1(struct riscv_hwprobe *pair, EXT_KEY(isainfo->isa, ZICCRSE, pair->value, missing); EXT_KEY(isainfo->isa, ZA64RS, pair->value, missing); EXT_KEY(isainfo->isa, B, pair->value, missing); + EXT_KEY(isainfo->isa, ZIC64B, pair->value, missing); } =20 /* Now turn off reporting features if any CPU is missing it. */ --=20 2.43.0 From nobody Tue Sep 29 04:14:29 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 D491946D2A6 for ; Wed, 12 Aug 2026 23:35:36 +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=1786577739; cv=none; b=aSwYcH7sJ1GO7QPLw6e5RgwjRusdUPypHxPkAcF+WpUxIWQ2vwVB1Fn37o3VNGxyJzv1oQ+sQou2GBStuCfbEOe0hyY8sRKfKIq2uXqhcrckY8ttgLZsJ73q5mlrkU3LdA/Dbd/hvFCZvA7B2DcSIhZkYagvCH5mRT9JpF4BnZc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577739; c=relaxed/simple; bh=+dp9Vtps27IuWUP3AnoeGjUrH0F9t/YAsGiT2Ps0DtE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=umnIsSv0xKo5AkvNiUAM1noUP4fND2z3SUgeeb0I731RY5pNyMkJYnDFecVPQMA1RpNUieKB0dLQw4BGC8mnSqDoc9VWwdtn/d1IptfinZlhxKqL4DP9GKewOkWkeV8hQX6cuKoo2gjfmw0Z8jL6AxFzvS4LU3iBAJCzxh2NrYA= 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=YojOx9aQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MOu9ItJE; 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="YojOx9aQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MOu9ItJE" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNLegg1058799 for ; Wed, 12 Aug 2026 23:35:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= CLx6LxcsDwB3ZjIhypvrn1AGWZ6LjrH8hIxTnjXB4Bk=; b=YojOx9aQmonhxXUs 6qzKycVFk4bAjBdLEmZipaYboaKQWt88q/4+/5TgEQvkMXZZActak186vWiRqIUp cpp+RUIPLKXwjbXleKwSz8za+0LTBk167S4yKBTZRaoVGiFFq2QqnjefQSqkg6h5 magLE5etM3/hOeOMeIg1BnnYPVclMDj7qTqGZnfe7AshOT12gzW/AI0HFQeaFnyc d1BhNqd6iGrSNBbfx1xM5F1kSm/9R5FENsfbU1ys1LE4ZX2u/vZ37fKhWyA0NpdX cBiYcUBv3GEK5KB91oxrZkg32srJDVnUsdqIwsONcXGGtURLgGF+bX0gbm18oCcH r5lQOg== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g11asg8gr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:35 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cc7e86e7c5so3227265ad.3 for ; Wed, 12 Aug 2026 16:35:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577735; x=1787182535; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=CLx6LxcsDwB3ZjIhypvrn1AGWZ6LjrH8hIxTnjXB4Bk=; b=MOu9ItJEdmthBUx+9mdpGIfjc963CQtD4xW2Qw5tFDFuVIlBb/DeLfjiOAzchSlIPg ygrtdB57agq0F8+Xg1uCbZQ9AB63IjsDxyrG+AdURgS5RbFoHK6VurkoDueZ3xR8fr/2 +BuasQP6YY+Ixz0d4QAWB/816eXGebfnvN+/Ea0s2eg73b7e6S6R7iSrlRqOrVVFMtp1 C0C5PS19zt0BQSraU/KCpx97dz40udRjxWVwlfZRri62ODRz2aKYs16Tobxm95SxxYlj Tca09ftP39kdiHydG+iFsOBeI4N6IUNTKtCCBlsiIH7RVSzEArDrXKf18iUh9rOzVCp0 Pcxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577735; x=1787182535; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=CLx6LxcsDwB3ZjIhypvrn1AGWZ6LjrH8hIxTnjXB4Bk=; b=cMQ5WaCY8BrCc5Xvgl2YmsiE7gXaQEhS4hyLHu7/uNCaxn+IJqyImS1E47XGvpO+gc FNa/DJp1sSRK7uthe6v0DPxsi1eL3ggW2dRuyKT7oTHhyRNLdyF12Ai/P+ZYgQ03SIj1 ArXYyRRaB+KKnrJoHoOACF814iwtZns0fd1LVrYB/pxOOeJkGYTJdhdpwgT2gSdc7MO3 esAhmREKRUSyz5/TQD2+wGWgmCTfXnvlt50ytAoO/mFntR2bChPvgwM/dNUnXLNDaNgI t95G2LISDYxRVZ3SM6PtrgzWPNTpFnvMxgsx2NIwfQgl4tRSo+VhyFOQITmtFuca0twd xieg== X-Forwarded-Encrypted: i=1; AHgh+Ro0w2Ae/UCeNRm4+2VMpcYYgaex7yhAaEiRaC/aHoWcVJ1M9WUtYEnSHFOqvpg+J1jsQMYmMSuGtxtKWh4=@vger.kernel.org X-Gm-Message-State: AOJu0YydaFD8lOCUuJWQveh1fSK1R+P0fVLI969jHz7c+pEcMP9A7xtd E5nmfnkfwv7LhceMpc6Tr9nqNpvO4Gogxcyj0vSHrlQdwHikDiiibdJ1bzl/ApSKwsie80Xn7er +Tk22se0RceaklHQK4x0gl/3+7sx+vx1M/TRyEUNyy3H9KOnTXJ9vAZ+iWi/Az420n68= X-Gm-Gg: AR+sD13xGeCVYhI18d4qb+37yWzcjprG35PYuAs0SPyYP8G1Ivm5o28q4E/2hB6yqqY zNToJQ5vED6CTRiO2nLpIwMfG8iNu8WmfTLcizK7KiBhq2Z2mXY7n4zboPOSzzK5/BzwWyktG/n qaHN2umkDf32lkgl09yP8av3hIEWxv/zznHtTPy506hCGQJjlWnC3Hg8yaN2VIGXK0I5DIc3t0g PzJRvZ/cnQ2TmghEMC1vmHHVkESTah70aDWABOeRJa7A+EH/SUwt4+NfMHnN30QP/tvSzwFNS48 0yTaPhmukH2QYVoUNI0Dlqba5xi3ms7fdZSoWtMa+Ye3UnKnNtiJFpm7mJYADA== X-Received: by 2002:a17:902:d2cc:b0:2ca:d172:7228 with SMTP id d9443c01a7336-2d37e855129mr13704455ad.11.1786577734755; Wed, 12 Aug 2026 16:35:34 -0700 (PDT) X-Received: by 2002:a17:902:d2cc:b0:2ca:d172:7228 with SMTP id d9443c01a7336-2d37e855129mr13703945ad.11.1786577734295; Wed, 12 Aug 2026 16:35:34 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:33 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:51 -0400 Subject: [PATCH v6 05/11] riscv: dts: spacemit: k3: Add Zic64b ISA extension Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-5-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=6883; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=+dp9Vtps27IuWUP3AnoeGjUrH0F9t/YAsGiT2Ps0DtE=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZtGHGjGn45+ZfZUUtp/T9rgyOard5u8NuS7v5Xpq3 C+LZlh3lLIwiHExyIopshw+2pK99ZVPtO9zzh8wc1iZQIYwcHEKwERWBTH8jxTsX6fpeUG6OqiY s96jVm+yWoN/uL7RA4GuA+4P7qW8YfhncLre/61C3KsnPEEtH5vWTd9yNPbZw9AF01i8FFfXewr zAwA= X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Authority-Analysis: v=2.4 cv=EujiaycA c=1 sm=1 tr=0 ts=6a7d0347 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=UGsqu9ZSYe-JSgDVrOUA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX6yTbHPSOtKIR X2YvJSBM9Aq+vWfgMZN4ShAqO6LVAj8y3Sn4TudLSOrvaRFt/FZSx5gSkSY1Ib8ChMjW74FnEHJ LKHdjRMvWABI6P1gEBE6qofid/Mcr07bPKSe5fG7nuc4ZiwQ8f/csr31ZzIUjtnHe2QUp78vcWh 2qeu2zfT/mMjCxnx/Gy/Wk2UD4A6kLQ4IuMl83JLZOFqPvtyrG/z0Tm52vPwhhfPbslzW9841et GRo00uGU16Z/hFMIUY7PZtfK1nqDKPmwDu1dIOP6xGD14mTkIbbeWraOaq37/QqQ2Jm3BIkVFKb czFNFw1nQHfZgU0aUyebPhMdYRPM4UrIQuBdeEGNWzcvhWLCPAFlMVMfJZRNEfNbfYGtpad1b+P g01bW++R0Pinva9HqlRTcKSGz1PMehrXXTi90ddT7mw5PygpZAk+S5zA7wGDTf+4IibsY41lXw2 WJ4PAbnTk7rP1d5HsCA== X-Proofpoint-GUID: WGXjVtY4EkolaWdBRr8i_07ct5lhVA03 X-Proofpoint-ORIG-GUID: WGXjVtY4EkolaWdBRr8i_07ct5lhVA03 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfXznYddJWqx/Co EmH1WZOZm0NDLPMGNmEqs4EsM+vqmYsrpesbVlw4E5AguFTAbE86n4sMryrpitjwHyg80A/ll1s MYG/553GKCjYKCodhryIfLvffQc+Ngg= 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 impostorscore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 The K3 X100 cores have 64-byte cache blocks, already described by their cbom/cbop/cboz-block-size of 64, so they implement Zic64b, a mandatory RVA23 extension. Declare it in each core's riscv,isa-extensions. Reviewed-by: Yixun Lan Signed-off-by: Guodong Xu --- v6: No change. v5: Collected Reviewed-by from Yixun Lan. v4: No change. v3: New patch. --- arch/riscv/boot/dts/spacemit/k3.dtsi | 48 ++++++++++++++++++--------------= ---- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spa= cemit/k3.dtsi index 19fc9b49668e..9a03b72e271c 100644 --- a/arch/riscv/boot/dts/spacemit/k3.dtsi +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi @@ -35,9 +35,9 @@ cpu_0: cpu@0 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", @@ -76,9 +76,9 @@ cpu_1: cpu@1 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", @@ -117,9 +117,9 @@ cpu_2: cpu@2 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", @@ -158,9 +158,9 @@ cpu_3: cpu@3 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", @@ -199,9 +199,9 @@ cpu_4: cpu@4 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", @@ -240,9 +240,9 @@ cpu_5: cpu@5 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", @@ -281,9 +281,9 @@ cpu_6: cpu@6 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", @@ -322,9 +322,9 @@ cpu_7: cpu@7 { "svinval", "svnapot", "svpbmt", "za64rs", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zcmop", "zfa", "zfbfmin", - "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", - "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", - "zicond", "zicsr", "zifencei", "zihintntl", + "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", + "zicboz", "ziccamoa", "ziccif", "zicclsm", "ziccrse", + "zicntr", "zicond", "zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", "zimop", "zkt", "zvbb", "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", --=20 2.43.0 From nobody Tue Sep 29 04:14:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 69219480335 for ; Wed, 12 Aug 2026 23:35:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577748; cv=none; b=kkuF6wjF4VA7hUywIS2S9iTGV4LZbuIXV/X7VQqdQ2naYrd9YHhZZkSeXgKyGv0wRSrZsBWOXiCFSUrxaG1Fr40ZZ0kDRjsnd+ex58VDiZ3r0bcXz2JwCWysqXh5HQk3haoZh71rWpEj1h344IGhSTCq2y+37UwR7ilh7gBKt+w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577748; c=relaxed/simple; bh=QyqHI+sUeQVxWvQrOwtnT/gJ/FO4HgU8O5PI3aM/OFc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oKMmOdCh/uRFF82aM+k0iD0eXA2iBFJc9NRbWc1Htae46FQJfK4wz0RejDoHRmeiYsS7m2mpk5lCQCfwXhTn+IpjVR7eTS9HEATszGneSpovH8zVQ1g0kMJSlmOVY7XrEwRouokiPgNK8XK8O0/WhCsMBq1ekNXGF3tCot5i+qI= 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=dtWyFrRl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BdkH0M4E; arc=none smtp.client-ip=205.220.168.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="dtWyFrRl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BdkH0M4E" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNLdMK723776 for ; Wed, 12 Aug 2026 23:35:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= aVU2C1C9NanhLtmMCL5sOG0DpcSR7DnUoKXsNJXoRQc=; b=dtWyFrRltgy/udt4 BgFEClHNVnLwxoeZdgXycV26uIfqYHXGXJvv3Y5vk9L3/tIc11gBi+xRjnuujU19 VMeu8jc2IxHWbxm02ftKr7daqg6Mu5zz2tIeh7jSPkUPi2dFxBCJ4xg1MKX+KaU5 ih2H+MCstNRe7DC1tL7pUmJv6/lnmB3dlGfD6/UIjLoRY1NmeqZMMNxvyLTQ0M5d q4bts11bhNXvJObIOthcWjuCAYp6gL36UhL9oKc39eRR+x2vKh9UUxzimrc57hm1 XauLgpu6DmG+V7MVoI9S8q/x6EZYhp7D/FQ4qL4Iw5g6YsgkCT9jIfy5IJiDSD7Q 442SJA== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0pmyuaxw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:42 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2ccd1958e8fso22196415ad.2 for ; Wed, 12 Aug 2026 16:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577742; x=1787182542; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aVU2C1C9NanhLtmMCL5sOG0DpcSR7DnUoKXsNJXoRQc=; b=BdkH0M4E/umeWfnaUcWSYJVfKbTQKd+Yz8/80eAmbmchasz5NM1vWLGq3G3kaQueSN gEVGaQjInW3cy83AAc9TJqgSL9ElLed7T4CoIhikd75GtP7aWwWtmH4HDLoCQY9VC/6p 9K5TeE3OtekXwKzgWPMmWhfuU2M8Fost0nAKe25yHCh7/aJlUjS3qaC7RcFwnSMQGg5D eawzlQ/w98yCtLNtbz3cTCzbcFanYF66BBiOMXIrkTgOrtAYQxKbp6Z6F8OlVboZLALj QmhDkxo0IKdMQd+5oTg7UNeX4JiUVKt5ZM1FZsZZ+tDgzNDZ+tFZYwtaPrJhqGGPF2uj 7DoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577742; x=1787182542; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=aVU2C1C9NanhLtmMCL5sOG0DpcSR7DnUoKXsNJXoRQc=; b=SFUyUqyYQoHCQ3xZG6WlS9i2KVrvgM3ecRA+a6B0GmyH9WO6eTjfVD/0ymTfIlNakM kD1MuGFC3/u1sXiYwzVJ+99ktrU700SYiANCMh4Ly2VyR9DssHlzvPjvYnwJw+wqiiWD GlEHVPwUaNvvqufY7YIym1ayO0ut3cz4PRpLSmn+5Le+VAooBgNMgRu3mZ6UzDGDeziJ HJKJvSyyZPMzRnvjv5jz7pE8DQYOf41Z+WMt/yeXNd3Zge7auPDsE/q87hyHtmKzdcdC 8EwEnMGtzNHcMoDy3Nh1tXBw7lE5D7nBtGrgZrM6kqYc63PWFybxt45IyjWO1VWJnlHP brfg== X-Forwarded-Encrypted: i=1; AHgh+Ro3+Ut95Ulp7ulUb2K7BFlk2iusmw1PpN4SFVdCaYmyrFsVc9k4daGAi/FzuFOb2bgBodyLks/AepXn6Ow=@vger.kernel.org X-Gm-Message-State: AOJu0YwEFsWyNOFzvdRzGIvN1OVgQed+Phf0bvGKR6Yd67kJnHz42MdM NDbjhYuWbQt0LdINCND9wAVF5UFQJNm8jRVR9YSS1iEBSFrRk1UZDsNhGARq79M0N5Ed0Au8t5T SV4fpgcALBGZXoD6kTxHcQ5SF0+zvG3LLrqkBXwtaOXuzk/kEXxbWg8p/rjE+LFtuxM0= X-Gm-Gg: AR+sD13J4F1emfLWMKfJzGIQ78Nd7AogopOwMEtQhxKMDIUqJnQX53Yk5VM8ikr3PL3 aOkY+8hqfKCF9IyHx6+8CV4ekJBN2r0WqLyx2VcvztC5ulHLxgfP/G0w6FolbK0ItF9OBI5g0vE 2gAdsm+Ujjkq/Py5XUl1PJyehHTf/YTsd0uvUzHJaketsiVohDrKbz0EDP4K00xdV5zfZMrcNCf +lT5hE11P9GQMSv029ityoIxc5Zi18kKuCDtMXHVAHLr9nscT1wdsl41iuqK6vrZ/yECH84IceA 2JqAS5WHPj0d/csYdrPy/9RjPMSpNUrf/BZqkAh03hDK0Y8onbRioMxCVhCYiQ== X-Received: by 2002:a17:902:f684:b0:2ca:eea:eb5c with SMTP id d9443c01a7336-2d37e8a5fe6mr17377535ad.18.1786577741864; Wed, 12 Aug 2026 16:35:41 -0700 (PDT) X-Received: by 2002:a17:902:f684:b0:2ca:eea:eb5c with SMTP id d9443c01a7336-2d37e8a5fe6mr17376945ad.18.1786577741373; Wed, 12 Aug 2026 16:35:41 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:40 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:52 -0400 Subject: [PATCH v6 06/11] riscv: dts: spacemit: k1: Add Zic64b ISA extension Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-6-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=10127; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=QyqHI+sUeQVxWvQrOwtnT/gJ/FO4HgU8O5PI3aM/OFc=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZlEu7/frhZ49//znWeycOFuntP0fk7lFIk6ZvT9sJ 5qbudizo5SFQYyLQVZMkeXw0Zbsra98on2fc/6AmcPKBDKEgYtTACbimcfwzzZeN9jlbaxx2Ce7 ZXKlehnCS2bf6NE1C2hQ3mvHKCv5mpFhK3PO4s63xwJvTnCzv9X2RlTqSEpLxOugNUu4+jjWBTC zAwA= X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX7M4e0n6Yns4f YeZT+41r2iJP9jjTIxp8uz9t639UOB8t3F2ahmYrKA4x0cYMRQohVsqfZ0cKNSiq7914Ycy75Jp zh6gJvDBQvVYc35Tgo5q0nzwDFo3J6g= X-Proofpoint-ORIG-GUID: t0JBMTtjePOF_ElXq0StlYj1cnhxmSiO X-Authority-Analysis: v=2.4 cv=C/fZDwP+ c=1 sm=1 tr=0 ts=6a7d034e cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=rNVubqczMo3w_3ApqVoA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: t0JBMTtjePOF_ElXq0StlYj1cnhxmSiO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX84dEfd0XnLM4 3hGySyCxJrF6WwWCnTRl1pC6hJWfy8Ho2OG1+jmPILBeNxE9dbKrlewCgzhZGbbi8GuRW5FanFI Yi6ajaWoArJoMNd+fbJy50w2eUTUaDPuJ/4U5sNcUYD1U8Jh+PY7QOUM5ByegAtZMXhoX2zwKmY o7I9zLBQ3SVTnjtCtDxhSXSfMh4qJ2UmK04oy+/5mJmCMoCydSMeRFz50PONyCiS0wsNf+y5XTc jRF1Px/sVCCY6BcYNyi1SoR9RzZ2E/H4aqYJAJIsBZrRq4ffoS1n/GRwrHtzBu4dCzUuGMlliQZ njWW48tD9uya/0O26mQuBr65wuAwuyhRNGJErSPQKHU4TRIagUv/D/B9FH8eFAh4BF/ALVV9Vz4 Nb7FSSIbbt649+lIMXkuAvUchhASeWBh2M0+sKUheiobvvVfGyQ0toPm3/2M4xyYMMtvPlBrhST jRD6V+pk8zJpi3hafMQ== 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1011 phishscore=0 spamscore=0 malwarescore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 The K1 X60 cores have 64-byte cache blocks, described by their cbom/cbop/cboz-block-size of 64, so they implement Zic64b. Declare it in each core's riscv,isa-extensions and in the deprecated riscv,isa string. Signed-off-by: Guodong Xu --- v6: No change. v5: No change. v4: No change. v3: New patch. --- arch/riscv/boot/dts/spacemit/k1.dtsi | 80 ++++++++++++++++++--------------= ---- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi b/arch/riscv/boot/dts/spa= cemit/k1.dtsi index 08a0f28d011f..f179c619f580 100644 --- a/arch/riscv/boot/dts/spacemit/k1.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1.dtsi @@ -54,12 +54,12 @@ cpu_0: cpu@0 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <0>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; @@ -84,12 +84,12 @@ cpu_1: cpu@1 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <1>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; @@ -114,12 +114,12 @@ cpu_2: cpu@2 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <2>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; @@ -144,12 +144,12 @@ cpu_3: cpu@3 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <3>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; @@ -174,12 +174,12 @@ cpu_4: cpu@4 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <4>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; @@ -204,12 +204,12 @@ cpu_5: cpu@5 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <5>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; @@ -234,12 +234,12 @@ cpu_6: cpu@6 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <6>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; @@ -264,12 +264,12 @@ cpu_7: cpu@7 { compatible =3D "spacemit,x60", "riscv"; device_type =3D "cpu"; reg =3D <7>; - riscv,isa =3D "rv64imafdcbv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zi= fencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_sv= inval_svnapot_svpbmt"; + riscv,isa =3D "rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_zicntr_zicond_z= icsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_= sstc_svinval_svnapot_svpbmt"; riscv,isa-base =3D "rv64i"; - riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zicbo= m", - "zicbop", "zicboz", "zicntr", "zicond", "zicsr", - "zifencei", "zihintpause", "zihpm", "zfh", "zba", - "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", + riscv,isa-extensions =3D "i", "m", "a", "f", "d", "c", "b", "v", "zic64= b", + "zicbom", "zicbop", "zicboz", "zicntr", "zicond", + "zicsr", "zifencei", "zihintpause", "zihpm", "zfh", + "zba", "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; riscv,cbom-block-size =3D <64>; riscv,cbop-block-size =3D <64>; --=20 2.43.0 From nobody Tue Sep 29 04:14:29 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 995CF46A602 for ; Wed, 12 Aug 2026 23:35: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=1786577755; cv=none; b=nVHbR4V4AHpnkvEck0LgbW5pfYqAnLDdJ6uII1M6z1FamfTQdVCsEypBEnaayekcvS5lt+jgiP0sttBfAAHMWvN5R9TTdANw7pF13s8zOXi6ztc+/WrHdR5urtpmkYOwpfAzyYXFdPIxJKUsxima+i1mXDpAZSphWIfGa2z7sXk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577755; c=relaxed/simple; bh=JFJH7C//XX+nXTj8WKFXkj5oheShheYfYJbVuEVStc4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pXLANVXmApr0RDNHW+PuVKst94BLCPnotqgxHW3VUbh7l9Vv1RMmptmCjKlWSdlnRp/bWQ7OmC3oLuO2nSogWuIt2EcdgIaD3e6OgipNudA8WACZ73RA8OYqDpYzlXozoGZcOdVrs6MHm9SIUEjVeuMjurrVpEigHk9xXtNMbXE= 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=OW2ozcwl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RWP7w9iX; 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="OW2ozcwl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RWP7w9iX" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNLhvp4008028 for ; Wed, 12 Aug 2026 23:35:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= HHhkTSzGg8fGZeR2nysWtybyTGBSA6cLC5v47/KVEQE=; b=OW2ozcwlKq2+QVOP Mn4NeszFGx3NVqgpUEBtFOV0yeEPmjfBNzlvOBwz9N5O+dgM9x67vspSda9BzzZc 0PzepfyaEQ4B9Yyut2Egn5tMriAH8cMR+2eUFhFoW5aL3qD/98vnYRPIgRvhA/gw lqbJ4klDB5m2mLQ+xiYw5MKosM3SBkAlZUsnY68F6kYYURoSPR0sgBlCsKtYc2Zp h0SG/UIrXgY2mXdfUBuhoIs2s12IoAHoEOOLnWcTgqub8asgxV3x0sdw9vRuylND WsCWuDj9puefl1TzpABPwOVuiZD4NlU4cHyd2Dq5CWEbDXwAox7F6H10LU4MgVSW p/wQeQ== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0xsk0vds-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:50 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cec4226c70so22120285ad.1 for ; Wed, 12 Aug 2026 16:35:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577749; x=1787182549; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=HHhkTSzGg8fGZeR2nysWtybyTGBSA6cLC5v47/KVEQE=; b=RWP7w9iXDNrRFf30Sop09odX7B+rLhbm/3Utaaf6ABk4N8Luu1kfKFEvyG1eLlwZrr jYLzrQOWZQDV6v5PJMJEgjF7SmtIxGwxkGmoUmlWz42lQjd20rR6rjqrUmtvtOGHsiSA XzxKfBQqoTaSmF05GgbPmbWZCPhLLUDMR7mlkiGQiDQD7ag5tGjXaRGELaeo15k62y7M dU4jHDYfjUYxJsad6Yq0LqCpC7zzG06xuRgVuVWGfUFpnff3CRlI4KLDsI5ctNjaL/Z0 QBR9KOR3YKodVU1DGNxGInir0e21Ti6wNQ+Sqii7ojCysVoXCFfpyZuIBVO1P53ei6WF cMtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577749; x=1787182549; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=HHhkTSzGg8fGZeR2nysWtybyTGBSA6cLC5v47/KVEQE=; b=Art4fexaTJ8Yx5D5b7DIBY3dPfqDPqZeB5L3zUKYOE7vCp9L4Ea6o3MgUqbc3yu8wy dyzIy22CyDmTYs1I9QA6QUIc3X9P3bAyXWMU+xygXKbwSxcFEVTpB9PrLY7+184PnlYE XkMhebqIwQ11SthFXfaA8zn3PX1hFcmspkLfxUyAMoWfBCwmNGTBpteLxh2bL7DeBhQZ mtF5TLRxBBI5vzTmwnCMW3A8ZJiNfIFpFDj8TgjaMuoNBvA7SOcSHW9wChQb3OJfxDzD j7ZGDxuUDrPXwcEMbp4zlUz39hMfMKy6P2iP8tA6zGbWPUmYPzGO3RU6D1PEROZ6or7x /rag== X-Forwarded-Encrypted: i=1; AHgh+RqZQTG4YuemiCHdHSF9xCq2o2BlVknGKa4eyMkMjNU4z5LmlwkQbnbKbJBFZhPRyHRkF6KJ9Li9szxnQrU=@vger.kernel.org X-Gm-Message-State: AOJu0Yyc5dgDe+YTpC6VNeEKK9VnbS7eHKUoh1cLEXrerIbsNIweFXOo X/kRN9ffAnvZ4GvSBraYHd46QFusTUvYVbZaXmJbSzfv3DyPKGzvwI7DC0GkJAJl3+xhY/xuKM9 NeJqf+7oYtQhNY8qAaR2Xu85qHOS6IsmfYEk+AWhLCRz2d2E64XcjzR+wUWDSuNBo8Gs= X-Gm-Gg: AR+sD1073W9Qld9Cbqi6rBYbGgbGjgWTnGTFONuVKsHoB6emieWa6SHmYFSrRjgxx9A 9J2J4ExeeLat9QZL4AcJgV3KImiqwgekJ14OywTYQBnkr8E9bIfPTqqEj1ujzOphA5VPGa00MFc LSxYPbvg85lTN2qYid2r/2ZAg5b0dwB19asFYFsF65+QHsgrmwVwLMOPjB6yh4LXKt1Lcr5NKEB y6taaJOqfe3Wa+BipfeHVQ2ZEaCHXvibz1BKHF3x7sS0XxaEK13bIkpD2izQEf29KahkRS+JMYC VjT9pEMw95KMENjNUW9NqwvBMTwIGf15FzgPeR6y/NFn6kSx4VNbk3DmUkaq2A== X-Received: by 2002:a17:902:d584:b0:2cc:9179:335 with SMTP id d9443c01a7336-2d37d88c170mr18814655ad.8.1786577749168; Wed, 12 Aug 2026 16:35:49 -0700 (PDT) X-Received: by 2002:a17:902:d584:b0:2cc:9179:335 with SMTP id d9443c01a7336-2d37d88c170mr18813985ad.8.1786577748593; Wed, 12 Aug 2026 16:35:48 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:48 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:53 -0400 Subject: [PATCH v6 07/11] riscv: dts: sophgo: sg2044: Add Zic64b ISA extension Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-7-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=28782; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=JFJH7C//XX+nXTj8WKFXkj5oheShheYfYJbVuEVStc4=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZlGP5gTjxNOfHzSk+P5WzXm9QepN1SWFGF7DhX8WT 6tfd3x3RykLgxgXg6yYIsvhoy3ZW1/5RPs+5/wBM4eVCWQIAxenAEyk/TnD/4JQGa+lj81MZCpC Jn+4E9jdeKfgmpuxygTRFbWbdERMrjEydK5N2dYmcNHFo1vz7ML4bR17J/92ve2y+FznlwUT3s1 N5AMA X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-GUID: FJLVbj9nssgO_Oy2DDVPxLoYLEfFQDin X-Authority-Analysis: v=2.4 cv=M7J97Sws c=1 sm=1 tr=0 ts=6a7d0356 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=WzeAf3B23z0EryTBMFwA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX6DjehPmVqvSK vAt2WAkDQA5FHrhNxKytx+JIBVRphaZBeR+GfziX84twhEyXbsV+kUB4U1v/+gpA8Qty36kOf7D MgWS5rCiKR2VT9FaYVx0Rv0sjvMmg2A= X-Proofpoint-ORIG-GUID: FJLVbj9nssgO_Oy2DDVPxLoYLEfFQDin X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX29J/N4xVwBkq nF3Y45S7+D49Lf3JE9jet78GSnh3wS9IU3ragCv5uadRerffNOtqdtXz/nlgizhumxWrtqCDQLB qrdJcot/z1cvXkXWpr4rfSyGyQyYvq75SXbpNS87VSjWv3Jq2LXe66aR8hIyurgXgGp67hBceuE tHPTpLGTsvthDBSSawUerrx5j1hOa5LQdFLEhY3mg0tuzfu85Ipt82vIg8NCHuEqXq99WdAmiY4 +9Qc2xbkb2/1GlDYicmmRNo6eTfCJotr2DU727E1Ss7Fe+/Fy3LjJQbFJcd4alPFlqjm+vAG/eA X4QCJDAlbOiHrCQ90m3r75VV5BUyaoSZiig8YB2oHe66X9fx1gSsoIK81uGwAy0Mh09Pj8j52sB AlOLAjqm74Rh4mABNL/JnAjNuPP2JBmmoWLWqeVioJhIqHvntyHip1zJUcNDK3bXI2iRQCaadNR s6xGy74FptPYmBo4AvA== 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 clxscore=1015 spamscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 suspectscore=0 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 The SG2044 cores have 64-byte cache blocks, described by their cbom/cbop/cboz-block-size of 64, so they implement Zic64b. Declare it in each core's riscv,isa-extensions. Acked-by: Inochi Amaoto Signed-off-by: Guodong Xu --- v6: No change. v5: No change. v4: Add Inochi Amaoto's Acked-by. v3: New patch. --- arch/riscv/boot/dts/sophgo/sg2044-cpus.dtsi | 128 ++++++++++++++----------= ---- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/arch/riscv/boot/dts/sophgo/sg2044-cpus.dtsi b/arch/riscv/boot/= dts/sophgo/sg2044-cpus.dtsi index f66a382c95bd..5943407020e3 100644 --- a/arch/riscv/boot/dts/sophgo/sg2044-cpus.dtsi +++ b/arch/riscv/boot/dts/sophgo/sg2044-cpus.dtsi @@ -31,7 +31,7 @@ cpu0: cpu@0 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -67,7 +67,7 @@ cpu1: cpu@1 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -103,7 +103,7 @@ cpu2: cpu@2 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -139,7 +139,7 @@ cpu3: cpu@3 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -175,7 +175,7 @@ cpu4: cpu@4 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -211,7 +211,7 @@ cpu5: cpu@5 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -247,7 +247,7 @@ cpu6: cpu@6 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -283,7 +283,7 @@ cpu7: cpu@7 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -319,7 +319,7 @@ cpu8: cpu@8 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -355,7 +355,7 @@ cpu9: cpu@9 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -391,7 +391,7 @@ cpu10: cpu@a { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -427,7 +427,7 @@ cpu11: cpu@b { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -463,7 +463,7 @@ cpu12: cpu@c { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -499,7 +499,7 @@ cpu13: cpu@d { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -535,7 +535,7 @@ cpu14: cpu@e { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -571,7 +571,7 @@ cpu15: cpu@f { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -607,7 +607,7 @@ cpu16: cpu@10 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -643,7 +643,7 @@ cpu17: cpu@11 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -679,7 +679,7 @@ cpu18: cpu@12 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -715,7 +715,7 @@ cpu19: cpu@13 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -751,7 +751,7 @@ cpu20: cpu@14 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -787,7 +787,7 @@ cpu21: cpu@15 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -823,7 +823,7 @@ cpu22: cpu@16 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -859,7 +859,7 @@ cpu23: cpu@17 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -895,7 +895,7 @@ cpu24: cpu@18 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -931,7 +931,7 @@ cpu25: cpu@19 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -967,7 +967,7 @@ cpu26: cpu@1a { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1003,7 +1003,7 @@ cpu27: cpu@1b { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1039,7 +1039,7 @@ cpu28: cpu@1c { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1075,7 +1075,7 @@ cpu29: cpu@1d { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1111,7 +1111,7 @@ cpu30: cpu@1e { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1147,7 +1147,7 @@ cpu31: cpu@1f { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1183,7 +1183,7 @@ cpu32: cpu@20 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1219,7 +1219,7 @@ cpu33: cpu@21 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1255,7 +1255,7 @@ cpu34: cpu@22 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1291,7 +1291,7 @@ cpu35: cpu@23 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1327,7 +1327,7 @@ cpu36: cpu@24 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1363,7 +1363,7 @@ cpu37: cpu@25 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1399,7 +1399,7 @@ cpu38: cpu@26 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1435,7 +1435,7 @@ cpu39: cpu@27 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1471,7 +1471,7 @@ cpu40: cpu@28 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1507,7 +1507,7 @@ cpu41: cpu@29 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1543,7 +1543,7 @@ cpu42: cpu@2a { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1579,7 +1579,7 @@ cpu43: cpu@2b { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1615,7 +1615,7 @@ cpu44: cpu@2c { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1651,7 +1651,7 @@ cpu45: cpu@2d { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1687,7 +1687,7 @@ cpu46: cpu@2e { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1723,7 +1723,7 @@ cpu47: cpu@2f { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1759,7 +1759,7 @@ cpu48: cpu@30 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1795,7 +1795,7 @@ cpu49: cpu@31 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1831,7 +1831,7 @@ cpu50: cpu@32 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1867,7 +1867,7 @@ cpu51: cpu@33 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1903,7 +1903,7 @@ cpu52: cpu@34 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1939,7 +1939,7 @@ cpu53: cpu@35 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -1975,7 +1975,7 @@ cpu54: cpu@36 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2011,7 +2011,7 @@ cpu55: cpu@37 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2047,7 +2047,7 @@ cpu56: cpu@38 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2083,7 +2083,7 @@ cpu57: cpu@39 { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2119,7 +2119,7 @@ cpu58: cpu@3a { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2155,7 +2155,7 @@ cpu59: cpu@3b { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2191,7 +2191,7 @@ cpu60: cpu@3c { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2227,7 +2227,7 @@ cpu61: cpu@3d { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2263,7 +2263,7 @@ cpu62: cpu@3e { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", @@ -2299,7 +2299,7 @@ cpu63: cpu@3f { "svinval", "svnapot", "svpbmt", "zawrs", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", - "zfa", "zfbfmin", "zfh", "zfhmin", + "zfa", "zfbfmin", "zfh", "zfhmin", "zic64b", "zicbom", "zicbop", "zicboz", "ziccrse", "zicntr", "zicond","zicsr", "zifencei", "zihintntl", "zihintpause", "zihpm", --=20 2.43.0 From nobody Tue Sep 29 04:14:29 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 7BCCB480335 for ; Wed, 12 Aug 2026 23:35:58 +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=1786577760; cv=none; b=POx6CBeLZunL9s6xy9flfNi7yQ7VDtRTk6J/54ACiu42VsAfl9a0FvOMFZgiTTl2joGIsXgzJnTAm3TxQIuDYa18gUYdloXFs+ocPl1nrYsCdI87uS9I+dsQuOCkZ8yO42VdDyJwQRJ8JzgwwfU5ZhHnV147WfkR65sXWe9FGUE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577760; c=relaxed/simple; bh=SgF0/fuQIfTNrS1fvPiZitsdgKYk3yzataCrp5aiRzo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MFMyj4XO6Zo5Rsj8k2ubsRF2mjHpBMErOm9dJYnkvX00EmpuuZkXZjiduc9oMFqnIS3r/gwSKrY0ui90TlZkBYdewnvVThqy5iOgRUNosCprq4qoeDFAfe4QYJuswQHXxEJiHrUnMMqdlwC+7oiLi+d6Q9YnvAjbFLcnqjxewB4= 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=eSISGCsT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Z/mwI/2v; 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="eSISGCsT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Z/mwI/2v" 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 67CNMQUd1024377 for ; Wed, 12 Aug 2026 23:35:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= tqlPsdCOPbAGtcRg2u231JHmVHO6OIQXwPGrXSBWdqE=; b=eSISGCsTZhuESIeM OiUriQPxzY2s2V0MY9WDyLkqzsmVpZnNG10keHVUCjDiFYRrlVgif6nrx962OF0F LXar5f2fXWLH0r14Hbz8U/TmpVVEfG7HHhMGub4qz7LmqnrJQeHirLinATHOMhtQ ejVwUfP6txuX6htC+lNT5Xwx9oBW4YMhNVj1L01TSq7SkfXP+RBzmUYJjaZ8ic/1 XrQPQ1J7TEVEWY7bbLz8jPe47CvAbBg/HLf9pvbhlRM/0tV+oZJH3Rqcr+d13K/I VrmiGC2Sd/aEGj1wsMao5nQrZGal/Ym+A4f/CcnDjoddrS1enzqecAoLHaarE8j2 7WcqZg== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0y04gthe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:35:57 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2cccfa32670so2137595ad.2 for ; Wed, 12 Aug 2026 16:35:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577756; x=1787182556; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=tqlPsdCOPbAGtcRg2u231JHmVHO6OIQXwPGrXSBWdqE=; b=Z/mwI/2v9AoKfJeLp0pTGOoi7fgvOjf8XHCOdrpUx312T2qsHz3KmWgrDdi0rFGot8 LvUj2Qi9iBKy/wAuhMvyGEoE+/qq/0rbLb3E1jJjm4BKxHgw5YTedkf6PPqNx2fcfr4V ENSP6DlG9sObriyNw9jKk2A3GQBkjNnZhUpdWURyoORjnTGYaOABcfIg4Z6IecvFD/u5 tIJAnHqoFJenVVyj4ZF6bNKt5j8uVfjTTMrCxVJDSp6Wx+MKykTkMGV/dKt13MzjXUZG whF8voXgg3zU9wcEJBnqy2RbgL17Ia03H7c/TYPNz52GXRjG3ABUeUYDjYLNQB20VAkh fnkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577756; x=1787182556; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=tqlPsdCOPbAGtcRg2u231JHmVHO6OIQXwPGrXSBWdqE=; b=AVEGTvCLTPSeG76CsXJO0PZKS4Egzuxv8pOXBhOppjMgrJbR7TCFWPGzauFSQOmyfZ LNk0aNu/+VbLu9oWHwH7ACqOAghj9fnnO2eGYfQlmJ2uzLifIUJucr5TivM+IrYyNnYx x3hKupjSQvlYsJSwXnRMRfdUOTX+7QVbqvOKsEtWSI4CfL5FTevp4q/wrWmajgCPmv2s MsCCYZKF+/kK0rog7NPBxf+1EZubGE1Mihsxhi/bPJqYNYao7E9q5mpupOp08PCey1Ew PonML5r7hmwku0pjHq/ymKv0DHEVB2UHswP/mI2VL+jUhJUcTeLk/wpylJ7isIG3JHx5 qVjQ== X-Forwarded-Encrypted: i=1; AHgh+RonefTADbSOoXE/qcZe5siPFgFkFkGnh9jiviLB9uCeqG+RvoaaItpThS4LjAVBfmrqSk8tG4IVWq3t3D8=@vger.kernel.org X-Gm-Message-State: AOJu0YxiJmwsPEUhAS0t2a9cEIukuv9UhB0GgKeLuVMH0gFwdGfnLqI5 CPKvrAHZh8J3tYn55Sl5K4WPz+q+ezdzCt8uLjFvcy8emznyWqdYiEL5kpRkJjtoSvN+Pf9vE2G Xa8yVmWfvepfL43ZUfkYD/Pg7KgxNDlcAGiWnvqe7uhMUA/XoH8aH+7UB8ZFTTwZg9Ek= X-Gm-Gg: AR+sD12mFomD7JYW4DBT6a90mjYoBWX74EfUJLphTSo88EP3nG18trKAA6lSLlNE7WW 5fBnqwMryNMN+h61UUKnwLZkfrhukzy6FjqDiV/6890xqlaeCC1MoVoz7NumsBrEc1F3xlI2syL dYqDrIrPYoP5X7ODT78mo3mwKpuKnOOdxSsGpOGC0vJvSUOi6Vw49REdu7q7kwB95H/lYgMGpIq MPOOCn0yy1z8qfEBFr3AriA0wddgEvANxDpCQre7/Z2sWnUsjjBpwuA6bExw20G6jNjw3xJi6dq zHuxozRN35OCJPErvLKo7YkSMz+CzDbOvsdZ1COnoc+8WTW1clyEpyPWXKlZrQ== X-Received: by 2002:a17:902:db11:b0:2c9:cf62:6f61 with SMTP id d9443c01a7336-2d37e86ae4emr13015265ad.17.1786577756329; Wed, 12 Aug 2026 16:35:56 -0700 (PDT) X-Received: by 2002:a17:902:db11:b0:2c9:cf62:6f61 with SMTP id d9443c01a7336-2d37e86ae4emr13014995ad.17.1786577755873; Wed, 12 Aug 2026 16:35:55 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:35:55 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:54 -0400 Subject: [PATCH v6 08/11] riscv: Add a getter for user PMLEN support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-8-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu , Andrew Jones X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1962; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=WJTJFyxuRvfcgUEXUDYQIHOAlpEPJJlnDq2dMpcawTc=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZrGrivyN7P8q399daxNvduthVmLbWt0/4Sw9Bu5VF t/OJNp3lLIwiHExyIopshw+2pK99ZVPtO9zzh8wc1iZQIYwcHEKwETsLBgZDjm52U9sdMzzlXC4 MCvRTEc/cW/XtDk/PmlXtLD5Rv1cxvA/671i0Jp7ziqvXv3eG6pQwhB5eo5C7OGUh7urA5xnKcU zAgA= X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfXzMAVP7hxAWNE r+39yjlStVBSfwo0SBghD0Hiq1bSqxNOPZBUjGQ1hBVeJjR0h6py2GxnnfupykzDFIDmsH9gwEE 0uU5BnxzxckdUASrfevmjdn9ujZWvFObvhJJyQgwoxhmFR/et/it9a8HxVQe/hRl/o+m9AgE7Qj kBrtnqUhXrKJgEHA3fIlwihu5FrryTmiIi1enG0q+0l05G2PFosXPOGjewo4RRsnMmk6OFEJin+ B/pqjRDZO8yYgQ5WO2KFTSjruJovpfgQsEUM1kvUDnVVBjHEXubIqp9V2PIjPlTbRab1SrnCc1c SW3SsNfuqLu99iSMbuQSPHL9v1ePczJpjWeoQ9OM6yMVMQUjoDOXwC6S9GyiDjy+ztpxZwtrfFv Sn8vs2LAeTWd4A6oZG0OHtm3/dGx9uPWbBUH2RbXvAbwsmQ0iZ/9T/tDx/3EIH16WcCUbmcy0xQ r0NBYyuEemo2F0Az5cw== X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX9CMmi0oGVXcw B1ZRX6SrdbzhRN9wmDZbi7DyDH8DTsHyUk8+VleDf3A2zcnVg/TR/q/oipRup2bqyUcyV+ZwYXu AWjI/kiFFwukCckyLymW3veEWElwbuE= X-Proofpoint-ORIG-GUID: mS9_ZySMqhRmn0adgI9OQQfNQ5DYDDEG X-Authority-Analysis: v=2.4 cv=X5Vi7mTe c=1 sm=1 tr=0 ts=6a7d035d cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=A_72rIs-Kagud5g8OzcA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: mS9_ZySMqhRmn0adgI9OQQfNQ5DYDDEG 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 impostorscore=0 bulkscore=0 adultscore=0 priorityscore=1501 suspectscore=0 malwarescore=0 phishscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 From: Andrew Jones Querying whether a given user PMLEN is supported is needed for RVA23U64 base detection from outside arch/riscv/kernel/process.c. Add riscv_have_user_pmlen() to expose this. Link: https://lore.kernel.org/linux-riscv/rfuwa7a3ebe76udmnwyrssjy7shkkgxnt= vhwzn6oquysj4tuyp@xzvpylcfhz53/ Signed-off-by: Andrew Jones [Guodong: replace exported booleans with getter per Andrew's suggestion] Signed-off-by: Guodong Xu --- v6: No change. v5: No change. v4: No change. v3: No change. v2: Add a getter for user PMLEN. --- arch/riscv/include/asm/processor.h | 4 ++++ arch/riscv/kernel/process.c | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/arch/riscv/include/asm/processor.h b/arch/riscv/include/asm/pr= ocessor.h index 49a386d74cd3..da9089695ed6 100644 --- a/arch/riscv/include/asm/processor.h +++ b/arch/riscv/include/asm/processor.h @@ -217,6 +217,10 @@ long set_tagged_addr_ctrl(struct task_struct *task, un= signed long arg); long get_tagged_addr_ctrl(struct task_struct *task); #define SET_TAGGED_ADDR_CTRL(arg) set_tagged_addr_ctrl(current, arg) #define GET_TAGGED_ADDR_CTRL() get_tagged_addr_ctrl(current) + +bool riscv_have_user_pmlen(u8 len); +#else +static inline bool riscv_have_user_pmlen(u8 len) { return false; } #endif =20 #endif /* __ASSEMBLER__ */ diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c index b2df7f72241a..5d9cb108a623 100644 --- a/arch/riscv/kernel/process.c +++ b/arch/riscv/kernel/process.c @@ -302,6 +302,18 @@ enum { static bool have_user_pmlen_7; static bool have_user_pmlen_16; =20 +bool riscv_have_user_pmlen(u8 len) +{ + switch (len) { + case PMLEN_7: + return have_user_pmlen_7; + case PMLEN_16: + return have_user_pmlen_16; + default: + return false; + } +} + /* * Control the relaxed ABI allowing tagged user addresses into the kernel. */ --=20 2.43.0 From nobody Tue Sep 29 04:14:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 365B746A602 for ; Wed, 12 Aug 2026 23:36:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577767; cv=none; b=j2+bs+6qNyUq3rSPH1NxPVhGF80AltoSEFMZMzz8RrlYJKP9Yhqw6diUUoM8QlhhORNDFcm7Egj2DxDBH2RzUZCmMLAcZ0fOQp8Vx5c23L/Jj9tFhpt9mw7371Li8T7IPWQ8lS4IOoaZ9bwacGUkVR2RJTh422zySBgJTJ6aurc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577767; c=relaxed/simple; bh=KazAJLBF2Gbug16VdlaXr1HCrJN3XQt+AbBE5/+Y6+s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VZDBAWlMRePLvPJpAmouch8jWoKprQDMveaUzz/ErSRFEYixfODdDlfL0pR6gH+1tlWWpXHPxeMPXc+zvixbou4OKuSvhVyY/k/+umHAAy1bVw1MYI/p8berlZnZefJdcJRWcyL7R1hP9A35OcPc+2MaPcZ+79Zd+MbqJdmH84w= 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=pLC6pp7D; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IeD8h2Mz; arc=none smtp.client-ip=205.220.168.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="pLC6pp7D"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IeD8h2Mz" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNLSaB266011 for ; Wed, 12 Aug 2026 23:36:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= f5WS5iWYARi9kG6oTuil8+y9EaeqVQDieXdNH9/m1ls=; b=pLC6pp7DDl8pgHtf vhC9+K9TjAA3uyAaqBIQZDJyLoQOytPx1TZQcGNXxPRLXcQySoJutTySs6k/NlcS 5NQrLNHDIOsfnIuL9lWmhUzpYDojLf3PWuGElw3tA3OJhzD4QohIUqVVJS2Sfook hkXL+7oXEK/fH1qXvo2LwYbzAGDbXZdZ3owleJOwoc2G0k9RInjfTT20lPEDpnZA ujgRGYAU2zQKU11Sq5dk9uB2H4jmuwHIbpI+IgwCaAgWlwSNDrtiuXKJBS8OsBBf KGfNl7NGwa9sKdssX3mnb8Rd/zpoLbZru/9JZOxuItRN4jIjJnpREm7FM+oIc2pv tnZBcQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0mndbvty-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:36:05 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cc86a9ef97so30367475ad.3 for ; Wed, 12 Aug 2026 16:36:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577764; x=1787182564; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=f5WS5iWYARi9kG6oTuil8+y9EaeqVQDieXdNH9/m1ls=; b=IeD8h2MzMly3gDZiB0/0CWaYW4dw4s28LdiI818mwv+y8bQQd7KmzhQs4wg1nHK2tk B8lHtUO2LvA0CQm0cDen4Va6iU6KwxiQ6hKh2hRNtoWGq1c/Jfapeo7zcC9zcd2ty3+D f4/fddhxYN3trGBKbJKbtdbDM3fF1Qy6blnCgjs3X695ZQJHjxS5Rk39H17tP6HWKvQa jWpAFKRsg4/HF3fvKCbJs47TkXxt00a6kyw8y1MDp4qx13SNa9DjaJ4ggX7osnhFJgr4 pJ9Ojb5zUREkm+WZ9Ns/e60NBRbNVh0Aww1idrvV9Y27Nuwm1Dg6XokrrdkHIYH9/bPl q2rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577764; x=1787182564; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=f5WS5iWYARi9kG6oTuil8+y9EaeqVQDieXdNH9/m1ls=; b=nkaxTsOAc6IOd1R5RPVLqF/qwD0dLFhBwPtaApuX+oiLeWFvmor6jf+CNe22LKY7Y9 iIsWdSKf4tGMONlG41r5X51CWiN9C3LD7QnGhfpaeG8Cl9ob8YASh7WLK9Dr+pYDvpml i7GUxS+15qqoMYqxURE7uRLzH1S2u1oZzAAay9+CxD7vRFIe72OPn2PaTTn5+igXNa2M 7Z5ZM7z86fo8RT0cZffK5IajUy/bQkzcmTfTs23BDmeBgInN0QVQZdB7xd8S8gcXaB2E At1/ufoDTQ2LB7hCTx29xMzKw6E3QBIDK2FovPMAV7Lx5aEi2cgvhqULJfF3d7zrt3bY K49Q== X-Forwarded-Encrypted: i=1; AHgh+RqaQ5bTNckyMTjEQEwG6eWdwnCZoyG08KWvsjQI4WRaFTaQq6tzsDDeqcngqWRZiGh+c9dxowgbCDAYp7w=@vger.kernel.org X-Gm-Message-State: AOJu0YyPFg6uGXnhwgWhEj6ZqE/OCbyG9GMQKLIJw/xqOf6UJwtbxVty /3HRmYJ/BAphlYuStXoW0F/zuE4i5u5o/FuUumSb2lLOUwMHhqc4+pRI+8tPFdlvBf/8tLU9VXG D0m3ZXiIWFRToVmC4rbrZU5h9zDctN8zYDrGmQLJLtuv8O0hQtIylVivavTs6JGP3+/Q= X-Gm-Gg: AR+sD11fOgylRzcqCi7iwNj7gWfrBpPd/BxMkFsvkKDWEFc6BoFrF2KeFoqjT78TSe8 7InA02acuwCidXaaKtRKRp3EszN3c9R+VnUgNaqDZl/vV/J/Lf6ZbAtwiEvgHMcS/fhLrUJGmnw zkOKQZFDTkAVgjrn4f8c5uG/mODwZKFzJ8Q+lag+6Nzospwo74kD7NHsLxWNm4I63Nil3gz8pHB jo+X8+GP5RT5+gB08zV2R3zrkAs0P3TvoEaCjyWXL4KHKeuc3aMwLkLltuI8TxnzOMukP/iAcun XGoPRgqJkmoJjPUFt4jZNYGRRa30XykgevQAJXbMaS1e1diGXNdqrqeOY5VpUw== X-Received: by 2002:a17:903:15c8:b0:2cc:f5aa:9513 with SMTP id d9443c01a7336-2d37d88860emr17678385ad.10.1786577764536; Wed, 12 Aug 2026 16:36:04 -0700 (PDT) X-Received: by 2002:a17:903:15c8:b0:2cc:f5aa:9513 with SMTP id d9443c01a7336-2d37d88860emr17677735ad.10.1786577764062; Wed, 12 Aug 2026 16:36:04 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.35.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:36:03 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:55 -0400 Subject: [PATCH v6 09/11] riscv: cpufeature: Introduce ISA bases bitmap and rva23u64 detection Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-9-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu , Andrew Jones X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=6035; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=KazAJLBF2Gbug16VdlaXr1HCrJN3XQt+AbBE5/+Y6+s=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZrHwd6fORpzSSYqqiuvR5k7NFL0uUnxISi/Ax4/b6 tpqEfeOUhYGMS4GWTFFlsNHW7K3vvKJ9n3O+QNmDisTyBAGLk4BmIhmNyNDs3+8rs6B02zGies8 ZoR5zp2Y6K8tnpYoc/JZkptu8YwnjAzTpQXyzcPOWUyvmtD4ZKZe0bL9z67UaWWVNj9ZGz1XWYo JAA== X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX6UWcqg1NArLh CsIN0OC0sBt9UmBmrIH6A2Pw0VUktSqSphQjt7uE3HPtz9MYxdmwdejsLNdskqeP6kv78vddQ3w dHhb0dIRgDsahKp+cO1jKhrsPz9ScWU= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX/0ChAjF8N/PX /jYHTUJWpG4UX8ofsvoZFz4zRhVVFNUfWYvlRUMvurhBpWIziEQsuQq7TZvftOqiHg3lrwpHC9w 9Bw1Y3d+rub+L9xsn+5t4WFe1MoGBzzsDHz9e7qimXLcblOCEtxUzygFiRq/TBHh0DTvDI2UYAz MbJ8rPUXBfH2fXn+RZV0hY0AWdPhBqxdSW5XqrvIaZVrrHyONM392yY6cb1Dm1ZI4B6VHb1FvYI y6E1rWywhMayLQ7BD70mLT3QGlLFZ/MTY2sL0IMOW5VI3yF6Ho4SV9Fqgti0BSsUBLoWo/Xl4OS x90q/hab8UN++1NWw6LeZYNsQgfws/jPa3CDsIhf45C1b0RnyCtY8nsta7os3aoEk9OEPyKTEZb xcBmWravaEKNbWEhutxXMNEW5EbvlzpNy0wMjstT7yqxRS8T3mg0lgJ7MjUd1Qmgy4hqAw+flBw vJyKUwtwMi9lF+116zg== X-Proofpoint-GUID: ga6Bl47350oEcS99JyZgryOcsBy4co4Z X-Authority-Analysis: v=2.4 cv=C87ZDwP+ c=1 sm=1 tr=0 ts=6a7d0365 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=Eb22hEiy--YgZ995lnMA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: ga6Bl47350oEcS99JyZgryOcsBy4co4Z 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 Introduce a per-hart and host-wide bitmap of conformant ISA "bases" (named profile-class sets such as IMA and RVA23U64), computed at init time by riscv_init_isa_bases(). Register riscv_init_isa_bases() as a subsys_initcall so it executes after core_initcall(tagged_addr_init), which probes senvcfg.PMM and populates have_user_pmlen_*. Without that ordering, riscv_have_user_pmlen(7) would still return its default false and the RVA23U64 detection path would always bail. Consider this as the cache that subsequent consumers (hwprobe's RVA23U64 base behavior bit, /proc/cpuinfo's "isa bases" lines, etc.) can read without recomputing. System-wide consistency are ensured. Signed-off-by: Andrew Jones Signed-off-by: Guodong Xu --- v6: No change. v5: No change. v4: - In riscv_set_isa_base(), reorder those __setbit(RISCV_ISA_EXT_X,m) lines to make them conform to the order they appear in the RVA23 1.0 Profile. v3: - Add a blank line before the subsys_initcall() registration (Andrew). - Set the local ext_mask with __set_bit() and test the mandate set with !bitmap_subset() (Sashiko). - Require the Zic64b ISA extension in the RVA23U64 mask, instead of open-coded cache block-size check. (New, thoughts from Andrew) v2: - Implement riscv_init_isa_bases() that runs at system init time, after tagged_addr_init() populates have_user_pmlen_*. - Split RVA23S64 placeholder into a future patch. --- arch/riscv/include/asm/cpufeature.h | 14 ++++++ arch/riscv/kernel/cpufeature.c | 90 +++++++++++++++++++++++++++++++++= ++++ 2 files changed, 104 insertions(+) diff --git a/arch/riscv/include/asm/cpufeature.h b/arch/riscv/include/asm/c= pufeature.h index 739fcc84bf7b..facc31b2960c 100644 --- a/arch/riscv/include/asm/cpufeature.h +++ b/arch/riscv/include/asm/cpufeature.h @@ -25,10 +25,24 @@ struct riscv_cpuinfo { unsigned long mimpid; }; =20 +enum { + RISCV_ISA_BASE_IMA, + RISCV_ISA_BASE_RVA23U64, + RISCV_NR_ISA_BASES, +}; + +/** + * struct riscv_isainfo - per-hart ISA state + * @isa: bitmap of ISA extensions this hart implements + * @isa_bases: bitmap of profile bases this hart conforms to + */ struct riscv_isainfo { DECLARE_BITMAP(isa, RISCV_ISA_EXT_MAX); + DECLARE_BITMAP(isa_bases, RISCV_NR_ISA_BASES); }; =20 +extern unsigned long riscv_isa_bases[BITS_TO_LONGS(RISCV_NR_ISA_BASES)]; + DECLARE_PER_CPU(struct riscv_cpuinfo, riscv_cpuinfo); =20 extern const struct seq_operations cpuinfo_op; diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index de7cff5f48c3..2ad8a16a0eff 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -41,6 +41,9 @@ unsigned long elf_hwcap __read_mostly; /* Host ISA bitmap */ static DECLARE_BITMAP(riscv_isa, RISCV_ISA_EXT_MAX) __read_mostly; =20 +/* Host ISA bases bitmap */ +DECLARE_BITMAP(riscv_isa_bases, RISCV_NR_ISA_BASES) __read_mostly; + /* Per-cpu ISA extensions. */ struct riscv_isainfo hart_isa[NR_CPUS]; =20 @@ -1334,3 +1337,90 @@ void __init_or_module riscv_cpufeature_patch_func(st= ruct alt_entry *begin, } } #endif + +/* + * Compute the set of profile bases (IMA, RVA23U64, ...) a hart + * conforms to, given its resolved ISA bitmap. + * + * If @isa_bitmap is NULL, the host ISA bitmap (the AND across all harts) = is + * used. + */ +static void riscv_set_isa_bases(unsigned long *bases, const unsigned long = *isa_bitmap) +{ + const unsigned long *isa =3D isa_bitmap ? isa_bitmap : riscv_isa; + DECLARE_BITMAP(ext_mask, RISCV_ISA_EXT_MAX) =3D { 0 }; + + /* IMA */ + __set_bit(RISCV_ISA_EXT_I, ext_mask); + __set_bit(RISCV_ISA_EXT_M, ext_mask); + __set_bit(RISCV_ISA_EXT_A, ext_mask); + + if (!bitmap_subset(ext_mask, isa, RISCV_ISA_EXT_MAX)) + return; + + set_bit(RISCV_ISA_BASE_IMA, bases); + + /* RVA23U64 */ + + /* Supm with PMLEN=3D7 */ + if (!riscv_have_user_pmlen(7)) + return; + + __set_bit(RISCV_ISA_EXT_F, ext_mask); + __set_bit(RISCV_ISA_EXT_D, ext_mask); + __set_bit(RISCV_ISA_EXT_C, ext_mask); + __set_bit(RISCV_ISA_EXT_B, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICSR, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICNTR, ext_mask); + __set_bit(RISCV_ISA_EXT_ZIHPM, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICCIF, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICCRSE, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICCAMOA, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICCLSM, ext_mask); + __set_bit(RISCV_ISA_EXT_ZA64RS, ext_mask); + __set_bit(RISCV_ISA_EXT_ZIHINTPAUSE, ext_mask); + __set_bit(RISCV_ISA_EXT_ZIC64B, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICBOM, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICBOP, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICBOZ, ext_mask); + __set_bit(RISCV_ISA_EXT_ZFHMIN, ext_mask); + __set_bit(RISCV_ISA_EXT_ZKT, ext_mask); + __set_bit(RISCV_ISA_EXT_V, ext_mask); + __set_bit(RISCV_ISA_EXT_ZVFHMIN, ext_mask); + __set_bit(RISCV_ISA_EXT_ZVBB, ext_mask); + __set_bit(RISCV_ISA_EXT_ZVKT, ext_mask); + __set_bit(RISCV_ISA_EXT_ZIHINTNTL, ext_mask); + __set_bit(RISCV_ISA_EXT_ZICOND, ext_mask); + __set_bit(RISCV_ISA_EXT_ZIMOP, ext_mask); + __set_bit(RISCV_ISA_EXT_ZCMOP, ext_mask); + __set_bit(RISCV_ISA_EXT_ZCB, ext_mask); + __set_bit(RISCV_ISA_EXT_ZFA, ext_mask); + __set_bit(RISCV_ISA_EXT_ZAWRS, ext_mask); + __set_bit(RISCV_ISA_EXT_SUPM, ext_mask); + + if (!bitmap_subset(ext_mask, isa, RISCV_ISA_EXT_MAX)) + return; + + set_bit(RISCV_ISA_BASE_RVA23U64, bases); +} + +/* + * Populate the host ISA bases bitmap (riscv_isa_bases) and each + * hart's per-cpu isa_bases. + */ +static int __init riscv_init_isa_bases(void) +{ + int cpu; + + for_each_possible_cpu(cpu) + riscv_set_isa_bases(hart_isa[cpu].isa_bases, hart_isa[cpu].isa); + + riscv_set_isa_bases(riscv_isa_bases, NULL); + return 0; +} + +/* + * Registered as subsys_initcall so it runs after + * core_initcall(tagged_addr_init) populates have_user_pmlen_*. + */ +subsys_initcall(riscv_init_isa_bases); --=20 2.43.0 From nobody Tue Sep 29 04:14:29 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 8C200481FCC for ; Wed, 12 Aug 2026 23:36:14 +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=1786577777; cv=none; b=MO3U+cRnyrIpfTW4dq6GvVcPc7TS5BXn2Ic8d22/tznv7PvR7zw4yu42T3CbK7iLmfn+fXpuczUMsmw7yeQu+dtTSBAznLZL28XjPPmUQaUhzTujvs9kZV+YPyWFQpsyqBXQGuRJE1irU9tk7XE3bNgAUPkG1cM6eGDdq7QDXFA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577777; c=relaxed/simple; bh=DiWwiEx9V6F5N4m+1J76YOkAHoc6sfST7Sl1jsmaxE0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JmGpeGPNKRXP0iRCWU0xm26DnO82PO+HjdlYvn/ytLutZWtVCg8ElW3Lv7X5SqlIDE/fYjxpfl8GYwm38QY7uDqHR34U/gYr+kxdhlNN0o3d20WHnohJoTa1zsKwF5VcUASWPh1p5sP/bob2neX4z4k0BkxPa7yg011czUV9Ahs= 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=HcEYqNs4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AZj7DSco; 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="HcEYqNs4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AZj7DSco" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNLnGN4008354 for ; Wed, 12 Aug 2026 23:36:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AhUu0uSzo3AfsrNzm/Bks16Jnk8npDCjKZIoNK46y9A=; b=HcEYqNs4ECci+xC1 Gik3L6KmLJ7Qx5QtsCNKawHOJhDsK1/P1WSCu+5KxvKJ5ckLHHTm1TcKejGNXcFk z60tjy9QCZn9e2yP8sKEe21/F7DDMQjJ3UrRNKjOhugw1gACTu0wbN3XQFPbLCKD 2IlIoO+FBnhlWBYNO/YZ0yR13W1QXcdjye8+a7zI3jhgL+S022vpbPMZmQ0tbdrH qqyiEZ4zdDoXjurmV8yx9poIQhZxPWk40gCTcx/+kf9rwpJSn4dk9sR0wXojuMDc j5mKAyX0pHSjnBCRF1eI8MsGQfZkl1MQ08kw4jwJuzXpbCoRmYPwDXlkOOOWRK32 pOo4HQ== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0xsk0veu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:36:13 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cee1ec30f2so22950335ad.3 for ; Wed, 12 Aug 2026 16:36:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577772; x=1787182572; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=AhUu0uSzo3AfsrNzm/Bks16Jnk8npDCjKZIoNK46y9A=; b=AZj7DSconoAf8CaCykQHxgiU8IaW/r2McEixVVVG2ySzJbxbjtFSVsvCTs1FJHSlmO 7xJ+ZY2balifbKs0t3oSIsCsWvE2IIP0/P9VaXnTeon63yMAHQvXYkfDlav6U3J4rqjO lijNUNJ5kJft8mYgmRtxk0P0+OhyMVFC0VpQ3NIK+qcnKlvDtUMilhD6SLYFCmCkf7SN CKs/t0frtAt+xKNMsgeSf9NCEGyhI9hV1PlHeCB56IFyMlMr1tEEXhTGEUb7D6zfl/Fu h/zWK/sfWggFbUy1ZL374NnILHBp0XJoUcolQ3FNKurqUdSxtEOygtJkShHlLwAUwl+P yDOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577772; x=1787182572; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=AhUu0uSzo3AfsrNzm/Bks16Jnk8npDCjKZIoNK46y9A=; b=lRexmDGjq9nRpovAUxyE68JNyHPwxmJ181wtCWngEC8ETWBC9apX/OM6zssKbunPD4 5RkMAbuESJE4kMB+F8HANtLOJ2thQQA5IGJbLzowSjImQhdQqmxy0n5+xHZxo9IQbTPQ NM8oYyVdyHpWjPlK2oBXBx2A6F4EID1UDdtlbHtUDn3kjqlZbbPAxbGCWSyyFbDmUCAa SmqdTI0khz3FHB743uTFnwgjn7YASQpPTz9TQ123o5ejv6JK5OUrUMNabmDzwZ5EyC2V r4gGNInR5SQoOVOPWZmIFWzWwXjomEGJ4L3xdTE7afZ1hQROic8m7/qKob7hMC/Pni1L nL9w== X-Forwarded-Encrypted: i=1; AHgh+RpGg+XXFAD/5+oOy3q5CHkQIspIZxudWxe0LN2FgCtaAo03cNBYa/O3O44RFc28FmefTOjY0k1FavSh+KI=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5UI/gSCTTh+Si9bTD3itfCp2fpwylXFLTMeD+CxmkHt/37Ze4 Lw5vi9YV2VmQRmLWNCOlCE+LwQRs0S6D///20+sEs4FdXM23wtOffdRQT36KBrAZoGaZ+rKtRpO 3ocffGJYc74ll0BplHoMpsPasnHGG3YKr1DZNxy2CEjEulmPunFb6GWkWi+H8GJFYsqw= X-Gm-Gg: AR+sD133MqPbs181looiDx4Xy/W9sq+6WGWTFjwQZ+EolwC/8rjmFpuqV4hPZeSm2os QAOEF6d1hzAF8E9/T7qz55IVYeSOGNwJUI0rFk7PP2R0R3KeknxE/mAwnUQQDChLKoRCtBqVY29 zhPeAxGu2J8dDYHbT6mdNyShDoLqTnzOIll9537H/wY81fjkl/ykFZZwv97HzHsqZA6vhpRI0gM DahfbITmm9S0QEd/aNiKza1HnD3mSkc9+KKuiP/gp891QpsNyQVpVRMn8FYMK+vAAklC134W92I jyis1g/KI9+T0CC04O9nAc0r19wxP1NDGkIAzkV2B2eE5SqWfaHXaqvTNXY7wA== X-Received: by 2002:a17:903:3bc5:b0:2c7:f12d:5d37 with SMTP id d9443c01a7336-2d37ebb2bc1mr21037375ad.17.1786577772119; Wed, 12 Aug 2026 16:36:12 -0700 (PDT) X-Received: by 2002:a17:903:3bc5:b0:2c7:f12d:5d37 with SMTP id d9443c01a7336-2d37ebb2bc1mr21037045ad.17.1786577771667; Wed, 12 Aug 2026 16:36:11 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.36.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:36:10 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:56 -0400 Subject: [PATCH v6 10/11] riscv: cpu: Output isa bases lines in cpuinfo Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-10-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu , Andrew Jones X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2735; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=DiWwiEx9V6F5N4m+1J76YOkAHoc6sfST7Sl1jsmaxE0=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZrFi3zn2DQpK0zelWy2YsPdA3W7WIxqsX13WTbqex 3Rw9tzEjlIWBjEuBlkxRZbDR1uyt77yifZ9zvkDZg4rE8gQBi5OAZjIzRhGhjX3nrnVT/5T8WJW 8drt/96v5Ju384TRVZkeMZnamgbR3b4M/8vEi6bKRhc0n+m2r3p0x0b39WoJo6z0KWEH/XY3n75 YyAMA X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Proofpoint-GUID: o7TuJWbNfP2kaAEzvJoRwAplhzTzqRYW X-Authority-Analysis: v=2.4 cv=M7J97Sws c=1 sm=1 tr=0 ts=6a7d036d cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=iQKFDb15jVzJNXG1q_sA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfXxjdeQlsnUZbD 8ikKeK87dfvIjJS1A9wFfaRk4dCDAQpQdXNuINmGYAprpyaAY4STOpV88iDvSEc/yBtRfc2B0L1 gQOioWCy1EgpKgiqBJSNNEF/GpCi+ks= X-Proofpoint-ORIG-GUID: o7TuJWbNfP2kaAEzvJoRwAplhzTzqRYW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfXyPbXobcWF+Eq t1eQc8tQmjDNydVKQUJONK+Jk3eRKr0DD1y+ZyahCKbFyRAcqy2q6vl5yds5bC6K2BnvnQEv0iF GYh8H7sXV6m/HsAzByIZY2voNm1BQ573cSPIvsxlwS9T+JLZZTmB1l34I6VoA94nxwHWwlpx4dK Lmw9KFivctW0IKF7OTcKurdTsgfF5S/C+7jNjYt56cvaQzhHW/Rt1OpUPfXLNpKDY6UJkErj6+6 H/gM+Z847SJnpcXLcvxcpEI5VPikztKu9HgS/jTMNF7IVd0jWGlG0D+xvd6C8/Qc7plDIBDuBYN WuHMxDbf4uQOFEEPN18GHnMUKE4EHy7DwPhqiuFOFOgv0x/CEIOxvOOypq/djAbTqih6f03KOJD 4ek0phFQNlRhxJ1hzFTesaN29Jrot29c31iL0acVIg6nps3k8/y4Z2+xDKoyrPVMqD6IqgK0yuB Ul4Ddpe6JCgE3Un3CKA== 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 clxscore=1015 spamscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 suspectscore=0 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 The "isa" line in /proc/cpuinfo lists a hart's extensions as concatenated string, but not which profile base it satisfies. Add two lines that report them directly: isa bases : hart isa bases : Example output on qemu booted with -cpu rva23s64,sv39=3Don,pmp=3Don: processor : 0 hart : 4 isa bases : rv64ima rva23u64 isa : rv64imafdcbvh_zicbom_zicbop_... ... hart isa bases : rv64ima rva23u64 hart isa : rv64imafdcbvh_zicbom_zicbop_... Signed-off-by: Andrew Jones Signed-off-by: Guodong Xu --- v6: No change. v5: Simplified the commit message. v4: No change. v3: No change. v2: - Read from the cached riscv_isa_bases and hart_isa[cpu_id].isa_bases bitmaps populated by riscv_init_isa_bases() at init time. --- arch/riscv/kernel/cpu.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/arch/riscv/kernel/cpu.c b/arch/riscv/kernel/cpu.c index 3dbc8cc557dd..31e2857dcdcf 100644 --- a/arch/riscv/kernel/cpu.c +++ b/arch/riscv/kernel/cpu.c @@ -305,6 +305,26 @@ static void print_mmu(struct seq_file *f) seq_printf(f, "mmu\t\t: %s\n", sv_type); } =20 +static const char * const riscv_isa_base_names[] =3D { +#ifdef CONFIG_32BIT + [RISCV_ISA_BASE_IMA] =3D "rv32ima", +#else + [RISCV_ISA_BASE_IMA] =3D "rv64ima", +#endif + [RISCV_ISA_BASE_RVA23U64] =3D "rva23u64", +}; + +static void print_isa_bases(struct seq_file *m, const unsigned long *isa_b= ases) +{ + unsigned int i; + + for (i =3D 0; i < RISCV_NR_ISA_BASES; i++) { + if (test_bit(i, isa_bases)) + seq_printf(m, " %s", riscv_isa_base_names[i]); + } + seq_puts(m, "\n"); +} + static void *c_start(struct seq_file *m, loff_t *pos) { if (*pos =3D=3D nr_cpu_ids) @@ -336,6 +356,9 @@ static int c_show(struct seq_file *m, void *v) seq_printf(m, "processor\t: %lu\n", cpu_id); seq_printf(m, "hart\t\t: %lu\n", cpuid_to_hartid_map(cpu_id)); =20 + seq_puts(m, "isa bases\t:"); + print_isa_bases(m, riscv_isa_bases); + /* * For historical raisins, the isa: line is limited to the lowest common * denominator of extensions supported across all harts. A true list of @@ -360,6 +383,9 @@ static int c_show(struct seq_file *m, void *v) seq_printf(m, "marchid\t\t: 0x%lx\n", ci->marchid); seq_printf(m, "mimpid\t\t: 0x%lx\n", ci->mimpid); =20 + seq_puts(m, "hart isa bases\t:"); + print_isa_bases(m, hart_isa[cpu_id].isa_bases); + /* * Print the ISA extensions specific to this hart, which may show * additional extensions not present across all harts. --=20 2.43.0 From nobody Tue Sep 29 04:14:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 955F649480D for ; Wed, 12 Aug 2026 23:36:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577784; cv=none; b=ejZuCoVkwoDnsBEfGQ4tV281yDBIDvj2g4iduwmWGaTJ4RRHlav071u/g8CeJP/FbMDnfkW0xVWVDD2lTbXIyRhLXMWnyfM4j+tdofL61cX2bamqrqcbWMsXUHyY1T+uixV0WDK0WzyplfEjOlFWNajY4GYEFNcB6ZKUkxC0WV0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786577784; c=relaxed/simple; bh=9dW4VaF+cpQj6n2di2ZHB9qHayVfEQpRJEGaM1jJjX0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RDxhntxSNn4vX9VtCZhRRtMQhB/ojCfb+Doqd8f9MqHgWlQr3EFH2vfWkmF548XIb7VX1XztX6ITMnR/bgRAXShdOQZn6Azz70J4dUVoBuj+98cGKOln0VHch8K3RoKtk0nBQT15wrboDFk0Cv10FOORbHjd7m5t6UkV0I4aCPg= 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=FY6MSVFU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Cz9yXhcn; arc=none smtp.client-ip=205.220.168.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="FY6MSVFU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Cz9yXhcn" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67CNLWW81064421 for ; Wed, 12 Aug 2026 23:36:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= chxsFMJd/v7CYPQftCpnnBz6h3uko0w0S390Jkq42v0=; b=FY6MSVFUEMiPzpg2 OKRL7GB/xap1n4MlUb7m/HmTY4QneQSgQ9aZzpmIEnjOhePICgOQxfTZCYMNb7E5 IfRRns8mwvp/yNrvCsEczXLTeeu9KI+fgDBAJ3+mgfAjc1UW1zR8fdXPqzuiN9VW 0rpvQpDd+uTIWso7GidRmSH4PqSlQAlRb9u8RHbgknk8elLYDApRf855F95R4ObX qOx78VaMUnets4fiZ1/SS1LINYUuOOs4FdX1NcWxHp2gjEV9c6aYffMR75DUOiGk bZsSHpl8i8gsrxTGfWiHM8IrKp9SaoH7wshIWBx4WjNDOZWrFHn0oQZP8hjjDlns nVwpvw== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g0wt8s730-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 12 Aug 2026 23:36:20 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2ce7dfd33ffso20840705ad.0 for ; Wed, 12 Aug 2026 16:36:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786577780; x=1787182580; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=chxsFMJd/v7CYPQftCpnnBz6h3uko0w0S390Jkq42v0=; b=Cz9yXhcnR0xNQ9NsEhL4Krq70rqyvBr9HvFr0/gflqmGVUwcgjrVizBYo1qw4fFfzI tlt5kXmDqIwa9AXEiRuTe/PTMmdio1IpnRflT/6UjWMchnGEzXMlwXiUkuWBOJzcyJLH l4nUBrIz7kwxa2LDJ7FFoxpaixj1WuB4u94QfVvbFRTifGf6/nerPxCmKiBRJPa/uKxY rna4PuY1sogm8s1iuclVKlfoyGO/QmcVR2FM+g7zkzgMKCthN8skjJ54XIvklXSzo6Oz 9q8C2EzLJLbeQdZdtmfZir2K86HJC5mw3tBG3QegiO4vuiwnYUQRwAwliiYL5caNnU9s GiDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786577780; x=1787182580; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=chxsFMJd/v7CYPQftCpnnBz6h3uko0w0S390Jkq42v0=; b=lNHQaPDimpEGXnVkiwrr7QeUtP7kAmyjYXyKZU5hWuwCvovHjfMtRcTIf/JlcIlant Gkd5yqqS/WM2be42Q99994sh0ytXkYzeKWk5zZXuqN2fSzNR2UKSX+p62+rcD3KtC7se Q903o4zZcKGO7zESs5CJLUhZG/FIsSBIYWus4C9WTJsfj7ShOEcUxD/oekY7cb/DGJYU nlZVPBrZ9ZFny3IOaYMTStaPVGZHaojBcmvQkvrfdkh9d6MeX2hX7wI1VTq2AFex9rpC cPKkUzXqHgjNxLf6Ws3kuz93mlMQwIffd7uaVAFqwHiUen6ZN4Esz3oefA/EniHH+O6/ jWvg== X-Forwarded-Encrypted: i=1; AHgh+Rpq26sj1enrpa9o9OuexraU23Y1XSofN/4G84Qj61eCfg5GNVqPxYQTHwvqqg3eYAW8jMq/Bn9huOaYzHQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxbcZq05V8rnfh0DWsfAdgj96IadgNj9qyrqWpX1D8vuRXaZtjR vXb4MA0R+SKgxxJHFdw9XuYHh08DguD9mtfoe5yjmgqTMEQCMK15+j9RaNuGKwnVUZeygML+TXs UY20ucVCXp0DTgitVFcF0x3rfE6Q7tVBc4IX/j+v8/23R3jaREwXnSgRQrAIaj6lmStk= X-Gm-Gg: AR+sD11hhgO8YENHnV33aRVsHIxQ5/tthcaf4nd8Lz4HYSEmMwpfzh7NmjpSOU8naA2 d6CjJeGQ0EIpjdivtfml7mOJCDcDmcvng+2pgm6oYLAiTttyiRoLAhJXW/WXR2hj/NZJug2UMIe fjqFh+IBdkVbUcdX4NDhJyHxM239FXUet9DOVqhcjHBwbkwzeg26NcUkp6ab2tisl25x5mBke2I 9XkYU4NtpFZmI8TsZby++LLq1liwSDWxX6c375hJxMmfJS4zypLG9Z3d/YxP3oelm8B3m97u2JW JpllvmkfOAzgXkypBvtBsRue45DOYX3oQNRXj+2IZ84Rom1H5qR+FWpk2WsFgw== X-Received: by 2002:a17:902:c412:b0:2c7:f4bd:91b5 with SMTP id d9443c01a7336-2d37d1c1926mr15942275ad.0.1786577779894; Wed, 12 Aug 2026 16:36:19 -0700 (PDT) X-Received: by 2002:a17:902:c412:b0:2c7:f4bd:91b5 with SMTP id d9443c01a7336-2d37d1c1926mr15941865ad.0.1786577779333; Wed, 12 Aug 2026 16:36:19 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::40fb]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d37c26d0fbsm2136805ad.37.2026.08.12.16.36.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 16:36:18 -0700 (PDT) From: Guodong Xu Date: Wed, 12 Aug 2026 19:33:57 -0400 Subject: [PATCH v6 11/11] riscv: hwprobe: Introduce rva23u64 base behavior Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-rva23u64-hwprobe-v2-v6-11-c985af3256b8@oss.qualcomm.com> References: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> In-Reply-To: <20260812-rva23u64-hwprobe-v2-v6-0-c985af3256b8@oss.qualcomm.com> To: Jonathan Corbet , Shuah Khan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Chen Wang , Inochi Amaoto Cc: linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Paul Walmsley , Conor Dooley , devicetree@vger.kernel.org, spacemit@lists.linux.dev, sophgo@lists.linux.dev, linux-kselftest@vger.kernel.org, Guodong Xu , Andrew Jones X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=5002; i=guodong.xu@oss.qualcomm.com; s=default; h=from:subject:message-id; bh=9dW4VaF+cpQj6n2di2ZHB9qHayVfEQpRJEGaM1jJjX0=; b=owGbwMvMwCXWtEl1Z3CGpCDjabUkhqxaZrEt9omnjF9tX/pU9lBCyb+leTM4jW+UijyUf866p +uu367ujlIWBjEuBlkxRZbDR1uyt77yifZ9zvkDZg4rE8gQBi5OAZiIXhLD/xqf3ffnKQev/cCa KZFhbhhqbvXdVeSqRd3u9qXTT7384cHIMM+gTH/NlW4Gkc/7GZ5eemTyfcbBgk0b73KGBmd2GLL 9YgcA X-Developer-Key: i=guodong.xu@oss.qualcomm.com; a=openpgp; fpr=90B1DC3DF0BD10FD1227BD6344F254AF42F143EE X-Authority-Analysis: v=2.4 cv=YLqvDxGx c=1 sm=1 tr=0 ts=6a7d0374 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=jBCMAwuHs6T3S2td1yAA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX7KbfM5lfUWmc gt633qh2Ci7XxUhG/CY89D4QqOzhvqAMACloyIsWa5pwzFvyVJy4WxqJ/PuFDZVpy8iEPLRUGjc NwnajRCYMgzqYrPab22is4D9U784KzARMK/o7pJQ3e1ZaZzb0GBPWbut2KUfK8BjJH+ClqtStha QSJf+ckPyNqH5ghALNFVLdsiaRjZLJfN86X5VWNSXyqXIRGz+b3sabjLrcbxjmDVShG+Vo4j/Ql 1om168RInuPeOWWr5mSoPwdF5UskbUlEcQsUKA9OLVy/5GiJaTJAS/Efm4CQq/AevE7ukDp/lBJ LGd8FVaaJW7dHGA7YYkb2zR8gxbzgZj+g8WnsrqDG1rmytkQa+qZ9wLT15xAN2K7owkWfxJ5Qkj ritgwu0nvCfwm+lhl3QSsk3x9IxY2k1la/y2SS4UI3hEwfEMx6H/bTOxJZDKkuN4PI1Xb6hB0U4 yBjr0oq/6k8M6VrFGyg== X-Proofpoint-ORIG-GUID: PpySfjYsoXjQxU0C200uYji1oxZTkDqp X-Proofpoint-GUID: PpySfjYsoXjQxU0C200uYji1oxZTkDqp X-Proofpoint-Spam-Info: AW1haW4tMjYwODEyMDE5MCBTYWx0ZWRfX+a8kcUvb+uzr SBWgMRRxVkEeS2UgMh1eUpDu/HxQP9ay5yNYARPlM+Xb30JVh+i4JxYpY6+xwEAm5omraJpXbJN jjUzkmikO2XK00W70EiY30Qtl6V7k/w= 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-12_07,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 malwarescore=0 impostorscore=0 spamscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608120190 Provide a hwprobe base-behavior bit so userspace can check RVA23U64 support in one call. Without it, a consumer needs five hwprobe calls and four prctl calls, which is error-prone to require of every caller. Most software treats RVA23U64 as a new base anyway, so expose it directly. Signed-off-by: Andrew Jones Signed-off-by: Guodong Xu --- v6: Rebase onto riscv/for-next: define RISCV_HWPROBE_BASE_BEHAVIOR_RVA23U64 in the _BITULL() style of commit 8da45c93dfa9. v5: No change. v4: No change. v3: No change. v2: - Detect RVA23U64 by reading from the cached hart_isa[].isa_bases bitmap populated by riscv_init_isa_bases() at init time, sharing one source of truth with /proc/cpuinfo. --- Documentation/arch/riscv/hwprobe.rst | 8 ++++++++ arch/riscv/include/uapi/asm/hwprobe.h | 3 ++- arch/riscv/kernel/sys_hwprobe.c | 23 +++++++++++++++---= ---- tools/testing/selftests/riscv/hwprobe/which-cpus.c | 2 +- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/Documentation/arch/riscv/hwprobe.rst b/Documentation/arch/risc= v/hwprobe.rst index 32a14331eb9d..dc70470093b1 100644 --- a/Documentation/arch/riscv/hwprobe.rst +++ b/Documentation/arch/riscv/hwprobe.rst @@ -67,6 +67,14 @@ The following keys are defined: programs (it may still be executed in userspace via a kernel-controlled mechanism such as the vDSO). =20 + * :c:macro:`RISCV_HWPROBE_BASE_BEHAVIOR_RVA23U64`: Support for all manda= tory + extensions of RVA23U64, as defined in the RISC-V Profiles specification + starting from commit 0273f3c921b6 ("rva23/rvb23 ratified"). + + The RVA23U64 base is based upon the IMA base and therefore IMA extensi= on + keys (e.g. :c:macro:`RISCV_HWPROBE_KEY_IMA_EXT_0`:) may be used to pro= be + optional extensions. + * :c:macro:`RISCV_HWPROBE_KEY_IMA_EXT_0`: A bitmask containing extensions that are compatible with the :c:macro:`RISCV_HWPROBE_BASE_BEHAVIOR_IMA`: base system behavior. diff --git a/arch/riscv/include/uapi/asm/hwprobe.h b/arch/riscv/include/uap= i/asm/hwprobe.h index 9a121ee3b436..4f5d51788c41 100644 --- a/arch/riscv/include/uapi/asm/hwprobe.h +++ b/arch/riscv/include/uapi/asm/hwprobe.h @@ -22,7 +22,8 @@ struct riscv_hwprobe { #define RISCV_HWPROBE_KEY_MARCHID 1 #define RISCV_HWPROBE_KEY_MIMPID 2 #define RISCV_HWPROBE_KEY_BASE_BEHAVIOR 3 -#define RISCV_HWPROBE_BASE_BEHAVIOR_IMA _BITULL(0) +#define RISCV_HWPROBE_BASE_BEHAVIOR_IMA _BITULL(0) +#define RISCV_HWPROBE_BASE_BEHAVIOR_RVA23U64 _BITULL(1) #define RISCV_HWPROBE_KEY_IMA_EXT_0 4 #define RISCV_HWPROBE_IMA_FD _BITULL(0) #define RISCV_HWPROBE_IMA_C _BITULL(1) diff --git a/arch/riscv/kernel/sys_hwprobe.c b/arch/riscv/kernel/sys_hwprob= e.c index 656cb100ac48..a18465e734b5 100644 --- a/arch/riscv/kernel/sys_hwprobe.c +++ b/arch/riscv/kernel/sys_hwprobe.c @@ -223,6 +223,17 @@ static bool hwprobe_ext0_has(const struct cpumask *cpu= s, u64 ext) return (pair.value & ext); } =20 +static bool hwprobe_has_isa_base(const struct cpumask *cpus, unsigned int = base) +{ + int cpu; + + for_each_cpu(cpu, cpus) { + if (!test_bit(base, hart_isa[cpu].isa_bases)) + return false; + } + return true; +} + #if defined(CONFIG_RISCV_PROBE_UNALIGNED_ACCESS) static u64 hwprobe_misaligned(const struct cpumask *cpus) { @@ -305,14 +316,12 @@ static void hwprobe_one_pair(struct riscv_hwprobe *pa= ir, case RISCV_HWPROBE_KEY_MIMPID: hwprobe_arch_id(pair, cpus); break; - /* - * The kernel already assumes that the base single-letter ISA - * extensions are supported on all harts, and only supports the - * IMA base, so just cheat a bit here and tell that to - * userspace. - */ case RISCV_HWPROBE_KEY_BASE_BEHAVIOR: - pair->value =3D RISCV_HWPROBE_BASE_BEHAVIOR_IMA; + pair->value =3D 0; + if (hwprobe_has_isa_base(cpus, RISCV_ISA_BASE_IMA)) + pair->value |=3D RISCV_HWPROBE_BASE_BEHAVIOR_IMA; + if (hwprobe_has_isa_base(cpus, RISCV_ISA_BASE_RVA23U64)) + pair->value |=3D RISCV_HWPROBE_BASE_BEHAVIOR_RVA23U64; break; =20 case RISCV_HWPROBE_KEY_IMA_EXT_0: diff --git a/tools/testing/selftests/riscv/hwprobe/which-cpus.c b/tools/tes= ting/selftests/riscv/hwprobe/which-cpus.c index 587feb198c04..f8c797b1d0fd 100644 --- a/tools/testing/selftests/riscv/hwprobe/which-cpus.c +++ b/tools/testing/selftests/riscv/hwprobe/which-cpus.c @@ -105,7 +105,7 @@ int main(int argc, char **argv) pairs[0] =3D (struct riscv_hwprobe){ .key =3D RISCV_HWPROBE_KEY_BASE_BEHA= VIOR, }; rc =3D riscv_hwprobe(pairs, 1, 0, NULL, 0); assert(rc =3D=3D 0 && pairs[0].key =3D=3D RISCV_HWPROBE_KEY_BASE_BEHAVIOR= && - pairs[0].value =3D=3D RISCV_HWPROBE_BASE_BEHAVIOR_IMA); + (pairs[0].value & RISCV_HWPROBE_BASE_BEHAVIOR_IMA)); =20 pairs[0] =3D (struct riscv_hwprobe){ .key =3D RISCV_HWPROBE_KEY_IMA_EXT_0= , }; rc =3D riscv_hwprobe(pairs, 1, 0, NULL, 0); --=20 2.43.0