From nobody Sun Jul 12 00:42:31 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=1783663813; cv=none; d=zohomail.com; s=zohoarc; b=gKw/K7+TcwprxL2/CYn0xScWhtPsHjJV4t0sJOZUMXlrlZ9hoz9hZXu+nkPUoC1s72wFJxs9UJNEmBpx2bJ3Mylw5vHrahlSsJmjyGf1yD0i7odymwT1oqs+34tSxE0I35dXOYsP+HiMB1HTXxeXQ17Sl02JesrvOJmRawr/hqo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783663813; 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=f8f8JdrIF3rMuNOAYey+WGOAesDQ0Dv5kce/gxnKjRyaFpvEOzARNg+CqGwkKqQtMiOc40T8v2/vbGCQTT7Ifh1tcBFq0GBk90ymb/qG8KoNyk05KrnPPwSW74gzKsHnxfIbu7Krv+ixkbdT5VsoJnRXm2h96So12vCPg8WScPk= 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 1783663813315156.13274522778988; Thu, 9 Jul 2026 23:10:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wi4Qg-00016t-4e; Fri, 10 Jul 2026 02:09:42 -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 1wi4QZ-00013a-Rn for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:35 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wi4QX-0001sr-F0 for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:34 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2cace7da66eso5672495ad.0 for ; Thu, 09 Jul 2026 23:09:33 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d59e33sm53344255ad.74.2026.07.09.23.09.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 23:09:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783663772; x=1784268572; 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=9Gykh+5P8EC5j4uZxNdjyOMe+zEXw26y8NMVO5QDhqI=; b=XGA7lzMNiYE8g01AQjE3iUjEtTLpC1mZ0V4/zmcm3jhJPmx4UK4Sb7fxDmJkmMw6Vo I+SpKDNWb00+AXIWIukwb7fAYm2OyuxgD7nApenavbGI7x4YhaMQKD+0XFbkIql6/8el 24+p3kXpTvtoKZH8W2tegmPKc2Nuw3FSJ8Wuxd1aoNGxdGGM8CaLjvyFdaBEXK14Kyje mG1DSYdRqTEgmkuEQNNvWxf+yJi+ud4VAQDlx07nRmnIr7jNspYW1vDeIPWlwpcBIgtR NsACCK76SSCAEMNxOa1kW7S/eWnW9U+WwcNfFqJEyMEK+IbcTG1bXgbMolqtewoHI8eq DxUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783663772; x=1784268572; 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=9Gykh+5P8EC5j4uZxNdjyOMe+zEXw26y8NMVO5QDhqI=; b=GuG++mAI6P+0LXW3jqJUO+tFRIxkrAYRxo7XmBPT1JH1Ata9YRWeGwq8uvQHtowU6z WKOSnFlsN57si0wP96CR+CbA7Av76tPp9aDBSZldJk/aLwVFd2kyAC+rkzRpkS/jKAgP +kT8Ybu2NzrQKR3IO1Ur79IGvbHZIgg/gUrwofrmY9E5SnIHS9b/LfE0baAnzb7k7FZp F827LjzrzkoH8X51A3nVd7+6+nKzj6okl9oP/0ppK3jAUz4011hy40gUYwGhQEgqDld/ AhQbBEAmlqX+rkE3XgGATD6ZFsxF7F+4lqoKXE85wh5ZOJ0ucyANH8Jw74LOF7A8z4Wm nZyw== X-Gm-Message-State: AOJu0YxiCZtoqZtdkEKo38cqaYFOl2R14bElJevyOsveeDoFob++RjxJ gF/Baxh3bNZBEo/5YDkMHuuG/eW7LLTKWP1QVaPXRFAfDBB9OQHdCT8+5SFa0CfWGt3yltgxM7V MVDA2IPhvxT/EpTtsr7XZ3WACgMWLmlMOAZ/9kveMcqr+/t/G/Gza9MlxmEpu7Qcpw6obdqc5Zh JF19DMgUHWBp6kqGOCL4JQp24KYRbGh8eySpzDma2/B4uLu1Xx X-Gm-Gg: AfdE7cll9QQbYNCKiIxFodJDyIgkAsIy7+tRH6qrQAGWVg9yhzH2GIuVdkC2VaO68ll D3hOIqlQy2FM/g3kL6NPTKf2rZcCzePcLeXnch1Dzo3i1m6q6gvbonUMG1XybsqdzjaP6eVzKHq byKK0wJi1lD66TJiSCXvROY8fL2Rgw31Wo/6qNP18VAOb8BGC8x6s5Jvk0CtxFrOQE7ePB5hvGe 3wtu80ZkTpqZhNp285/p+SAf48L8FYan9I0bgqxnWB+IJSzbjwI0qrVkwQgEMRb+mPpbw5dgJh/ IH92C66a/PTMeLNdLLl+fSOM+DMC0skhbmFWeZ5kfJfpdk4Hg5qCfl4OEc0cVWELOkLAzEXVwkY USPykYYC930ZveoG3k06G0WL4VQQHiHg6OyB29znkarm7bwvlElgtl6fOLXLfQG1oX2OXe+ogzZ 0f3MMldPbNwg2zuUZIJhUWmqKOVI2CRvqHjGwtx5E= X-Received: by 2002:a17:902:c408:b0:2ca:d172:7228 with SMTP id d9443c01a7336-2ccea38767dmr114367875ad.11.1783663771850; Thu, 09 Jul 2026 23:09:31 -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 v5 1/7] target/riscv: Add Zicclsm CPU option Date: Fri, 10 Jul 2026 14:09:08 +0800 Message-ID: <20260710060914.1227027-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260710060914.1227027-1-frank.chang@sifive.com> References: <20260710060914.1227027-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=2607:f8b0:4864:20::62d; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x62d.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: 1783663815757158500 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 12 00:42:31 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=1783663816; cv=none; d=zohomail.com; s=zohoarc; b=UkqPNkLHvl5WhQVqzrceggJV8/I9QlK5K97VLxKb3L9D5e+mTvVS/ay+1hi8TuxJLzu7Jvby9S2SK7evhGvtqwfwyWUjuxcmSatgJjTIp2Or+eUsPbmPObUWDrLPugf/4lbs3+9h+woC8aLUYsIWCg3321wzcLANeiSs78CP3vY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783663816; 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=l24jeh6mL402UPS1PQ1PqKY5L+GWjbvAW1P9ttSr/yU=; b=VaeCj++qA8JHnMDWkD3KoN1J/C9G+scC/au+Cb2lsCWA+uzMJie6P4DZRykBRuDtYERkcg602izyzSifJNvc2D1n7dpb68oBT20n1/kwVKMcwCZpWXoPwVMwc7EDZ77LtuxpKbQZFUlUN3TOugY2GNpjlPRoor/l64wEgo6ETSQ= 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 178366381657490.11261446607523; Thu, 9 Jul 2026 23:10:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wi4Qz-0001Bp-Ht; Fri, 10 Jul 2026 02:10:02 -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 1wi4Qb-000169-Ml for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:38 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wi4Qa-0001t7-8R for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:37 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2cca24023edso6352515ad.1 for ; Thu, 09 Jul 2026 23:09:35 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d59e33sm53344255ad.74.2026.07.09.23.09.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 23:09:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783663775; x=1784268575; 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=l24jeh6mL402UPS1PQ1PqKY5L+GWjbvAW1P9ttSr/yU=; b=IImzeWdvK6jG01E/mLCK2WvMXYzNLLb6fGRi4q/5+if4UabJsTzLOEOCPd3wCZ8u8A HAXL9YzNlqtAYMPavXfHmZ7hdh8oKB/ECo7oNErx6qaOKFbCYiPdtHyT/Sl9BInhKuX5 E1zu3okbCW0QXeglOhCWdqFfvao0EwF6yPyY2GF6g1ZgNrkjoR/jkGnV/9QdNrl5yL1d 1F+n9Zx4d3ffQzD6LZvQpIU0sunrnysCrgvCEM5fq/N6dIZ51Pg+rp5XwB+Lpwi0pMGz VVGBy5VNDquWoLWG0k3I8/qUvp/doREcL1WuIM8LZoJnOWBWDJBpsFqENWczZ5QYM9oy CgcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783663775; x=1784268575; 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=l24jeh6mL402UPS1PQ1PqKY5L+GWjbvAW1P9ttSr/yU=; b=aFF2++E99jWqmM2pVrJoAaUMPgnXZ9hFeCG9nqklJ9fZ9I2Z2+f2dJhilt7z97+j+j jAUknbpAEawrrq3xqdOpr8ghshHmUoZaw++HXd8nz5DwKgpTWESwd99mStXotYwAKAMi u6oLC6+zD78Xlz35/8crBFpWOHnoPDr7sUVbUyFRuVCSY0tabe8tG73V3+VMZmDym0KJ mzS51AuBrVAUuHne/LqOY9s1esKzzvK8URRUMBLTMij+YumZuda07N8bO28WfWBWL7bq g0e4PlPyTkKaZh5UrZI3K8TJ0Kn4rxFnJJisVROnyb0JfKywuyQb8RLI9dyn865wX27l seSw== X-Gm-Message-State: AOJu0YydF5n77RaI3jXtjFtCVbDDWCbALhyQk/rekT6BgzaZZlPj3OqK o6QGBo8nk1EAiMvom+uB8yln4NWx3KJaSwCDgLnDEa+78gtDsIMX4aA9ya63BE9NgXYLIbkSXZU PClc+89Qgazpm4ixD8dmFkmDNChTwYzT5pKR9UR3DaAzix3VaNeEndCbIqyyAxLLe1BwWFK+33A G/nXK4wQZCF6Dhr5bmNkpl/Q+9E9+8VyLKWU4G6jF5QQsGnl1Q X-Gm-Gg: AfdE7cnz7h+UtQ/qR2QZvA+JjuZzEP2dNxCHdyWmd2Q7rOhhJFZJWsEG+zdCF0cGRcz vCLRux52MSdf9WUDN34J+n2JPBMUfkw+JBsNaWJxj29X2PmEa5n0Db9dWVar2nkt8yTQ3Z6htBQ eFiDxdXdQf3/X8Mq8sbPk2OqRz2aVUkmvA3GNWfLc6/cGMc615BhdzvYJxsuv3qSWlj9xCGRwzh 4kJ0FgyaNsk/RMsjd8JTfwokXCYnWvKZQokCsYpQ5mUqBM472SPBHEt+ZN6zYhhoK99zimL+SHf 08NYXyN8VxogGLX+opF7ON2Q9h0vLntgQjtRekeNAfofIpB1E0Lp1fiiYmz9d5FYdKybAWFlfiw YWVxrm8CsHANJM519UlSRrc5QdREYFCxSpV1hCwYedLsgM+I9No6OzRCFz7H0t+iRrvywW/84iJ 14kvRxRSl4VATn/kCe+608FFloaaZPtUVdqxL0OBk= X-Received: by 2002:a17:903:1a30:b0:2c9:97a7:71ab with SMTP id d9443c01a7336-2ccea4892f3mr110072575ad.38.1783663774620; Thu, 09 Jul 2026 23:09:34 -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 v5 2/7] target/riscv: Support raising misaligned exceptions for scalar loads/stores Date: Fri, 10 Jul 2026 14:09:09 +0800 Message-ID: <20260710060914.1227027-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260710060914.1227027-1-frank.chang@sifive.com> References: <20260710060914.1227027-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=2607:f8b0:4864:20::631; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x631.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: 1783663817487158500 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/tcg/insn_trans/trans_rvi.c.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/riscv/tcg/insn_trans/trans_rvi.c.inc b/target/riscv/tcg= /insn_trans/trans_rvi.c.inc index e47b16a7fa2..cc1b5dbbadc 100644 --- a/target/riscv/tcg/insn_trans/trans_rvi.c.inc +++ b/target/riscv/tcg/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 12 00:42:31 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=1783663910; cv=none; d=zohomail.com; s=zohoarc; b=FykeD/cvsME39jT9ds/Ib63Jtg106ekisLbp5WY0pXWBcUEqKwqHK3AZRPqZah8tjtJLtgOdAzmDCKaGq/qUagOFqgXvm9eHdwEd/LXrRC81sena+9VJt2bhL9UBfzfPTBh75QNcnHHcjkE/1fGh1XEbn7OTVP7GAG6YTvsQ0Cw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783663910; 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=goBibbm903IrHGlQ25HxbHDhM5i9maTD/frlb0Y55Zo=; b=TQw7ypCiuiJn6QhofNN4t0j7jJC8dk+cx764rVAQ+QFr6GCIcCyF/0d8PWJg5+9lTNT94kdbCMiNA23Et1DcBFRI0Nf9SjQxSK2LSbH0l8hY/js0gP5kpn8Jx3+VDzAySwGjyj9MiX2BuiOQ5ZyAZXhzGae2P/0bL1J5vCLhMwQ= 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 1783663910591785.6856274303769; Thu, 9 Jul 2026 23:11:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wi4R3-0001F4-A2; Fri, 10 Jul 2026 02:10:05 -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 1wi4Qg-00017j-H5 for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:44 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wi4Qe-0001tb-6o for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:42 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2ce87c7e3bbso3796605ad.1 for ; Thu, 09 Jul 2026 23:09:38 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d59e33sm53344255ad.74.2026.07.09.23.09.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 23:09:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783663777; x=1784268577; 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=goBibbm903IrHGlQ25HxbHDhM5i9maTD/frlb0Y55Zo=; b=JLPMm1Ky4u0ZWns9oDStOM8HyXFbMdw8R6lq/h9zCFZXTlUQgjrc225yJ9+/t7Slk7 6S699NQlA+bTTiZdORxv3RMI3c3wc3RlW4FOBB0z2eV0vhxL8pxVqALRhgE6FFd1xGX0 wA85opmkUwoNF3eXoEoasSPu7hn0nJ10Qx/hA2xTMT2xjFwW8XIppnAKNGrQileTH4Ge qgUueINr4ICUrN1L4VPtkd+M9J1YevTSUc0SO7pXArN1QmYDBezP/TpCx4slBBhH9Nu5 kJ/gJ54u4pmIeroqZ43mlCAZMC2bNmsHMSDl/yNZjGMO9uYFait3ff+3yvGtR34rxA0s C1Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783663777; x=1784268577; 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=goBibbm903IrHGlQ25HxbHDhM5i9maTD/frlb0Y55Zo=; b=nEinW1g+tN4bPBH3OrjPPxSipbNuizUolp/1ikAmBsraJbxxCCFC0UGYN0T3mbVgol N0fzK0O/c4cM8+5cmQdz1GLwJIEphk5Xp/k+GjHMaW9Pctt1HCoUOwJxw5ILM2Z+vXNg 21g2Vg3BReQzjFV0hupiZKrzlgMqXGNqiYYsMy67SxASmf8n8Z3EvrMQjFZ8AHGA0nsK J7lXD9ehe6V30tw5OSq2EEpzuvpeHcUTLXD7siqmWdYh5e8GXjrt0s8iTTKZqLmgh6Da g3Sn8C7XPhy8lyNZny/A1Q7cYId1+Lkep5V1qJ+1/An7wAFrt5YcYrs5cEkq3lr9pP4I wqXw== X-Gm-Message-State: AOJu0YwjkEl33K5FDzqTBt/Vjo6gwJXMDOqvdMr6DqL1WjpuRAPI8ReI ulokWX/nphR2ASrXWgNFBCQ9hxaY+13dQvaLaa7FtPrIu567lkYnSdUYx+PaeWzKiZ+g9fpNHfg oGeiUxMZ+UzOXUm50L3tZ4h+XF/NOBgKIpvTjvfm+bK4L/BU6Djk1pkspQxadJuFQ3hD2hg9UNp EilZOCexwBPe8OMd7Vm82UrTxbnBzPsbJNwfsKojE/k4shvSRk X-Gm-Gg: AfdE7cmKIXCdTb6xZtpxODKfQqDdWRk++mjGNZdmdplNBxQctnCBUyC+/MzIv5Jz/HN lPCr9g1bRccjOteWGNjJ35LKxUz26ZhedoqWrx55v2vmAvbvTolZj5uMdxN8AW9b22qQN1g2EIc Y7xVw9iyH2HH6/RoCAi+AY/vPBnptv3EXiGVx56afRs+jgMo1Wc5Yz+yQDxE1E1Si+AjRRByahP QEdE9mqkvo4+hDR3H9t2fmISE/lzLstHqa0PiwnkY5vfcrPTGLeg5kagNDmB6ad7CrNNB3DhWoW AGCWsAT/8U75n2FfrbjnJx71zVZJsj5TgIwiFDQBcj0ViGE45E82RjwlUIAArBTso08zH9TCw92 sin9qmZGDfKtVsnaqz373LKEqj3ZHXnCXcpiY7nYjDrwgmbjoDTiLlv8gsMeIioKD0J5MD1EjxV vVioYerjTDV4srQx5aK9M4w8REHg0M7/8o4JurT7g= X-Received: by 2002:a17:903:11c7:b0:2c9:deec:f564 with SMTP id d9443c01a7336-2ccea373a8cmr110909905ad.13.1783663777346; Thu, 09 Jul 2026 23:09:37 -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 v5 3/7] target/riscv: Support raising misaligned exceptions for vector loads/stores Date: Fri, 10 Jul 2026 14:09:10 +0800 Message-ID: <20260710060914.1227027-4-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260710060914.1227027-1-frank.chang@sifive.com> References: <20260710060914.1227027-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=2607:f8b0:4864:20::62f; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x62f.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: 1783663912013158500 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/tcg/insn_trans/trans_rvv.c.inc | 18 +++++- target/riscv/tcg/vector_helper.c | 65 ++++++++++++++++----- 2 files changed, 65 insertions(+), 18 deletions(-) diff --git a/target/riscv/tcg/insn_trans/trans_rvv.c.inc b/target/riscv/tcg= /insn_trans/trans_rvv.c.inc index 23262b1d036..a22e2cae6ce 100644 --- a/target/riscv/tcg/insn_trans/trans_rvv.c.inc +++ b/target/riscv/tcg/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/tcg/vector_helper.c b/target/riscv/tcg/vector_hel= per.c index e321ca26161..e28d8a3d9fd 100644 --- a/target/riscv/tcg/vector_helper.c +++ b/target/riscv/tcg/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 12 00:42:31 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=1783663891; cv=none; d=zohomail.com; s=zohoarc; b=C82gfq1vdedRc+dif0I5uN3kiJK/IMEmFcczOs0zKBYAUwcWEY+/cqf3nsSFwV//jin/h3xTJNaFKXpbo5F+wwZF3e9Np/AIdJwwRDHAT1Q1NsLEjL+lwK5ZeUbviSOu+BoazIo83rH+TCL5ZPJ4Bo0p/OxlBFokzWeMWOqEpSQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783663891; 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=QdAr9D/AKWbbgVhux8nSZTA92u/F5FOChbkl4ZDK1HI=; b=fjLc6ToTKabNAKdKaQLrHn9o8UTzHUFDznHdywNtOZbe2wNDdZgwYgG7nXEzNfU1uuvvbQpgkDZzwTJnvAD41XB670dK+UojJ/9tSYz9zbjkLxY/5cFSs6JhWtnWy5zN84qsSvJUgPAcaGgQTHQaZzYBM/Vgp7G7kPbvqgp06RU= 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 1783663891495556.568762769914; Thu, 9 Jul 2026 23:11:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wi4R4-0001Fq-19; Fri, 10 Jul 2026 02:10:06 -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 1wi4Qh-00017l-Lh for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:44 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wi4Qf-0001to-CE for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:43 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2caed617615so4898995ad.3 for ; Thu, 09 Jul 2026 23:09:41 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d59e33sm53344255ad.74.2026.07.09.23.09.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 23:09:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783663780; x=1784268580; 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=QdAr9D/AKWbbgVhux8nSZTA92u/F5FOChbkl4ZDK1HI=; b=iKkl1krAs3LtTmiGf7eSqgygWbH6dpQmZxFwQD/TaI69T8X5lDeF3HBiGAI96u7wuf 45zIUASKnu6MstwWMdqOsY8jrvl8xZgzHky19ELU4TE9QuuKbb5w56/xPczrkWIoIfaC oTJT2KpvbmcAqxo3EQ4DerHkVF8xLd7i+OjcFwpOL+PpbuiF/U/V+9/jfGcGhXNsB6EL ZfcFaZ1DlgauZPBIAHCdcsaJzYATzAsjhnx2SKrudZpNJJffoEyHm3jbHi3iFi8jmrk5 MBTnwg9j8Thc8k4HtN5jJZpVpUfOaKyE9MMJ9KEv0tVG/T/QTCuIqpGvFzT/3bmDHXcO 7TLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783663780; x=1784268580; 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=QdAr9D/AKWbbgVhux8nSZTA92u/F5FOChbkl4ZDK1HI=; b=VcZfXF+swvvoLV0sIFwPmY9P3YcdjDWBX1+7yj7Gm9bV+TzSD9uW7kT7ZUVOKWNqgg aLwZkgiAcBvtZRzX+rNu9WpK9gS71m/rJ74CSmGnNsC2Pxz+YQGxjAKDXzRNEZIECKzS /1cqzsTbYs1evgzC/aQDXb1aFutocVeslS6trfn14+giBFrWhfD+uyElbNKqVZ3PhDRT XZEBPn5YShVZjlMpd9Od3VrdsWhx9K/iXIJLkv2AIsvM8TlzxdbZJ6UuYY4uyBr5G78z 0F5j0agR4NSv/9KZTCwBwfzbC7mVvIoPbi8rS59w/kxyzgYQpvx9g7IdlWfLb1HY8p6A JxlQ== X-Gm-Message-State: AOJu0Yzb9yPSWxUnIGI2Ziv+kVLkbz6hiM8plTxolT5Sh7crG2kPy8Ag 9g66C+M3Nltt4+RnT310lunp1Y25PHkA3AOOfo+PMKyeLpiBvwrcQYzm0oUVXsjq97Pj3Beswv3 HOXVPtY8VLOl6KOdceroVq2uYQi0BKNfO4q+fb32dRGfdH0yJYcEmNbFv1KgthDJqNvvvXBeiP2 /dESqS8oZfBOB2hHfUBCobHwBCtQ3qA+pUIa7E/FN8Aid26nKu X-Gm-Gg: AfdE7cnV4bkmc7lH5HL6Jsp5XyELcX62GcpehAO24D2oTjau4LdPzFPnXzq5LCNk5Ua H52wSpy7K1Pph5G1f6L4LRz4tdwecGUlciz37EiNVNy49KRlkls+w80k5KOn+BeATfmVGMDAEFa bcxa48mFwUjGJTSSCcQPUeIokoictqDXFNc6nxUAPvsQUE7pvwY5sJQNy0sVcQnlGmHlZ2aGBAb JIv/nOMlONDemSHGxFFoQ8KroGGdraUd8WMH6kY9gUhiRfNG1SqW7WuAlP7KDkhWAqGYURMxrx3 VIyta8f5wymQxSEJvdjpkorVh+S63aMt1g8jzP7dims6bagY8qFKplVTVmv+uBm1OrwYen7upT8 NZMQjN4zPJAdv5irAYmEHLZgOdAqsGhtNYc+RV5TahMIf0JnE1lZc9YPipeEs2DxPcW7rt1pbOA uPSM8773QAwk8I8I87jnLF2E9mnEAcW8t49K1cPnQ= X-Received: by 2002:a17:903:1670:b0:2ca:52ce:6f74 with SMTP id d9443c01a7336-2ccea464790mr119302695ad.29.1783663779961; Thu, 09 Jul 2026 23:09:39 -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 v5 4/7] target/riscv: Enable Zicclsm for the compatible CPUs Date: Fri, 10 Jul 2026 14:09:11 +0800 Message-ID: <20260710060914.1227027-5-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260710060914.1227027-1-frank.chang@sifive.com> References: <20260710060914.1227027-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=2607:f8b0:4864:20::629; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x629.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: 1783663892047158500 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 5a82e6563bf..7ee89f6fc4b 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -3268,6 +3268,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, @@ -3340,6 +3341,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, @@ -3426,6 +3428,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, @@ -3469,6 +3472,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, @@ -3518,6 +3522,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, @@ -3577,6 +3582,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, @@ -3633,6 +3639,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 12 00:42:31 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=1783663910; cv=none; d=zohomail.com; s=zohoarc; b=MGy2ihXrPVEfvKv3Z64YrPYDLHAwvjhODcvXmttO/rAMawC5XwQaNmcPkqhK3IGDDXTa7aghN5Rs6zkuvrgqAkeLVqO7p1smVetB3Ym4/ScEy3SCyJOvO9PQzgE8WReXCy28nYxKaqmb9NcnsJ559EHAAqF+3N1Kgng55QfXTx4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783663910; 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=Qi3Cab8K1e60CRoLYMLAsESl91lzJkvRFZK117KQQXA=; b=UgsZGUTk0XKdK3f1SEs2Cn73fyeA8ZynOFGJvnRzWf/z2YTkzQpqqdGKiuLpaaXhTCaGD181YGUUIebGsAdylFyvFiThsG3GF/LI0wBhj1sR6QYyoGVPsVVVSKlPBurO6B7sK7VX0bFtbPa8wimBfLPIy2yJ4M2rTYXf1M7c7T4= 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 1783663910500293.82088577745765; Thu, 9 Jul 2026 23:11:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wi4R4-0001Fp-17; Fri, 10 Jul 2026 02:10:06 -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 1wi4Qj-00018A-6Y for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:46 -0400 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wi4Qh-0001uE-QY for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:44 -0400 Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-385ea3ce80dso759733a91.2 for ; Thu, 09 Jul 2026 23:09:43 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d59e33sm53344255ad.74.2026.07.09.23.09.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 23:09:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783663782; x=1784268582; 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=Qi3Cab8K1e60CRoLYMLAsESl91lzJkvRFZK117KQQXA=; b=WqqV0+ESnkEL25enTzLdQRTP3e2WuIb+9lKlhyGyNvzxePNy4XtgUFs9H0S5wZHxIe wyzki12+Lq7ZxNdiBNBUzKv6VuATc9JzRNhfVCfER84jXCfZ//zyHB/5r7wAajEETFG5 rxmxbQsCwF8UrvhVkRYXZP3JTF1zpxfeeomZ4GrWfEVAgrsTJer2rbqaN1/PqvQ+lzXk SY+aQG+68/i2P7CxjK1c7IOX40ITQx5CBiOrxBeoINvD2KskcqhHNcw7b2HTomj/t5ty R7fiFPFkNq9Y8yh1/jW9wcGAZe2BYV1XFXwl3FcKDZXKxDRA1/3UgvG53efOzWNA1+99 J2jA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783663782; x=1784268582; 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=Qi3Cab8K1e60CRoLYMLAsESl91lzJkvRFZK117KQQXA=; b=sOkQ8qxDUWvkheckEyymd+lQuIS0IwUa5JDthWQx8JQB75DdFIOMhtYN/FaCdHs+TW fUKuTz9q7bYi584FZpfwWySCSTSBdQOnWoBJuXkFe/iKg+7rE9uWThQn6+PwxXH4N81C opuBGoqv+pdImjAE5/yw5iqEjosqg59/7hrPn83SMY8vPS1p5U8h4YrDsZZ45eb94hUF OoCvIMy3HNde5Wmlt1PKYHLkOSh3nBiDjU4gjOQOzzyar9lfFoleX5f7/VikRHjxMqO1 bsNYpcDHu1ZWyyVExmBgnPxInihpQpGQXwg5p+F/oF4GFdG5gwjcEkZBzQ+hJdaKK4CI AfLg== X-Gm-Message-State: AOJu0YyA5SvfT90DMVyIz2zXsUjHHej6HeFgCTeAk5bTBAkuKh5jq0oi 0dprmJ53/tT0Tww2q4mK8WTgLKMx3u7O0RfWviuLzzwZREBfcpLXdmo4RGnwVGVWfXRiJUWr3dx MOsRVfC7xvcED2UqrGSPfyNPGH9vsjDQZF7/UQoTcdeJcGHsW3vz9IVWBPoLHaqOh93wRCnDbgk LWtCz62yp3MSYjcvUl7Bof3geNpxRGZldlIgB6aWkMScw0MhZU X-Gm-Gg: AfdE7clP6DscDx08tTjqnCEgVSIRNwMCblVagwuFAXIZrZL0JOso+AfWBBcJKSgUuud t8OyTLw15GaXM+pIAAzminqFiAhrEiTTv4tGo/5uE/R0ai/1kXg2q2e9Wh6SXYDNWo5qe3dnu65 o6GsiYQcGQgfu9qw9BtPXEWdKVE262mKoq6bdtKc+/0zrsmrFW88F09XQpb6wPtXTZkXuyysT4L 9KQjpHMAocxhO3mGQKX5N/NmXhf5ZpaT2ZCxkjQKW3cPff1cNScN9kMu4DPmZTce/1JT9X7dW/d RrPg1axgL6YbMsFErgjVPbgP2CagF6mle0K8E1cVX2S2xfPUUhm0bdovr9Vj6N8j2xgqA0fUo0z RtzOvvALSK0YpkyPrk8YYf64GZpD1etWvq0sA28RDgg1/CpFNFamU7hLmEEqT9NLDUNQAhX32rN OZcXHCjgdHbIPXX0LPiydkBT3ORKS5G7a1C/yMnU0= X-Received: by 2002:a17:90b:3946:b0:38d:56aa:6f32 with SMTP id 98e67ed59e1d1-38d56aa73cemr1388335a91.38.1783663782373; Thu, 09 Jul 2026 23:09:42 -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 v5 5/7] hw/riscv: sifive_u: Align ROM reset vector data Date: Fri, 10 Jul 2026 14:09:12 +0800 Message-ID: <20260710060914.1227027-6-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260710060914.1227027-1-frank.chang@sifive.com> References: <20260710060914.1227027-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=2607:f8b0:4864:20::102f; envelope-from=frank.chang@sifive.com; helo=mail-pj1-x102f.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: 1783663912034158501 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 99423ef472d..57a57c96e16 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -564,19 +564,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 12 00:42:31 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=1783663836; cv=none; d=zohomail.com; s=zohoarc; b=TBVO1W4ITm3hnMZBAXmt/RL7F2g4+KWTc5DLAzK9cpnRLOXvFrdsoRHwRpAr9n2Jufj7qJ13SjkgZjOeTJpA2KpD+pR2J5zyimvnV4V0fR+25MgzXaWgS/P9L3eVbm4QodjTVQX6UGAeMVbBExzo2217SSD00DLzrmwmRKcXkCQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783663836; 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=O/7FEaWq6GSW5DMyLSgoZ6CKEjGk7z8oVAnel2Qt41s=; b=E616wv+YTn4GJsBmq57vMPtf+fWYISctDctK3/fGwWMS05+HjsfKMJkn5q6xRkVlcUYRe0q8CyWh4LDBz3dk2oDsq+VLR7Qsk3kokA04qDASy9dcGHS885EGUK9wtPq7y+3t2uTeYxcintUe05FcO4sbS4c7nsNxMwwPlKItgXs= 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 1783663836268141.9333997184085; Thu, 9 Jul 2026 23:10:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wi4R7-0001Gv-R5; Fri, 10 Jul 2026 02:10:09 -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 1wi4Qm-00019D-Ag for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:51 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wi4Qk-0001ug-RM for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:48 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2cacd69a9c0so5051495ad.1 for ; Thu, 09 Jul 2026 23:09:46 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d59e33sm53344255ad.74.2026.07.09.23.09.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 23:09:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783663785; x=1784268585; 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=O/7FEaWq6GSW5DMyLSgoZ6CKEjGk7z8oVAnel2Qt41s=; b=Cym43GzWRc4C+ZRQhUf7PObP+vYyVDJt50UjO5xjKw69g9wB/7FzBpIhA41jjFGY+s pD85GgnLLryqTJyokJtCre/X/7uGmKhkePl9fm62uUTO/F/hQ8vwP4pGbQpnrnsEQd3F mO/BmndDVsMRvp5rbEswg1xk9iSDkXpquEpfmuUkcoeN9l8d1ZAXMS9FK+2foQDcitub rE9YjdhtTLtC7i7qWQ6RvY6I9gidalB+T/r/0r1CwQklLWtPSUlcSMxa/inQ0bSboTIr n1tJROL3tDAwerMJCtuiRhBQ9XoS0x1SuvjRFuybGfYsR3aUcCcUFnKuEjrtOQ0wa01L tzdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783663785; x=1784268585; 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=O/7FEaWq6GSW5DMyLSgoZ6CKEjGk7z8oVAnel2Qt41s=; b=icbuRyngnslLw7LH62FxyiD+IaX0ZplDDAeu+4Yq2cXKvfl85zNs856OBJYfjiv74e u9xbMUEMg8sPFNYrxxeVMP6MgCxvEhga96EZy0GMsQx/mzhe0V8YS2i+az7Nmu5/yEpU 4lw6QU/rvXSGysdGNUkfh0q6PLITSO1+3Zq4Bu3kIMSDw1hoav3shUU1v9I3VSkKVrNf vwFREwRO0dg1V5O4W+RdB8TwV2263m+2PMJ/gHQZ6QLFgvVy2tHausy7updIuE2bBQYK CpxAv6qukdF8x1xNju9JFXrVOhR6MXbbZYyigXiMyawcVBtpMAeeZ1s6zdEJX4jU5xB+ 82Ug== X-Gm-Message-State: AOJu0YxWsKgMsOpb8i4/MibAbe7rqn2K2kTTv4mF+A8TMKxKG1KzpIQm AuZ7Plh8C3B2gNA5HexDMGC7KRO5Qs/mF/AVPvbTqs1PqUPvahQXkYqUGIo54OY0srWayTqMzMD rInqQoyUF/phVWuVWnymcBf7V0q7ZmvrUdchKDvIHHSl3s5IYnNMNkIMKJMe99JtrINP0sCi2Lw glM1MhO79B6Gj4PelGfEpYr2K3f/UzaGzQOnacPWM04GmvN2bd X-Gm-Gg: AfdE7cn91bVXR2MfQGjJQVn7sRKt+VdCqmkwp03IiP7w1dwvn3XCt9z+r/ztHKvYTJZ loQy5hw45l7vS1stamw+2VZpgFn6e4zqW/mMF5HSSpqP7iYIDIkWfbn3FY3jdnp4x37//wME0/j AvOe4PhHhU4H2tTyGgZvBTQVAqMH94FIl0ZXJ+HhFjql4zVcB7KTcRNODUVW1sP6Ra8u5XG6pID Ear6ew2ewZL8hH7zwlp91+3b6e20yEek0BK6/pnbMqqnGI4UKi12q9Srpt5Ff4IdIIb8WRE0eAA 7qE5vvr74SoiCTpBmre+RSd+H2vqy1SeclCtM707joaiaPAVkqilHqAa2Ibkt1I9kXhmgt93GOM cYn/VqvEgXTpGuI5wwIGPqlqyboipGjHvAwAYvCqUNpWPI/KBxHVoKVHlIbhT7ctI1Kgr29TUx2 ooMuczuv1SBPvsXiDEtl7fXxWE2ngWnQsTHBoa3uo= X-Received: by 2002:a17:903:110f:b0:2c9:bd64:8c8b with SMTP id d9443c01a7336-2ccea40dd61mr111099385ad.31.1783663785285; Thu, 09 Jul 2026 23:09:45 -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 v5 6/7] target/riscv: Update Zicclsm ISA string and expose it as a CPU property Date: Fri, 10 Jul 2026 14:09:13 +0800 Message-ID: <20260710060914.1227027-7-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260710060914.1227027-1-frank.chang@sifive.com> References: <20260710060914.1227027-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=2607:f8b0:4864:20::62f; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x62f.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: 1783663837643158500 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 7ee89f6fc4b..04b1ac22f11 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -164,7 +164,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 From nobody Sun Jul 12 00:42:31 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=1783663868; cv=none; d=zohomail.com; s=zohoarc; b=PAQI9e17xp8gqVzUVnvbMZRpt+j4HzljyV+xQQ1tlHLeZQvCEY1dhSGN51p/G0kU/8DJhStcsDtQzF17Kt9FRzzY/fEFfgCc2igI6I5WyM54I4N3g4iMnFzIC5C2X2K2Lxhoxms4DKGMONzRqvjYqqoghiRNg53bWg21tTwDxrw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783663868; 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=p3NJB/BD9o3McPFMsI4fHEIir4MrFnImKCe32i/p8+g=; b=MsuNmfG5YUkNUDfgEpTpNaYiT13bluN8nYhkyeGkuWeuZUWo24JWSLaxf+MfkBdha5H5Ew9zmJL8GUROdREBJtKA7Y85PrwDX5Kvfyc9GTu4QCHq4DugGK08Z2+9IirID2dhue66m8YXX4fd3fDhINt649Pump2ZmghojuGu7JA= 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 1783663868782252.14370294811124; Thu, 9 Jul 2026 23:11:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wi4R3-0001F3-8L; Fri, 10 Jul 2026 02:10:05 -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 1wi4Qo-00019U-KM for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:53 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wi4Qn-0001vr-8o for qemu-devel@nongnu.org; Fri, 10 Jul 2026 02:09:50 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2ccf2360620so4184225ad.3 for ; Thu, 09 Jul 2026 23:09:48 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d59e33sm53344255ad.74.2026.07.09.23.09.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 23:09:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783663788; x=1784268588; 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=p3NJB/BD9o3McPFMsI4fHEIir4MrFnImKCe32i/p8+g=; b=Mz+mKub6TPWpY5JbGDIilYoNcPzYWg1tGykL8FLOB+mlJufgurk0zLzqsppMTuURCy l3j91hTm4eenUwwHzD8MAy15tdl8dUzSMGeMXjuHBRPwFQqEVGbBLjofY+9oSIBrTdoK qO/YeB7XzJ9UoxhC6YrYtJSJ4vzypFBdCB2+F65t73QnYmdDUNcagFGSWPwxSrfRA3Ya 0Hob19Nex8rotYNJud+Q42B3ZG/mERor6wtorTL50i+ctgu3uTxhOttrZU0LhcExDyHX 2dX+I0EIgX2Qxz9iAc6fOGw05Wv9O884Le1BB4fzeoHYwKj7B2T007qkAx/gwYXujyop 8Sug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783663788; x=1784268588; 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=p3NJB/BD9o3McPFMsI4fHEIir4MrFnImKCe32i/p8+g=; b=ZZ5oZbhlIhftdj/Y6bLnWRb7UaRn9ZLCRs5iaPwAK7Gn435lqtesnlJz32G1hjhrD7 08YRH7ibDMiWN/J7IE/ma5+ywzPvwxHJF34A4xw1W7q1UUFIH/UcU4a2gN0+VCpz7uP6 6dWg8pFFc1o6UNe4LS4ObZEcTa2KFjDBjmPrnJssbPl4pHG6Bkj24CvubJTvd0hv+QCq 0XBagSe0wvIZF/unvVqSap3uCND0eUsSg7LMzaMBst9/wIiLyqFu7SXDoSOrRqrZXCeu QAqNpu7nyZIQV0oGJPk6419KbVI6nrbt7moxITIFF7TwEIeJ5daJ/pXpBZt0QBs0oGku juWg== X-Gm-Message-State: AOJu0YywKh7SJIduswqFF0YMv/NVCyizoTR2pWtwDDHCPQUJ9dfVQwEP EWs3JrqHXVRBMDHpYxseqqDsSYB9OimvippFvNkFf9NgMrkRYA+CYnyp2mAK++jCWbUVTrqj3/6 kSvsdnW5uVLvKjczLNj64L3LbIcvn87QhHI+zvUidPSrh8ZWkA1XsS9lVo+hvXB8I6XDDpDcOZ5 upjUTW/xNPoVfPSNktLjKvOHbCl/MRM8jKTi3koeAqts+UtD2K X-Gm-Gg: AfdE7cm6AOEXDnv3dGS3WHhud3N7pIC7ID14hatUD1HJiv+/5qWUhi5d1wSicH0qIoc wSHXDCwewnE39QRM0ry2MLoxRRZUohA8I19hVqZz9Iqw0/eyHp2/mQBaSD0+5mS+Ozg522Nvth8 Ss42d42HCQX4Dd83rHvgZUcM2McSeEeKTQf+3fqM22XBDYSE503aJ9JB42p02zPGiQ8ZanrXp7h 2/R3PULKuVzzewSi3OWrgYMf/Hd3bMWU11pelxEGVTJQP+XNRUFa8vI+Kr0oiChZfN2vsgaHkyw ZPS47OURVa7nN2FKnpJV25kZgAMGXrbD7bOJhlTz76RNsGvH0zMz8+uD2TZYPj1+3K8x5gwnyJ7 ZgTiTboOdyMIoiPYOLIRfhVkqNNizBZ+j5rdNbTxMbvrnxwhjHv0m4RlRrAMrYW0Re8cWKgSUOq +aAektakdd9PYDUucU4dTRCPTUsVb5ZoXb+5rIPwQ= X-Received: by 2002:a17:903:234f:b0:2cc:f4d4:29a6 with SMTP id d9443c01a7336-2ccf4d46bfbmr83096455ad.23.1783663787721; Thu, 09 Jul 2026 23:09:47 -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 v5 7/7] target/riscv: Enable Zicclsm for RVA22U64 profile Date: Fri, 10 Jul 2026 14:09:14 +0800 Message-ID: <20260710060914.1227027-8-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260710060914.1227027-1-frank.chang@sifive.com> References: <20260710060914.1227027-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=2607:f8b0:4864:20::635; envelope-from=frank.chang@sifive.com; helo=mail-pl1-x635.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: 1783663869956158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang Zicclsm extension is mandatory for the RVA22U64 profile. Previously, Zicclsm was enabled automatically when has_priv_1_11 was true. Now that Zicclsm has been converted to an explicit CPU option, it must be explicitly added to the RVA22U64 profile's extension list to ensure the profile remains compliant with the specification. Signed-off-by: Frank Chang --- target/riscv/cpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 04b1ac22f11..19b93f9c979 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2237,6 +2237,7 @@ static RISCVCPUProfile RVA22U64 =3D { CPU_CFG_OFFSET(ext_zkt), CPU_CFG_OFFSET(ext_zicntr), CPU_CFG_OFFSET(ext_zihpm), CPU_CFG_OFFSET(ext_zicbom), CPU_CFG_OFFSET(ext_zicbop), CPU_CFG_OFFSET(ext_zicboz), + CPU_CFG_OFFSET(ext_zicclsm), =20 /* mandatory named features for this profile */ CPU_CFG_OFFSET(ext_zic64b), --=20 2.43.0