From nobody Sun Jul 26 07:46:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1783415534; cv=none; d=zohomail.com; s=zohoarc; b=ekYzhi/EiveVu5fvSALIpXEiEiEbZxm2ZO86WZ/7a92cg00Hoh6wkwGX4aiepoC7/GoG7TmSyyKtAbpTgV8duU2GtIZDUzTt+DoFtAAImKCYxDz+4Q9WleCAOO3vQB6uu/U+ZV3xnRGSJOf3PXqPxd5Qovz6b5OikskOURRp0ag= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783415534; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9Gykh+5P8EC5j4uZxNdjyOMe+zEXw26y8NMVO5QDhqI=; b=Wgvh86P9gUGtQg6tGv2Twu0d0FxmwtXwzhduN+4NGB1/d8gS+wi4L7CybUz6N7mRGd4nP/Y1FW2guNf+J9TVe7OrmTEm+wTrpRYb9EeDpbXYDypv6d3HBDe5vkGcOjkgZQ+C85si6gCuTWNwHsiiJ3Q6gNNNIp5yqrfXL53v7BU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17834155342851004.681412026017; Tue, 7 Jul 2026 02:12:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh1pR-0003Wt-53; Tue, 07 Jul 2026 05:10:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh1pP-0003Wb-Mv for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:10:55 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wh1pO-0002Fs-9J for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:10:55 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-493c7902f47so23939805e9.1 for ; Tue, 07 Jul 2026 02:10:53 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493e0f32660sm41004665e9.2.2026.07.07.02.10.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 02:10:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783415453; x=1784020253; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9Gykh+5P8EC5j4uZxNdjyOMe+zEXw26y8NMVO5QDhqI=; b=cxatRAXzoUzygniV8/H1CytEEsCrbTRphgAHumnujwwHCtgM31o/N7nCPkaMlOudQf ZcQpnTIWVNcILRDW3+Y7lMM7vE3iAksGwZtuwkwFO2/3d1nhRyzfH5Lf9c/xdtT2mU+8 0q8hIvgO9NVmtjUssb/ZdqQfkHHfOXGpV93PqIaQ7fqXclGOpwX6dJtKolxVBrgod9fL LxXTbUdc+auSkeAHIV0gEVXEJyZp6CfsW8zgHRqJMGMjm6Wc+SmsJzYjtUxx03di3Pj7 2p8ikand+WU1jdhZ9EunPG9q3avZ3UAmaNufKZfNnHKlX3ku6DeTISuHmmLYjnHHjLJB HcMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783415453; x=1784020253; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=9Gykh+5P8EC5j4uZxNdjyOMe+zEXw26y8NMVO5QDhqI=; b=RxpMXqcG6rFHOLgN9IXmTBJXDnnB9WSGmpsM9xBocY31+Wzzaim1wbYNvcBMzL2qVa MLgNW34A/dpKIugJTvd+L+Bztzy7Cd1/5z3NCdL3t9EUNApa0LZvzegq1zyuqfTK8p5s pFL+DaC8XV0hcj2yS8zG0Z0XWwlYOxUEkBxjqrxjiV0yWLMAgjKH/zLcNm8ffrm0NlCD rTM2tm4r/scaKJbsuFgGLEHg7Jq2AHjFh7rT0FT4y8dcnXEYMtZ3k3osf7LPT8ETfchW 3ZdsZZNlwBwmoZbMh+uUtdcMl4rpJJxOL8EuCwkzsZphToSm36WjQIpzPpS5RvFS4Zq6 /i+g== X-Gm-Message-State: AOJu0YxYzNYdaAA+I4Ki1bvMa8oMxtlrO2e3w5MlihLAkJpLgN+i+w3r oOap/id/RB9fUzTQ3wNWsY01TZ0azXARlVEb0Icsjd8Gaao9P/pqjMt3HdmVAbbIuRq7+KDWSKq 1nkMsNrwzMrbsBfDGMzV4vvWtc2qiaB+JOxuhlQnvHDZ5B9k5R4nH4OzsrjlB5puvEv5w6maBUX BrggYP+HGKv30XTpXEiqqbQwdYKSJANBnci0vU6vQDY9GGzpCX X-Gm-Gg: AfdE7cmDkwliXP5k0dX5qMoOc9dvZi5Aud5M8YH//16x0IIp6vjB5ZVFKfHT4Ud+5G8 RGwgVvrQChduYTv2GPaN/+DX7tnCjamMt7RLndW7S9Fq6pntDNHvWGaJZ/mEyuGFmJJBHWbqL8d M1rC71U5V6estDhtwIPBIvSctPO3lJ2qLWMvUdQJolQLY/ELgA15GOfcGHUvnzq0vZMLiqE99tk 4KtY7kJFixG63FGCoghGD7/ZIJpUVBUlpy3fkiofAM90Hp17pDBN+V8pQznNHVtT/Yx99T9tnoe 5DBAphvVAtj2ciQWxDfoibs40dppqXVtbfBWryEXajAPmPiuJJZ2rpO1OFrJCQvINCyXKhfSDbr 2m62gIw/w1hmZBvvoQlrahOPLc+zj25TsCyRS2xy+2dxs2Fb7Q6kTjg0963qsNw6o8dkg62uGOq TbzprYBp9qwCi2CXFMZ19mLs45w3Vh4RpFDVOEOAs= X-Received: by 2002:a05:600c:350a:b0:492:e5a5:5a46 with SMTP id 5b1f17b1804b1-493df080753mr43212645e9.35.1783415452609; Tue, 07 Jul 2026 02:10:52 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang , Max Chou , Alistair Francis Subject: [PATCH v4 1/6] target/riscv: Add Zicclsm CPU option Date: Tue, 7 Jul 2026 17:10:34 +0800 Message-ID: <20260707091039.2574638-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260707091039.2574638-1-frank.chang@sifive.com> References: <20260707091039.2574638-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1783415534687158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang Add Zicclsm CPU option so that user can turn on/off misaligned loads and stores support. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/cpu_cfg_fields.h.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/cpu_cfg_fields.h.inc b/target/riscv/cpu_cfg_field= s.h.inc index 9eb47af0a76..f8c27a574f8 100644 --- a/target/riscv/cpu_cfg_fields.h.inc +++ b/target/riscv/cpu_cfg_fields.h.inc @@ -139,6 +139,8 @@ BOOL_FIELD(has_priv_1_11) /* Always enabled for TCG if has_priv_1_11 */ BOOL_FIELD(ext_ziccrse) =20 +BOOL_FIELD(ext_zicclsm) + /* Vendor-specific custom extensions */ BOOL_FIELD(ext_xtheadba) BOOL_FIELD(ext_xtheadbb) --=20 2.43.0 From nobody Sun Jul 26 07:46:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1783415485; cv=none; d=zohomail.com; s=zohoarc; b=ehF1/ftlq1t9rRclRXFF/1fTaIzQU54rkhcfnemHFUL3OEplRi0++ehfDPq3AAwLBUaJQc2tgoTVMjN1F9at/moAEfmQZJuYglndMfr6WkrWCLoymS5KFemR13A9lloxCymaTlMVhPir8Y6RIAzMVLdnxUAEU+lt36iEc7u7pkA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783415485; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5lNhqIEO4Y4/uK8KijQuDX0PHP8gR1qrz5+KexoydX0=; b=kkavwar045AJcNbjr2s05b11bUD99Ko1hX0rCxq1DImlL8h8oFeD2kWscUA0JlYlfbxWAkfxysVCwaZP8llNUmfmE6hxUDOY1YNtL0+vAwG7GbLNZRXd6TmxAnHsxMziZGdp49n6aJmqQ630LZtjHCVuM8nqpdY5ATp6xVWwNWQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783415485098494.62191530422103; Tue, 7 Jul 2026 02:11:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh1pV-0003Xu-Rw; Tue, 07 Jul 2026 05:11:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh1pU-0003XV-6Y for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:00 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wh1pS-0002GY-QT for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:10:59 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-493c1950518so2545565e9.1 for ; Tue, 07 Jul 2026 02:10:58 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493e0f32660sm41004665e9.2.2026.07.07.02.10.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 02:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783415457; x=1784020257; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5lNhqIEO4Y4/uK8KijQuDX0PHP8gR1qrz5+KexoydX0=; b=PSXd9LlxSU6SGBweGu+TPpbTlApyFki3k45psmS3Y7AhYsFQBK6wwy2JASQ/i0tXox HEl1XxrAgtvnr/f3Frc/R6ajxIH6alz6DNDAFnikBm8vemxIOOc6SU3/Z781WMw4ScPI c/ckmz0TwAlNDBon2yiMYqkhXIxABtGxkggNUyY1XNiLEe3HnmMm3niszLWvIMFGMNcR gOUhE8wgN7R87btmTOWKzklb3dFygqEL/CzegsidYRfkBY2WKnbNOzJYzLLBNLLU3Yy1 w1ON08xm+kUplKpCiC0VGQGxGSG+TT76DgTHncn4DUfAfjaETtwVV5aftl6u/nYYns5h MGqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783415457; x=1784020257; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5lNhqIEO4Y4/uK8KijQuDX0PHP8gR1qrz5+KexoydX0=; b=idijoHC+DKkr1aupqtsVHEP2jG0aNRQ9Z95B8EPga8j70gM51txRTqOCegDsivTAKC rBCC26/OBL6S/tSMPM9Ox6xMPtIznoDYhEbI9GzNszEWJ+TK/8gQEmXainh1iIMEWHB+ ps73a3VMRW+Di8Rg+EW+NgzgJ8PJp6nzW/acWSqzhtkO/eVj12+F6FYh9mPyOZjq3KYp 8oIzZ8cmdCTpnsk168O0S82i3i9PK9DNo/HkT5EJHPEpq9L1rHWg1Vn+AtlwDPZElc5u I2zTvjGg2IoNaCQiaFZGdSYvh1emJBp1/2LQlT7SxTvJh9ASOV9Y8iYhd3Q5RrN5xJ33 5neA== X-Gm-Message-State: AOJu0YyaypqBSXzZ4bKIGFwj7M8Lkh2x+Seqa5PFv6IL3Dg/xJnnnEsG uozmQwkMj1daGQvY5D2skiA9B5qiQGUhFpcHZRme6NynCDW1btdz/AOvAq7mhUrsH1xPLvyhmhD PweRuUWATMpPdAPIFBU0TfOObetxb6fFWAxj/+hOWABuwzJDrdeki94rnOF/iz8eXTdpovAuAzz 2Sn0QAl70BLbAWJCbjjHkVxPvE3Ap4poRy57QPLzTxCrvS1//S X-Gm-Gg: AfdE7ckc+YrOyC90yca+r0T++/Vtwvg2Prbd4dvaD/roxpJHjTsywcIhRRpTp7bwp/X y47scm8N1MSVXyLC8DhuMbeh5Q1lMnNJqZPt95GVBYkrc+g8+0X7PxZoc75PQXwL0wTiNisehaU Xma7L9U9QE0rqLh8+OB6tEnWbs0M+WYhTgdzrF8QlICdKVfykDPzN1LAKKLIGk18UVdcHtmWMMw lsUdj5d3zkcQUFVO7uSA06Dq/K/1wPk8LWP+cg5M2w3quZysxfWcUxweI//CrxQ4CG2u4zrsChZ 0DO8BqxSTJ73Gx3qC2vIQtoQ4ayDJmuuboR8ndy6TVkUCBmPLW/WH+7Tti97n0+bJujkZrA+0XE rQxdmEk10f4SKaCwGfvdm7ilbQ3044EWML+4ShGbNBR0hmfl0e3ZCuLkGuLd74FQggjBOXM6IiM KCVUawDCLsZDen5Zls5Xk6QqPnpstHlDhAyFkGxvI= X-Received: by 2002:a05:600c:8010:b0:493:d117:18a8 with SMTP id 5b1f17b1804b1-493e1011e8bmr17829465e9.9.1783415457146; Tue, 07 Jul 2026 02:10:57 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang , Max Chou , Alistair Francis Subject: [PATCH v4 2/6] target/riscv: Support raising misaligned exceptions for scalar loads/stores Date: Tue, 7 Jul 2026 17:10:35 +0800 Message-ID: <20260707091039.2574638-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260707091039.2574638-1-frank.chang@sifive.com> References: <20260707091039.2574638-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1783415486635158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang When the Zicclsm extension is not enabled, raise misaligned load/store exceptions for misaligned accesses from scalar load/store instructions. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/insn_trans/trans_rvi.c.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_tr= ans/trans_rvi.c.inc index e47b16a7fa2..cc1b5dbbadc 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -413,6 +413,9 @@ static bool gen_load(DisasContext *ctx, arg_lb *a, MemO= p memop) if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } + if (!ctx->cfg_ptr->ext_zicclsm) { + memop |=3D MO_ALIGN; + } decode_save_opc(ctx, 0); if (get_xl(ctx) =3D=3D MXL_RV128) { out =3D gen_load_i128(ctx, a, memop); @@ -524,6 +527,9 @@ static bool gen_store(DisasContext *ctx, arg_sb *a, Mem= Op memop) if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } + if (!ctx->cfg_ptr->ext_zicclsm) { + memop |=3D MO_ALIGN; + } decode_save_opc(ctx, 0); if (get_xl(ctx) =3D=3D MXL_RV128) { return gen_store_i128(ctx, a, memop); --=20 2.43.0 From nobody Sun Jul 26 07:46:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1783415504; cv=none; d=zohomail.com; s=zohoarc; b=b4PUrqaIGFtnPVi5MZu1hqXxUVlG7avhYVNR2wQgDpyncbtEESXKA2P6TBLKV/OH6cqvw4A/Yuo4PEEvX2DtCpCuMOe4mHUd//qNSv35hQIUNGX9qeg3XaWO31blV9ME/HVi2BmiJCtxCNlTVRgtnvFpt7fWdx5BtY5ws4Zvf/8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783415504; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PD6VgqLxjb6wWjSJyDflTN+LGJInBMBFIIvd/XvIVpw=; b=WPArZdSeSZ9HmcZSmXnpOLr+pZ2YacRixMuqHt5ZnxhyNfiJOiDsSVRVBgJGQqc2nHYcXdsm9KDJjmi38YmjA9wdvpZ9LBMMI+uwHHYF2xwslfvep4pJ3uUbQI6SajQXQfBrbv2/bQK9bKmXkrhMYpNEldrBYR7XkeRcbha6OxM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783415504539944.5956930040113; Tue, 7 Jul 2026 02:11:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh1pb-0003Zl-18; Tue, 07 Jul 2026 05:11:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh1pZ-0003Z1-0J for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:05 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wh1pX-0002HB-4b for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:04 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-493b27c7451so4406285e9.0 for ; Tue, 07 Jul 2026 02:11:02 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493e0f32660sm41004665e9.2.2026.07.07.02.10.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 02:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783415462; x=1784020262; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PD6VgqLxjb6wWjSJyDflTN+LGJInBMBFIIvd/XvIVpw=; b=EhpN+Qjdz6HR1fEaQRbc2Rgnz9Cxriqx8iCpRU6HfdPq47TzArB/AHb+CySForyXip tmtDa/f6O0t9mw9N2N7iTYB19F7ULtoH8dVOyO01wOuMr+FQ0XyYVDgzPkbElsfSiXgW PNNWItkIHlWGy8qJ3UXEUg3Fn2X6twST6lZv4/i3pQGdntRSe37dvrGiORtVsSHUA0yE FHHvKj8vEOiWX1jhZCP7NmjONPQk0G9QLv/ksKaals1gpADV2+mT49tQM09juYr+ZFWQ htGQA1FJ/5iJQVkTld2bFzKRhBSh5BV1tIWUA12SImDewt7G+nAHEMp1rLFl3dyZUZdC gMKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783415462; x=1784020262; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PD6VgqLxjb6wWjSJyDflTN+LGJInBMBFIIvd/XvIVpw=; b=k3NsHsWoJHH9jKnG9J7UaAofBg4KLzMS53t8HSb9GU8obXElPvBzM9AOkbi4lWR+zJ MW/0CtyaDmbNT5lnPtFu/xa1SC7WJ/6oDfUSQaiFv1xmKFU+pOesE1GM5Y32xuD93Dqp 9FEJ6sq3XZJeO9OIryxMBFX2ZrCzyhTWuomWHP6mKP8vjyUKLCHvvHN1mcm+RoF5Vsl+ sx1ypjj5UWHIKwE6BxaSgihbxgGbnQYFb6mvXZR6fuWRe8MIfVkJ/jchIt3/khZhBV4k Sr71m3w/4RnXbLMpsdHVVEmcdf6Pms6Xeb2TqBNft85OEXf0v0v15SwxocKHSaLfoptV wqvA== X-Gm-Message-State: AOJu0YyftbfbKnFuOlkg4nYpzujpeYRWl/u5QELZfhmgo9809C9lagvf nPyOQbwsU3DKz/RCvG9+Aqrd6b1w0TQ6X241nvO8mK0nkRiOfiOsKKWCCY8yteOUJ4LZaBoVQ5r 5OUK1PfOjPrzkbbNCFZ4gkiSJtW/0RZLnH1nj5mwzGsEVdtMi85+XhaPXZJ8wDRv3iHqLCWIYwS 2QCPc+AwxrZCJP1FXXy9F1HnW6HRCffovyrHGTHKDTzVvD5noV X-Gm-Gg: AfdE7cn5M8BPHe8Uu+/sdaZhX2VX5sw7a2j5yBIjViM42eccZOpgq4q4xvQxDCy75F7 dcU7HZCFzq2uf7sr3+rnatzSY8HtOW+Cb+TDEvbHkWOMi1R+NfZs0Boy7RYwOT5QshCVMBfd5m7 qy1l6wY4qJwZDnWMW7Ukmwzq5hFKsgoOYEbwv4NvycBSHbgllzXtv+yoNDI1Vg4IeiXJA/5WS0v i4DcX+3gt0UvRGVWSTlx7IFN92QvXYMnAsaZKZ/FXgdKy+qNcEgyHoyA5h6DCJwgjjRK+fMyU3c WLz1v+jA/P3gBDNbobhRKGabWNhjUGk+BHS6fsou+qSouHacPGJGxGLx+ker8+nsxLod4g0dVC5 RdHoKD+jytdKmvtsQD1yGaeC8JvXCuY5Z3oAOIU9ihgMFvERzhzKmDCGViII1N6yRVl61B32rJQ yPPNCXFPfYGS/eSvAJ9iUQFuFA9jUvqfuWsq5m1OE= X-Received: by 2002:a05:600c:37c3:b0:493:bee0:4360 with SMTP id 5b1f17b1804b1-493e10217d6mr18064775e9.17.1783415461540; Tue, 07 Jul 2026 02:11:01 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang , Max Chou , Alistair Francis Subject: [PATCH v4 3/6] target/riscv: Support raising misaligned exceptions for vector loads/stores Date: Tue, 7 Jul 2026 17:10:36 +0800 Message-ID: <20260707091039.2574638-4-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260707091039.2574638-1-frank.chang@sifive.com> References: <20260707091039.2574638-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1783415506454158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang When the Zicclsm extension is not enabled, raise misaligned load/store exceptions for misaligned accesses from vector load/store instructions. We will skip the host fast-path and fall back to the slow TLB-path to raise misaligned load/store exceptions for the misaligned accesses when Zicclsm extension is disabled. Signed-off-by: Frank Chang Reviewed-by: Max Chou Acked-by: Alistair Francis --- target/riscv/insn_trans/trans_rvv.c.inc | 18 +++++-- target/riscv/vector_helper.c | 65 +++++++++++++++++++------ 2 files changed, 65 insertions(+), 18 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 23262b1d036..a22e2cae6ce 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -1191,26 +1191,38 @@ static bool ldst_whole_trans(uint32_t vd, uint32_t = rs1, uint32_t nf, * Use the helper function if either: * - vstart is not 0. */ - bool use_helper_fn =3D !s->vstart_eq_zero; =20 if (!use_helper_fn) { uint32_t size =3D s->cfg_ptr->vlenb * nf; TCGv_i64 t8 =3D tcg_temp_new_i64(); MemOp atomicity =3D MO_ATOM_NONE; + MemOp alignment =3D MO_UNALN; + + /* + * If Zicclsm is disabled, require alignment based on element size. + * Use MO_ALIGN_* based on log2_esz (0 =3D MO_UNALN, 1 =3D MO_ALIG= N_2, etc). + */ + if (!s->cfg_ptr->ext_zicclsm) { + alignment =3D log2_esz << MO_ASHIFT; + } + if (log2_esz =3D=3D 0) { atomicity =3D MO_ATOM_NONE; } else { atomicity =3D MO_ATOM_IFALIGN_PAIR; } + for (int i =3D 0; i < size; i +=3D 8) { TCGv addr =3D get_address(s, rs1, i); if (is_load) { - tcg_gen_qemu_ld_i64(t8, addr, s->mem_idx, MO_LEUQ | atomic= ity); + tcg_gen_qemu_ld_i64(t8, addr, s->mem_idx, + MO_LEUQ | atomicity | alignment); tcg_gen_st_i64(t8, tcg_env, vreg_ofs(s, vd) + i); } else { tcg_gen_ld_i64(t8, tcg_env, vreg_ofs(s, vd) + i); - tcg_gen_qemu_st_i64(t8, addr, s->mem_idx, MO_LEUQ | atomic= ity); + tcg_gen_qemu_st_i64(t8, addr, s->mem_idx, + MO_LEUQ | atomicity | alignment); } if (i =3D=3D size - 8) { tcg_gen_movi_i32(cpu_vstart, 0); diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index e321ca26161..e28d8a3d9fd 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -199,20 +199,34 @@ static inline void vext_set_elem_mask(void *v0, int i= ndex, ((uint64_t *)v0)[idx] =3D deposit64(old, pos, 1, value); } =20 +static inline MemOpIdx vext_make_memop_idx(CPURISCVState *env, size_t size) +{ + int mmu_idx =3D riscv_env_mmu_index(env, false); + MemOp memop =3D size_memop(size) | mo_endian_env(env); + + if (!riscv_cpu_cfg(env)->ext_zicclsm) { + memop |=3D MO_ALIGN; + } + + return make_memop_idx(memop, mmu_idx); +} + /* elements operations for load and store */ typedef void vext_ldst_elem_fn_tlb(CPURISCVState *env, abi_ptr addr, uint32_t idx, void *vd, uintptr_t retad= dr); typedef void vext_ldst_elem_fn_host(void *vd, uint32_t idx, void *host); =20 -#define GEN_VEXT_LD_ELEM(NAME, ETYPE, H, LDSUF) \ +#define GEN_VEXT_TLB_LD_ELEM(NAME, ETYPE, H, LDSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_tlb(CPURISCVState *env, abi_ptr addr, \ uint32_t idx, void *vd, uintptr_t retaddr) \ { \ ETYPE *cur =3D ((ETYPE *)vd + H(idx)); \ - *cur =3D cpu_##LDSUF##_data_ra(env, addr, retaddr); \ + MemOpIdx oi =3D vext_make_memop_idx(env, sizeof(ETYPE)); \ + *cur =3D cpu_##LDSUF##_mmu(env, addr, oi, retaddr); \ } \ - \ + +#define GEN_VEXT_HOST_LD_ELEM(NAME, ETYPE, H, LDSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_host(void *vd, uint32_t idx, void *host) \ { \ @@ -220,20 +234,27 @@ void NAME##_host(void *vd, uint32_t idx, void *host) = \ *cur =3D (ETYPE)LDSUF##_p(host); \ } =20 -GEN_VEXT_LD_ELEM(lde_b, uint8_t, H1, ldub) -GEN_VEXT_LD_ELEM(lde_h, uint16_t, H2, lduw_le) -GEN_VEXT_LD_ELEM(lde_w, uint32_t, H4, ldl_le) -GEN_VEXT_LD_ELEM(lde_d, uint64_t, H8, ldq_le) +GEN_VEXT_TLB_LD_ELEM(lde_b, uint8_t, H1, ldb) +GEN_VEXT_TLB_LD_ELEM(lde_h, uint16_t, H2, ldw) +GEN_VEXT_TLB_LD_ELEM(lde_w, uint32_t, H4, ldl) +GEN_VEXT_TLB_LD_ELEM(lde_d, uint64_t, H8, ldq) =20 -#define GEN_VEXT_ST_ELEM(NAME, ETYPE, H, STSUF) \ +GEN_VEXT_HOST_LD_ELEM(lde_b, uint8_t, H1, ldub) +GEN_VEXT_HOST_LD_ELEM(lde_h, uint16_t, H2, lduw_le) +GEN_VEXT_HOST_LD_ELEM(lde_w, uint32_t, H4, ldl_le) +GEN_VEXT_HOST_LD_ELEM(lde_d, uint64_t, H8, ldq_le) + +#define GEN_VEXT_TLB_ST_ELEM(NAME, ETYPE, H, STSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_tlb(CPURISCVState *env, abi_ptr addr, \ uint32_t idx, void *vd, uintptr_t retaddr) \ { \ ETYPE data =3D *((ETYPE *)vd + H(idx)); \ - cpu_##STSUF##_data_ra(env, addr, data, retaddr); \ + MemOpIdx oi =3D vext_make_memop_idx(env, sizeof(ETYPE)); \ + cpu_##STSUF##_mmu(env, addr, data, oi, retaddr); \ } \ - \ + +#define GEN_VEXT_HOST_ST_ELEM(NAME, ETYPE, H, STSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_host(void *vd, uint32_t idx, void *host) \ { \ @@ -241,10 +262,15 @@ void NAME##_host(void *vd, uint32_t idx, void *host) = \ STSUF##_p(host, data); \ } =20 -GEN_VEXT_ST_ELEM(ste_b, uint8_t, H1, stb) -GEN_VEXT_ST_ELEM(ste_h, uint16_t, H2, stw_le) -GEN_VEXT_ST_ELEM(ste_w, uint32_t, H4, stl_le) -GEN_VEXT_ST_ELEM(ste_d, uint64_t, H8, stq_le) +GEN_VEXT_TLB_ST_ELEM(ste_b, uint8_t, H1, stb) +GEN_VEXT_TLB_ST_ELEM(ste_h, uint16_t, H2, stw) +GEN_VEXT_TLB_ST_ELEM(ste_w, uint32_t, H4, stl) +GEN_VEXT_TLB_ST_ELEM(ste_d, uint64_t, H8, stq) + +GEN_VEXT_HOST_ST_ELEM(ste_b, uint8_t, H1, stb) +GEN_VEXT_HOST_ST_ELEM(ste_h, uint16_t, H2, stw_le) +GEN_VEXT_HOST_ST_ELEM(ste_w, uint32_t, H4, stl_le) +GEN_VEXT_HOST_ST_ELEM(ste_d, uint64_t, H8, stq_le) =20 static inline QEMU_ALWAYS_INLINE void vext_continuous_ldst_tlb(CPURISCVState *env, vext_ldst_elem_fn_tlb *ldst_t= lb, @@ -398,7 +424,16 @@ vext_page_ldst_us(CPURISCVState *env, void *vd, target= _ulong addr, probe_pages(env, addr, size, ra, access_type, mmu_index, &host, &flags, true); =20 - if (flags =3D=3D 0) { + bool misaligned =3D addr & (esz - 1); + + /* + * Allow the host fast-pash when: + * 1. Page permission/pmp/watchpoint are checked and we have a conti= gous + * host mapping. + * 2. Zicclsm is enabled or load/store is not a misaligned access. + * Otherwise, we will fall back to the slow TLB-path. + */ + if (flags =3D=3D 0 && (riscv_cpu_cfg(env)->ext_zicclsm || !misaligned)= ) { if (nf =3D=3D 1) { vext_continuous_ldst_host(env, ldst_host, vd, evl, env->vstart, host, esz, is_load); --=20 2.43.0 From nobody Sun Jul 26 07:46:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1783415564; cv=none; d=zohomail.com; s=zohoarc; b=RqIMI9bIq8R3XOAdGAYUMrP3K0LD+Hk/LZjDA4WowK6uPGKFA8F/raZgc9MX+mYmEaMZpVSx7/XK9MvjtQl5fM4AyyRfeAx+xRorNbssaMWjeVUz8hEArH4xJlU4Bkvrx45zG1oqBC+CZUOmSH6BasWMR6LnT+vG6HXCbm7KwS4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783415564; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gmonhamQuGTG+bCqFaxE830icf/nuXCN0b1b3D9IYLk=; b=ms34I1GcB0/2BPdiyjlDEf1MXnPuWur0WrFpNo//NoFcOr/aNJzEQqx2Jkz6rA/PulUUpjMTwsHDB6Sa2haLPYsjBXDUo0FfWLyuFlOvsFM70zGHm3Zgk8wsYGkM587lMYw6YjWPmykE95oMQOxTU5i5kAENVM42inj3yMmDFYI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783415564672838.2600644906531; Tue, 7 Jul 2026 02:12:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh1pe-0003ao-Bw; Tue, 07 Jul 2026 05:11:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh1pc-0003a8-UD for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:08 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wh1pb-0002Hx-BX for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:08 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-493b691cb44so28393715e9.0 for ; Tue, 07 Jul 2026 02:11:07 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493e0f32660sm41004665e9.2.2026.07.07.02.11.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 02:11:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783415466; x=1784020266; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gmonhamQuGTG+bCqFaxE830icf/nuXCN0b1b3D9IYLk=; b=eKRpmLVxn85t9jnHli3p7LGUxoR0bh4QRloWHy3lSlFtlRj+GFfrYY2U2flAQx1Z8A Qj+O+TjRMXjkEyBHluzM1Zfv5ybq3ex8CB7d3dp0NS9jG+ULfUkYqFLWOS+2n6d38i8M KanTjDMkJCz4srvtWoddsHBeJwY+eR0T7xlyLfbBwtH/ILnZXHf2hZEgpV3Y7Blgnwe6 5wEWgjccQZdQh0Vb8t5Lm18l7KPUPSKtHOWaV3a01ucPSXHYlfy/WV50LF4MP4XtiE4i fU1eqoHGkcNltICR8iFvvofBCL1vg1DtIKVnRHhnqhTFt8vdJRrgaa553NcG48KMyFOW lQmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783415466; x=1784020266; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=gmonhamQuGTG+bCqFaxE830icf/nuXCN0b1b3D9IYLk=; b=mO14Vh7DUQ51YS3Y66m9UZg4yItO6BHrjyaTjns4Xp9pEEWirGfSr6DVNe7svF148m wNc6rmrasqIZj0TC+ivSIIAR9w//TAeXYpt4VQOali6GvgMv/6aUgRj0aasTVIdbd7It 2P+Nv3ezlb0BNgyRRigQMAuB24FbbttnFunjxFyS3Aw4z3fCgd51UFYzyJTYVkTrpzP4 98A9Cc3er4lyDlMgo7ntBzNU73jSf7hDH5tAyzjpUBYbesk3Yv+VBHhDbEnDYoW3Q1CV FnB9J86Zx9/axvVNPN35DoysI/SGMRgPzTdggjZ1BWj8kKN3+5PdOb/nzZcj37snKhZd Smng== X-Gm-Message-State: AOJu0YwlM4Txo93Vb+KSMATOsZAP74JijzBpTklxvLmJHFu0BVWtYNZV j9Hh2bhTa9BCHRL2PboQGin4fKe7segrRKcxpANDM9eESwbshAgwV3kwi/A8rww6a+XjcjAo45y xJXkSFjchqOneT0/g5WdQwFKste/Jj3yj5iDetdwlcx2PnOXfRtJKRZfWwANkgVAMtEZEOSGN1N c5CtVjGfXeY+2n5o9B8uzQna3yuVpXqW3dVuAYdaOdqCe2kih/ X-Gm-Gg: AfdE7cm9Bn4Eyhi/EUzbCVwUXVW+YZpAhTOjLWwhHfUMSs6h0lHQC4zQ8TXLtoUD9IF o8opv6mfRA7jA8FIZEa8p1sE1Qg/VPvsM76pMA7F3qqHYNajiA8gU6qSbP3Zz+2BXiClRGx5HCw 6aHCD/xrVD1Z9xED0BpgEz+D8exRkvNZAjiWZhNKn5PQE6BzJUEcsgLobTlK7aVaN/ZtaXK2IYL DpWnXqsWiRMu5MJz0QKmsmO0BZR6Nh/ck/REBbprFueRCAULvwP/x0HSji1y8Y+bDe74JiazCOi VfI6kXB8cjMtEiEdmlCn++zfbrVDRmZ9QCgRQ3xibFfeWxFX0JM14BHGPqt3qB6t1nxzCFQwvLi DqyD+DiCXuNPpYAWa9yPh7DouzjARIhOdiv6Hreb0IxnpyWz2yBeS8Bkv5xeunvwscEBa8sDvb5 w/iCd4rSmZKwP3s+4U3nU72UgdTWoCqSwdx1mgV4SvsaTqFWAUgQ== X-Received: by 2002:a05:600c:247:b0:490:9d1b:f086 with SMTP id 5b1f17b1804b1-493df070084mr35254125e9.14.1783415465818; Tue, 07 Jul 2026 02:11:05 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang , Alistair Francis Subject: [PATCH v4 4/6] target/riscv: Enable Zicclsm for the compatible CPUs Date: Tue, 7 Jul 2026 17:10:37 +0800 Message-ID: <20260707091039.2574638-5-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260707091039.2574638-1-frank.chang@sifive.com> References: <20260707091039.2574638-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1783415566771158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang Now that Zicclsm is supported, let's enable it for the following compatible CPUs: - Base 32 CPU (to be backward compatible) - Base 64 CPU (to be backward compatible) - XuanTie (T-Head) C908 - Tenstorrent Ascalon - Ventana Veyron V1 - XiangShan Kunminghu - MIPS P8700 (ISA doesn't include Zicclsm, but their datasheet claims that it has unaligned load/store support in hardware) Signed-off-by: Frank Chang Acked-by: Alistair Francis --- target/riscv/cpu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index bff3ed5de14..a3cccdfed3c 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -3021,6 +3021,7 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { .cfg.ext_zicbom =3D true, .cfg.ext_zicbop =3D true, .cfg.ext_zicboz =3D true, + .cfg.ext_zicclsm =3D true, .cfg.ext_zicntr =3D true, .cfg.ext_zicsr =3D true, .cfg.ext_zifencei =3D true, @@ -3093,6 +3094,7 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { .cfg.ext_zicbom =3D true, .cfg.ext_zicbop =3D true, .cfg.ext_zicboz =3D true, + .cfg.ext_zicclsm =3D true, .cfg.ext_zicntr =3D true, .cfg.ext_zicsr =3D true, .cfg.ext_zifencei =3D true, @@ -3179,6 +3181,7 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { .cfg.ext_zbs =3D true, .cfg.ext_zkt =3D true, .cfg.ext_zbkc =3D true, + .cfg.ext_zicclsm =3D true, .cfg.ext_zicsr =3D true, .cfg.ext_zifencei =3D true, .cfg.ext_zihintpause =3D true, @@ -3222,6 +3225,7 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { .cfg.ext_zicbom =3D true, .cfg.ext_zicbop =3D true, .cfg.ext_zicboz =3D true, + .cfg.ext_zicclsm =3D true, .cfg.ext_zicntr =3D true, .cfg.ext_zicond =3D true, .cfg.ext_zicsr =3D true, @@ -3270,6 +3274,7 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { =20 /* ISA extensions */ .cfg.mmu =3D true, + .cfg.ext_zicclsm =3D true, .cfg.ext_zifencei =3D true, .cfg.ext_zicsr =3D true, .cfg.pmp =3D true, @@ -3329,6 +3334,7 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { * The RISC-V Instruction Set Manual: Volume I * Unprivileged Architecture */ + .cfg.ext_zicclsm =3D true, .cfg.ext_zicntr =3D true, .cfg.ext_zihpm =3D true, .cfg.ext_zihintntl =3D true, @@ -3385,6 +3391,7 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { .misa_ext =3D RVI | RVM | RVA | RVF | RVD | RVC | RVS | RVU, .priv_spec =3D PRIV_VERSION_1_12_0, .cfg.max_satp_mode =3D VM_1_10_SV48, + .cfg.ext_zicclsm =3D true, .cfg.ext_zifencei =3D true, .cfg.ext_zicsr =3D true, .cfg.mmu =3D true, --=20 2.43.0 From nobody Sun Jul 26 07:46:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1783415557; cv=none; d=zohomail.com; s=zohoarc; b=ZqZ4jO629mjZco4M2E0YUpP5ugq0UVmZkbEuTePlNuJsVsjeibsHV9SYVcYhHioB5/jaUJi9BU9RTfDlVPD24kwm8x1/Z5bUYN4yZjY6KGFhkiluKddbNkTunmMvhzy2R2+3tPSvieFfZMNKtPB3zBDHy8xC0+/bDrPpcV7IM5I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783415557; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EP6HXXrI7277SJvHWFhPbL5YWllqc9+TyVwnaeJ0UeA=; b=IIiVlBFOla0xEEf/HVdEgbe6N3FfzKtqTtHL0SslC5hw5EfiZwquUVjRfbGO9O6n2h1gv/xG8CwYFNKEFPSGp5vv0aErIMVOTmTGbhjICcFkVEjEk3LSVyG/cW3o4m0DO5OVCQefubQWP0S8zUAjVhkVjUyZwEicDa0qRXt8300= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178341555704347.04243363789499; Tue, 7 Jul 2026 02:12:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh1pi-0003bo-9V; Tue, 07 Jul 2026 05:11:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh1ph-0003ba-8F for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:13 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wh1pf-0002IZ-AH for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:13 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-493b1710405so24870705e9.2 for ; Tue, 07 Jul 2026 02:11:10 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493e0f32660sm41004665e9.2.2026.07.07.02.11.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 02:11:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783415470; x=1784020270; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EP6HXXrI7277SJvHWFhPbL5YWllqc9+TyVwnaeJ0UeA=; b=j76KL9JfwRTRNIWmz9QnC1QvLkvSq1t5YaLYIxbCkLh7umCtW223H5rYoMEDdmxinj pfRt7aQSJOhqIp4FgDTxMJftuNxVBD6MiIg2tOWgCLMOybXOFyQe8Ft4v5uIFG0g8HwN OUdNuxxn/mzCBGp2rXmtG/gZyTv4+SlendXUieINuE2JZ+S3PA5cL8sUdB3stCO6LRw/ g/mVzD97qEJHbZFXePplVA5fKTylTUiDy4gBNF/hKEcNbwEIFG7/GbOmhMcUhE0O8nvz 2t3Cq+gdlRi6+KidGyT+/vrLyEvwq/yH0ftnx9lVYZbjSCzALNkLW82OnZ38vNWCpE9V tgiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783415470; x=1784020270; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=EP6HXXrI7277SJvHWFhPbL5YWllqc9+TyVwnaeJ0UeA=; b=llUZEea3hQfQgjRXXyw3Zv37dz85RG8JHNaZx+Q11TpHPKzS3VrecCNcc0TTP0b6Wg gUqJQDhSR+LGQH37a+E3S3w4BPDHzj0/s5dbgC6i7F/zRbxIW03kqqbOZvCqeSkob0Ih wB6A1C9QYXYALVWCaW8GajYy4VHSvg9S0DOqroOCtK8IvLbQVa4/VSUuZgIF4Udnu5+R o6mOQQAr8036lX7GwZKt/ECYp4qxMr4OYKmi1E1kthIfogk7XeOED0XM12VuNdnB1+fW llVGQw43q/6jhA/r71BK6wXgXIrZ+LQfM7Kt9Z3N4ddaFx0wbnNCmUKgw0VzA8Eq+vnh Dx0Q== X-Gm-Message-State: AOJu0YzklbORno+sdF83NEG5YHBmKxKsr87/7TEB8UAA+knRSEMzTIu2 Pq6KQIofJbuP2hK6MOorbaod8nVQjAIBnhYpGxLP758bCmaFJZEHfmoQaWWIZSj9DBFa83jUmF5 e+2c+sOskoEhIOxQTr91IFLGrLpTFJcIM5vgp21APoIjzmslCKMLxyjNPsVtJxOaoU7KLpQXLma xR5lrSe2VFjK127qmyfHptpjZxOiYr90MfTC49MFlaBQjCNN2m X-Gm-Gg: AfdE7cnGpmVctNRklSFMg0rjiLGUwZyICgMgbo8/d7MJrQAu6AI3T4ITSfP7NMubw8y O3QEItBEPu3VayDD+f9V2F5UEBUaW1/cTh+nayD0TITNNR/5gKZIl8eLCl3oaFrRUZqnU8osinL y/WQB2HfabJEOlbBnyE9mjdpGnT3FSVGgivQZvXdZuJIqR2llXNKYSngFdBc9a7oubMEZwi8fOV 9CBC8U3G0E/iquT2I36PpcbnUh0JZw1HMST6owpJtoCUFGIaUn9CKiE/qc4sg/s4pLAQnYCxkaI Z51VJEoJrMLtN1sNKm7TvoZ3Q13ItruuCKsR9E4A+ykFdvAYrMenJbnsihzIfUAbXn0aQnPtXRK 2NiF/0aByjZi5H7zx9GOLVElEkcsNNVzrHf3MzceU/B1AFCDixF0Xp367/4mrdgPOjb/cYwGoXz Qv3jbnwEWYOnB/kl8ugqnaaddbIfhzusuHAugrrpghrmbau0fmvA== X-Received: by 2002:a05:600c:3551:b0:492:6efc:7c60 with SMTP id 5b1f17b1804b1-493df093984mr46588825e9.28.1783415469680; Tue, 07 Jul 2026 02:11:09 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang Subject: [PATCH v4 5/6] hw/riscv: sifive_u: Align ROM reset vector data Date: Tue, 7 Jul 2026 17:10:38 +0800 Message-ID: <20260707091039.2574638-6-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260707091039.2574638-1-frank.chang@sifive.com> References: <20260707091039.2574638-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1783415558842158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang The SiFive U ROM reset vector data needs proper 8-byte alignment for RV64 ld instructions. Without Zicclsm support, misaligned loads will cause exceptions. Add padding to ensure start_addr and fdt_load_addr are placed at 8-byte aligned offsets and adjust the load instruction offsets to match the new data layout. Signed-off-by: Frank Chang --- hw/riscv/sifive_u.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index d923f041e06..4c05d94b971 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -562,19 +562,20 @@ static void sifive_u_machine_init(MachineState *machi= ne) 0, 0, 0x00028067, /* jr t0 */ + 0x00000000, /* padding for alignment */ start_addr, /* start: .dword */ start_addr_hi32, fdt_load_addr, /* fdt_laddr: .dword */ fdt_load_addr_hi32, - 0x00000000, /* fw_dyn: */ }; + if (riscv_is_32bit(&s->soc.u_cpus)) { - reset_vec[4] =3D 0x0202a583; /* lw a1, 32(t0) */ - reset_vec[5] =3D 0x0182a283; /* lw t0, 24(t0) */ + reset_vec[4] =3D 0x0242a583; /* lw a1, 36(t0) */ + reset_vec[5] =3D 0x01c2a283; /* lw t0, 28(t0) */ } else { - reset_vec[4] =3D 0x0202b583; /* ld a1, 32(t0) */ - reset_vec[5] =3D 0x0182b283; /* ld t0, 24(t0) */ + reset_vec[4] =3D 0x0242b583; /* ld a1, 36(t0) */ + reset_vec[5] =3D 0x01c2b283; /* ld t0, 28(t0) */ } =20 =20 --=20 2.43.0 From nobody Sun Jul 26 07:46:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1783415535; cv=none; d=zohomail.com; s=zohoarc; b=OngNxcdjye7TJ+QFlciv9xDo5lvFQa/StcRbKeisOMZ9q176B1zXkFLgNwPBNtvWjj5vQKG/gr0x6+/hOxxUg9f8Ig8YQUU8lJWL7PczZOX9oNjTkP8yOnJH5BdWqE8PTUf3mlOqelKNwOfaDNuycMrtcf/8ERaHtRGC+J/SBf0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783415535; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oWB1VMpEOQWXHjt4fAXcLPtGgLfNKt45L82Gan4wey4=; b=GggbkzI5YHSK9TVwnr6MQgLrOLpNZBLkztm6hh458IrMj+4RejHTUSNKTpRzxoKAY2gIl593NzGHdTaA3H080K4cOx5qljn+GcYFrvul7qSj4Re8ztMryiLBKowzez8muodrNLKuuzn1JvCPx0tsyB8heqD9FLY3dzTA2zAfLtE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783415535754228.7866560239513; Tue, 7 Jul 2026 02:12:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh1po-0003dK-UA; Tue, 07 Jul 2026 05:11:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh1pm-0003cv-Re for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:18 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wh1pl-0002JL-A2 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 05:11:18 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-493c2b3dc8bso26975765e9.2 for ; Tue, 07 Jul 2026 02:11:15 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493e0f32660sm41004665e9.2.2026.07.07.02.11.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 02:11:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783415474; x=1784020274; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oWB1VMpEOQWXHjt4fAXcLPtGgLfNKt45L82Gan4wey4=; b=c+4HMNOKRC64T1bigANxJ73bKTJkaegouOvv0+cYHH54Ope9ic/qgZnMVMUL5MSAjC K+W+1iQDQJ3t10zRwwjq1uzgUIyh98QQ197Xeu7PrivGb1G4DZ9J2tkmYHII60P8wyve xD70OzHWZxXiASbzPLxevQTIpopUXUUm9YKzOowzsSIhiEMQzsdo0G2TYBYX9cdx8aZO 1xf177PwUWfT2nPFtu+YkWQWnVDmq4qcbuEYsnT+PIEqT22hBdfjWFu/MvH30z2mgFtZ xdfJge6V2PGc1Lht93otvenBhgw/BJ37HvY4DXO1/1uWFeGlJHk2cnWRUug4/F6MLGrl Iw+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783415474; x=1784020274; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=oWB1VMpEOQWXHjt4fAXcLPtGgLfNKt45L82Gan4wey4=; b=Yqnw2TOsV0dWzwG6dF+JeTlJESHgjCNVWPKI6DBf3HDh2uB2vdmbjgS46AM/SJ0VJ9 78K3C4jVV8hlc5y4XNSPcnn8lq49avdmv7Tpa2i9DnGKB6wlz5e2cWGjrvdUWKptybqS 7+dPufUjwaC9zvaSQ2/p1/qpMBtPXIi5tItCSKlGozbjZdFBYxgzsBGpXdccs3okFxFW +Ka8G6zcjl4eU+Jm60/V5ibFXI8yBHJU8J6staoY3XRCkDXcsxMaLnHcFWfghPm2/hAc h3SIbEXzdnm4x1U+ldQM8jMy1gHqYM9pgnRS8SqIXaiEObfIHtHfuvTW7VWR8V9NgCO+ 0qeQ== X-Gm-Message-State: AOJu0YxAZQosaqU2nWuByd9zfyn0/XBGbicOEJGt+5lML/3z7/6aGBkF R70y900aAvwSWvdUDsddLYC+5YCTN4pXw9R1yu98rw4QE7N7USqFbSuzdhz4ceMly+KS9iekCfL 8fQpSxeZjwipfGK5zr6GAxY01tb7V39UCUvrIsErqeGI5W5zNCWUh88ylZkHgM7TUrkPM4xKG9d ywxGm29sIkmwfPZkDcPIib+0aVFuGwpHfZ+JyPwP9EevqQvn9m X-Gm-Gg: AfdE7cmwN3MFuLWhLiZWC1uL8WX0oxhyVEHGFqlvfE/bcIRpUz/jMCE/FJ0WzayxOWS NC2SJr9Mp0EIfjfVaBGXVBCJBfzCJ/0QfvWdw/b1vAmKEksK0jCbiaFO8IfAjAELhVKj047pvcw 3Cz9iTWUtex9h04xzVafNrqLhCDVEVfC80LR/JRYB/alGxJg8Q/AMugVFVTHi5IEa44s2aZ8VU/ xQKvD6DJaax7dzrwTXwDhlwqYN1EXlP+Gt7fKRFX8wJyjxmUfJHvcKnfjOX2fIUAnp67gDCvqxW qiyIMJoYLOPr0hFGxLWYpJUF6rIJupG2BTUltrt+PaDG0bUe+UGxEUJR6Hq5D09jkEzf5CITLtv ZI4GrUuZNW1mg5Eun+PAB+GzczT5nYtzcvh3JYM0Qh8FmEXoxCufakVc5qv1VkBMvyY428rzEU+ UbydsdiE93OP92nLsZWiLogRj2D0NH7GfKo/I7uJlG6v5+G1dtRg== X-Received: by 2002:a05:600c:1d1a:b0:493:b783:ad59 with SMTP id 5b1f17b1804b1-493df07390amr52428215e9.14.1783415474375; Tue, 07 Jul 2026 02:11:14 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang , Max Chou , Alistair Francis Subject: [PATCH v4 6/6] target/riscv: Update Zicclsm ISA string and expose it as a CPU property Date: Tue, 7 Jul 2026 17:10:39 +0800 Message-ID: <20260707091039.2574638-7-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260707091039.2574638-1-frank.chang@sifive.com> References: <20260707091039.2574638-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1783415536543158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang Update Zicclsm ISA string and expose it as a CPU property to allow user to turn on/off Zicclsm extension. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index a3cccdfed3c..8735a5ce846 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -144,7 +144,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(zicboz, PRIV_VERSION_1_12_0, ext_zicboz), ISA_INTERNAL_EXT_DATA_ENTRY(ziccamoa, PRIV_VERSION_1_11_0, has_priv_1_= 11), ISA_INTERNAL_EXT_DATA_ENTRY(ziccif, PRIV_VERSION_1_11_0, has_priv_1_11= ), - ISA_INTERNAL_EXT_DATA_ENTRY(zicclsm, PRIV_VERSION_1_11_0, has_priv_1_1= 1), + ISA_EXT_DATA_ENTRY(zicclsm, PRIV_VERSION_1_11_0, ext_zicclsm), ISA_EXT_DATA_ENTRY(ziccrse, PRIV_VERSION_1_11_0, ext_ziccrse), ISA_EXT_DATA_ENTRY(zicfilp, PRIV_VERSION_1_12_0, ext_zicfilp), ISA_EXT_DATA_ENTRY(zicfiss, PRIV_VERSION_1_13_0, ext_zicfiss), --=20 2.43.0