From nobody Sat Jul 25 22:33:37 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=1783914784; cv=none; d=zohomail.com; s=zohoarc; b=THh97HSY7yNSBxdo8eumf+iJ53rrBbsDZzxyyvyTx/CY4BJFPi1EU0G4kfQUFDKB1V5o6GVexixtHpHCh7AvGRt7YNGLoEchnomtaVKqNO1rnRJ80FC3N2C5+hQ0pAbaByvzKEh4g4JsJUnxsdQ4m6qxaht6KWGZ6yMyK0MiESI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783914784; 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=DqCqojQjl02wjppt+hCyNvx86Llbx6093aDdt658mAw9YtFNR1E9kTxAqmRNQbYAHMzMeEfvhwh34u9aCrjn1pHb9RTY/ifK3D5WH5fCIADTERox6MRpKfWuQlWiLa7thd61N6iUeLpJjmxkDx12PtKT9j+tB8GX9TXnBeY2bmY= 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 1783914784371838.2327634234831; Sun, 12 Jul 2026 20:53:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wj7ht-0006or-Kc; Sun, 12 Jul 2026 23:51:49 -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 1wj7hr-0006oY-8f for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:47 -0400 Received: from mail-pg1-x52b.google.com ([2607:f8b0:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wj7hp-0001Lm-S3 for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:47 -0400 Received: by mail-pg1-x52b.google.com with SMTP id 41be03b00d2f7-c9d1fc053e0so2334596a12.1 for ; Sun, 12 Jul 2026 20:51:45 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162d3csm7739884a12.18.2026.07.12.20.51.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 20:51:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783914704; x=1784519504; 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=dtXnu2uJ3EWAo3qWFHkH0X13wvmHYPZObnv40/mF4ffqvvOFVvl6g7/rR+XkAEy2A0 ecODn3kYuNoYEgUxlxZ5h6cUuDdIlP7u3j/PVt7oggxjf2winxVssQ96nuE1RMOLoKOC kKjiL6g+51ONqdrBd3eMJsjfN4UqTRULBcysRooFmVKPQnrNP633kqxML0gCPZ2LV2aw wCAOm2ICMUN3BZva3ZZmdY23wM69PjGh6Xfe/tShM47byFqp2fOqHpqi9ReGgf14FHPO d9ZHNdoUnKi/2P2STOuM6OVdVmE+4Z1flBgG03q0xO98OXgvY0RXtAbxKruqTFmOB4TV NZeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783914704; x=1784519504; 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=ruLDlL1NDmWy4FEsrZ7nfIeEoOk+l0y2QGLaMsBj/jipfTPDa/V7ggAiTihGkS34HT vFCMWUoOKLDNEk0tunK+thdUzsvmtz7k+K/fyZMwpnLmjFwD55RAxOW/3+cqBmEn9E18 BG/8uzhw983akc9Vf0AThKLX6vb42BqNccA5XuVi/LhyEN6BpIGn7ir30vK2sNEGIKKD 5ARy9Ye0qd1kTDCxiup4/WzP2zWd8fY6b/8nuzz1hhcfbmEUX5C7eYEGosqcLSdJOHNx Ho/CgGkqg5yXtfjiWPDhSD3yPlgN6o8RVc2QXcRvaWyCZ8sdKViyzj3G8OFFE37KbUif g0Yg== X-Gm-Message-State: AOJu0YypJEJ2B4YFBZVmue/UpdoW5OGlCUiQ0C+KEa0dP79T8IhjCmod oMntwf2lFB6TCUnAKRvDTJzC8rJxvATHZSfXklkUp0NjZO8OVOBMvv3+WA/asDFMv0e0q2bTg5T 7mIrgRk7O7fyoIKfsvEMlUhTIsZ3Ce1qXEnep2HMh17BthS6cdzNVfHzd81iTEkl2c1k6Ynex7s 4NMnxZ4CwJoNOTzrofTsUudkJbOtxPSKkJDShyF+b19tdlZkNZ X-Gm-Gg: AfdE7cn8/n/jSke5nwnKPK1/HF8imXLQZx387YPWVXqw9iZWY4FMCTsTq+vHq7+Q0Ei 9KZrGBaPIwg41+abthYrP33heqdbn4zuL8kZVct52a++MuJBeNPQ2z2vUaSaapWc+57Yuc98Z6s y6SkLGvXTcG2qvv43115EEY1F2tRKzEzn3WsfbFjQs3GfMrYhCjcvvca4aw5s+TMxIshvvPpgsw A3OllMd0XIR+SI7wK9ENc86uEZfXfbP4AESUrGxpyyV7EA6+Clo+pwE7AE1Jr7U7mi/PoPSFaVY Z4Szt8MjX4J5tnAnD5tlf5P0Kj4Ivw2OZVE7DhEJqhPyqPFhWUZtsp9RQrcFg+kYcjCNbtbg2BW DLWoiRqUmwVmmypOdI5rl3TsMwdvtj0VZDlLQKkeomyy9F8MzcqvnpQPFHaXWbyQwlcwtIxYOSJ mU3fYyXRgyx5A0NijnZ3Oesatn4aKZp5GiFbXBQLQ= X-Received: by 2002:a05:6a21:50b:b0:3c0:9c1b:d0b7 with SMTP id adf61e73a8af0-3c110a1213fmr8503751637.66.1783914704480; Sun, 12 Jul 2026 20:51:44 -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 v6 1/6] target/riscv: Add Zicclsm CPU option Date: Mon, 13 Jul 2026 11:51:30 +0800 Message-ID: <20260713035135.3996990-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260713035135.3996990-1-frank.chang@sifive.com> References: <20260713035135.3996990-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::52b; envelope-from=frank.chang@sifive.com; helo=mail-pg1-x52b.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: 1783914785580158500 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 Sat Jul 25 22:33:37 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=1783914760; cv=none; d=zohomail.com; s=zohoarc; b=bzseb3PDILcNplEi++CV7UOjF4N4B4xmFVLuBDtOs1XTeb7sa3+3S1kAZbIwEAmR403BBZA55UEw1FvHLb7glUK7R8GI+1/iJ5iVdHUHfysXPCN/14xvWWtUH7z96TQzgqXYO9syps+YJot4LPIlli4KAWpxk5i4pN4uDbJpDro= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783914760; 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=ZpEZ+qwUWzKX/pdopbU/v27JKSx+5w4HgXw/8RsqiZk=; b=ndcObdYVtFV2T14tJaLGeORsXZq/XxNxMW1I7CzHtTFb82WNt8qVa0qryMi+JPWiWwKyADNcKRduXCCHuRn0sTopGaUpg414jXysVmhJkDJ0HuCqw4hpDdb7SVKdYw1+wPA8/zd3LNW/2OPJPTC2bv1Q21X6Fm7zH0aE5fw4Bec= 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 1783914760108340.40321663414056; Sun, 12 Jul 2026 20:52:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wj7hv-0006pl-CP; Sun, 12 Jul 2026 23:51:51 -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 1wj7hu-0006pO-Pv for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:50 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wj7ht-0001MY-7u for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:50 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-8485ef63b68so2250796b3a.1 for ; Sun, 12 Jul 2026 20:51:48 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162d3csm7739884a12.18.2026.07.12.20.51.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 20:51:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783914708; x=1784519508; 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=ZpEZ+qwUWzKX/pdopbU/v27JKSx+5w4HgXw/8RsqiZk=; b=DCQVOgtMEDExJvXc9FBDzismug7X2lk1Hz182p+A+JEtuPgSK52Ga63WgToH+VeyNZ kBDCq9VHy75pT5lmdrhUM/v9UmSp8k5vbffMgBZ0GXmmzZPUiC40W926s3+eWB60d5lH FS2DuSAn889BDI7StdRpxIb/krL/X87s9WBHeppw/meHvmffODQncdHOot24AJbFOeNP lSQ2aBi1ewejRqkXx5eYTws2UpDNQqknbRWRxK5aMPwkJ6XGKEn2TvfICSgz+GQtDv6H QMhfNnub4CYKVbXGDq5ttBLtjlHMvloKZrPcIImUErKDxBvuVAAPwxJtbQTtQ3iCbOUx usOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783914708; x=1784519508; 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=ZpEZ+qwUWzKX/pdopbU/v27JKSx+5w4HgXw/8RsqiZk=; b=GS4wUK1k1PY23KwvFDbxVXL3ABetAnQ+bVV17TNKquc3Fs0rVUDt3xzEi9ZKGegFXR mXPB3zr0tDqAi2LBmfYI56iDc47U7mnNMI5U4TsHp+AlF5WBIbnUs5Qo/OwRLKsK1uO+ LWYbxODt1SWNgy54IsTrwbM4slTErURz8GRKfFX3zphrxvJyYWI7JB8vSvTsbyPoiiAb 3EZGdTgb4RkkPPfEHTkdLqnyNg0XbWBjnzwOvhLxUkgJ2QfoKsfkjDrv3pkD5OuFgfSs vvVrXRP9W4ebCDzX7r/RYwUlqhrjh4ARnPdgnUidrKwNZq88k9NcVNKBcuST3nDQpRtR Kn9Q== X-Gm-Message-State: AOJu0Yx0KXrIgM+JxmGEceP++Tz+ohjKPfRB4zNI2n+ituCPlh1CyRYs F8jhPn65jgfytIbiemEUWHvmlcfjrLp2zKLzqQ9OeG+VHl3DMpFOWlBlvLMaH2PLZWBD2hh4L5n p8jRGdRDpwXyl8ITnvYyrUpi0EzhTVBRhbbnIzjLuWQJa/Nd9GlFqRudK/aQnwWc2tG2XHwY1rB afipdeljTTjG8e2k5hXqrLTzWOB1v/8Qj6JMxLqEjUyz3V2hv4 X-Gm-Gg: AfdE7cnhdp4tXvQdU1uG59woPg0CT4ZyoETguT81RDLbz+uM+Xx6DA80dgTDsXhr63l 5T2kxvy4zWpKSRf5VGpu9CAPorcIYSutxK4zechZKXsKcpkypRbdhgKjkRlGbz+o+cTnAYPxtjd S7CEg+djkbV9zdQmejTpPgTX/6tepquUTzAHBeIrrGW4hc42/c9+1fJdMW+SbmQ90bVrSXxr3+u fndOfqvbyrQJ84jSC4gWFz12JiB3CXU4nnTZWg1heP1SN0IbcfVhP1dXdVWflaMhE2LpCI723Y4 t3wSUN3i3njGEqPf0LcMzdMYBinmvNAhFuUAtDumCGYlKFfHKbBh910cYrscHhp+xdF4OyV10kq yqr/wQ+9Epmfy+cz/FY3HEd0rlqtTzfvCJfpdqdeCTp16Q5l576Jdp00ueTvn3UgSkDUcjmqHDN c+FEtHkJl/ic/Ha8Ls89cX/K3rOmv+nTdeJtFrUxs= X-Received: by 2002:a05:6a00:1881:b0:847:8ccc:d7cd with SMTP id d2e1a72fcca58-8488974b0f2mr6660748b3a.37.1783914707719; Sun, 12 Jul 2026 20:51: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 , Alistair Francis Subject: [PATCH v6 2/6] target/riscv: Enable Zicclsm for the compatible CPUs Date: Mon, 13 Jul 2026 11:51:31 +0800 Message-ID: <20260713035135.3996990-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260713035135.3996990-1-frank.chang@sifive.com> References: <20260713035135.3996990-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::42c; envelope-from=frank.chang@sifive.com; helo=mail-pf1-x42c.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: 1783914761917158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang To support Zicclsm, let's enable Zicclsm 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 Sat Jul 25 22:33:37 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=1783914796; cv=none; d=zohomail.com; s=zohoarc; b=ZgRIlT3/I8kMIpT9MitJTkmPGxCn8wbadeufCu9tJSEu4BEuzMYuSxgbgeEq6QTRzj2pRi0FZ0gyqYcQ7z7FU18Lr5XOX6OjfYfSLOSH8mi2jeQxfcJzQt8WCzGfR9c3OS8dyOaZqCSPqUr0Y0usYDnCsz3+4Omr97PIfi/40ug= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783914796; 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=GcM9CWd/ht3d20xl8qsrrISWs+dRJAPurFgEz0tOvKM=; b=PsoSsfa5mn5rWxVNDIvfzWyPoVhPRql+tSDnUqhafGmF/9WWYKw00IKLpZ9rMVypD0q761soJJvmd1kcszKZY3WdreJtTW4QLzemsI4MstTtUJJA5Mvymp1FyJcK4bZQiTO+V0ry8Eo7egTgbpCpfwwx1xR3B/lQdPCkL43Cavg= 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 1783914796596662.8690572478265; Sun, 12 Jul 2026 20:53:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wj7i0-0006tH-2m; Sun, 12 Jul 2026 23:51:56 -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 1wj7hy-0006sT-0F for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:54 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wj7hw-0001Mv-Fd for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:53 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-84874b52eabso3460945b3a.0 for ; Sun, 12 Jul 2026 20:51:52 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162d3csm7739884a12.18.2026.07.12.20.51.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 20:51:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783914711; x=1784519511; 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=GcM9CWd/ht3d20xl8qsrrISWs+dRJAPurFgEz0tOvKM=; b=DynNfBaiLrr75RmBBJW/Ra53dQ69lYtICPLHxUhYPdLhnI3ZLYbxepviB2b8PMoJK9 HTPn7oNdqeOMvWgOswfwVsy4yCM3qjDsZwV8qeO9mwwlR6H8W8/V6N3O2vjfqR2Oa2SD /xCSPGwnjl3sqtg5bX7h7FoEBw7i0vwotMjjMyi2rbEKbSYD18YY+32U9h5nGtZAvvXm V3tjOKYPmUzHjIy/PXiW6fABWnxLDr6NAmJAzp7rn4sW+Ds6ZPSbjKrlXYBRYb3GECDF jydx8F2uattZKj2fqeM5xwWPoBFrGHJFaMpcnlvk26903CdcnatZ4P4HQ+TcFZnOB7s7 uGFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783914711; x=1784519511; 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=GcM9CWd/ht3d20xl8qsrrISWs+dRJAPurFgEz0tOvKM=; b=lX93dJ82sSs6sxjMTI4hy0egq+TFD0ldJLUl3oLL9mOZZN5YCJF8fJAU8evwJUMwoN Gu5SGU1A1tXE62k7urNvJgGwrSmfC6HmEcV9ZrOxgHndJVceqxRoMpGg27HpihTYzc9D VnFMFKu6V/OCGvzwe6YyUjeFq8QsylN0S2VKi5+BH2prvXrTGXaRadwM9ZjVp5l4wQU5 Dr6NNQKqs/af+cdGjeOYlvw5INatMbpRqhcE5DQA4TbmBTeXQSMlEBFb0bwKHEV+4NLW moX3hPOYbo+SoksAK6cbMcWvGltxzi+yP4fUd1HCMBnEmqVEuBxD9XqXsyXLa8hGtQcJ +hdQ== X-Gm-Message-State: AOJu0YzbxzXyJ7Wf9ueTjAGJM/zUfFyp4OGGfyQuZbZK9aiKVisKKwFm X292kOZhSbXk2mSYMTk/rDxDok+J3Hjp0BuuiYLaHhl9UTbAQmTNZO69kxI+JVJOmEwYBaryN/z fojn5J3m5iC3/Zzy9fVirymv6DKplODfA5LJmCBlYEMbij8nvMyHSXQ608J1c8LGtT3KDmAgec6 2adAHWfx0R17+80Uh2tv40bFpH1T+2hCzs+Nkah9jX+HogGRdN X-Gm-Gg: AfdE7clCvTSw3L8Msn5HhBuKT4f9i2GQkmpSN+7jHpWYvkQg14azXW/KdRJzYLET6A2 PTUlVC5i38RYq9iP8t26PJeDzyVUuZn4DKDMruJNS9fxf4Y89Q6XoM3w0/vcbMoVpKDar3LeplU vzWfsGMUE+EyxJ+hZ8bSQnycxn0BS39lvc4tD9eR2g0z+7cYV9Ju7scPmpV5A/SWc49mZTHs62t 6FPSXeHICZArLeANFVJlM/AN4ha0ChF0Mk6r8X5mXDUfFWiPdXrbPkCt4KFqw4D3lUBBiRvvLmN s9astmLlvFb0jWU4hkAxfk1PMizxzJFR5vNhDjiC1tvpMMlqnu+vRktWy6HHXKQRQnnfyHyj3lF v/3iwxu0ruy6V+Ia4iw/4T9NrGbrH3HuFOcL+L7d4C72xNhmQASqPBcHBHmpdujJoOmXOFTaWSY GnVnpHuykaU/ZjxyfFfMtwKkET+l+YNpLnKIQoABQ= X-Received: by 2002:a05:6a20:d81b:b0:3bf:7081:934b with SMTP id adf61e73a8af0-3c110163ecbmr8409695637.26.1783914710921; Sun, 12 Jul 2026 20:51:50 -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 v6 3/6] hw/riscv: sifive_u: Align ROM reset vector data Date: Mon, 13 Jul 2026 11:51:32 +0800 Message-ID: <20260713035135.3996990-4-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260713035135.3996990-1-frank.chang@sifive.com> References: <20260713035135.3996990-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::433; envelope-from=frank.chang@sifive.com; helo=mail-pf1-x433.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: 1783914797666158500 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. The misaligned load will cause exception when Zicclsm is supported as SiFive U CPU doesn't support hardware misaligned loads and stores. 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 Sat Jul 25 22:33:37 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=1783914831; cv=none; d=zohomail.com; s=zohoarc; b=km+bwttnmtFZdRZ238NIQoPt8z8HeBh1PX/o7m9pdg+GYkXDrv78AnHdYGtQ+9+ZVWJIDX04Gkf9EaZ/5LzUQsgEnSC7/G2yv3cURsIMtYtClbHZj8wiaR5DTWRsOtr3RFP5fITEtGD4CEx2rgM0UI6D1wuKrlFliOY1EZDP5tA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783914831; 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=REq4OYb98Q2ZnFkBWcpIicAApAUaP8KT+cqsEDTrW+P+GfbbsDQ6CHgDXLNrPBvRhzxKY0EXdx5tKkDaCEfoQEzcbhSun1XXm2Zdr9LLlXlvvLZjF1cE1+8hvlovvT/aBC4Cb9yzkR+9JIvE1sjx8gebrnnbPtaq4ZxQ8CiaRg4= 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 1783914831730982.936169558276; Sun, 12 Jul 2026 20:53:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wj7i4-0006uV-1C; Sun, 12 Jul 2026 23:52:00 -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 1wj7i1-0006ty-UU for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:57 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wj7hz-0001NG-VT for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:51:57 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-84864086bfeso2630707b3a.1 for ; Sun, 12 Jul 2026 20:51:55 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162d3csm7739884a12.18.2026.07.12.20.51.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 20:51:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783914714; x=1784519514; 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=DUoUDm4uIzUPTwWXg0/Uw1WVgucBOkJRhVC61H+lBTMosKw4BzqnI2T5Ap0JKNjeJe x9peaXXPxnGJvesnyGZ9zoM7L1k3qVpInx/+nk/fzyFaJwK6pXSUS/aH3ClRzh/p/Zty TmrECvV0DI2PQumoH1ueKy1ewjlhK78O2CnubfYQik47bgr/AJA92CgkmPpHXeU1ppMt D8nAGnApFyP1IaVSo3M2KOMhPcgb5zfSp+2AazX5Jeu2Dc8Nzea7zHDl3FGQhpUl33R5 iq+iRcc5Ri35HZbIgTgrhxfJ29cpBa7bD3fOeWUTA2EvGlr5QeZT+BM1u37FMeMT9gtL QlpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783914714; x=1784519514; 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=J9i/YNpxEu1Xot6vapAFO7InOsaQgBmJswTOqceqevZHSubBuLl7OPrxFMnhE/bQrT 6oV/iSK+XJgDsi5IZCMv0/oBWKg8tK3fDg2BkfAecmAvO8JchsI1T34B6XqYx/fMuh3B c+TI82ZoL+qoJv8HLfh9aH32i/RH+kNMusbbcCiS/HwgUs8a7BHaSg3FgUvKk1RDQ6mf V4KQChH996iH1LoxPpp5CujdF/HGEpfiS6ZpxdXwQ3zVKo4q82CkGRXgWq5aL4X22zer QW+/CDmfdAN3vXMKuZINy6vcvxjbdBxMrMaf0nvPu7RJ8xho10crVUBs09RFIj8l6imT ogjw== X-Gm-Message-State: AOJu0YyP8DAPCcgx7dsdg6keUTe5IsZMSJIKd395YLoN/JblT53VrDOs yUePVSzKI6Vv8lVKJNY/TCtKY3EdabV51n/uL8pLKe4RAOBThdBEQ6IKZNd2MGvwcvYCB0/Mz8f /tif+2gmQpNzZlpjyCgEen8srGwprqTAiYtCuTmZWJGJrqW6x6ikG5AhUYkTE6mbtrJf36Yn2mj d6ICeBVSN2zqzy0zt8quhCWtQ2FG9VF7MamlXF5dBKEwuwMyCZ X-Gm-Gg: AfdE7ckFIjmxVzLQ19o1iCuvgH0ZOT1+HBW8IQnDpPXvd4LqRDPWcDdWGTvigQOCcVX zR4uqjndDfV3HqcS8Vi684ZzmMLZ9puA7H6BqyjAO9VHQFMKIR8/PzKvzHKxKqiN+YO55+RUBHs LAuXJaP3gUsjOPHRnuSOMiBwVV4QKJF4GYzTdu3uB0cEXo4I+ga7PnCYV9Bm2vUmDsu55QwyWr3 Zynx5qOaFzr8Azn8ywhOcjoJXJW+ggDOdXJX733D49EbDAzZFqWor1vealCxBlcbh4MGdsHgjUV /etZcCmGLY9B94mG587M6bYyj9F4h41JHb+3w3FGmyC+4Rs5uOw0mjuLastR3SdoZ4iwloz4Jt3 hcWydSTwgo8nefMqN9DDCyDwuwg/yPHGc7VfFjrsfYd0X9Hs4PmgfVDjGLBVmqNAJUi9DxzcqNz yizc4y4rMJnmugT5gMniA2UP3+qyzAjslf6m4jlLs= X-Received: by 2002:a05:6a20:2d22:b0:3bf:ba48:ca88 with SMTP id adf61e73a8af0-3c1107650dbmr9019582637.15.1783914714118; Sun, 12 Jul 2026 20:51:54 -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 v6 4/6] target/riscv: Support raising misaligned exceptions for scalar loads/stores Date: Mon, 13 Jul 2026 11:51:33 +0800 Message-ID: <20260713035135.3996990-5-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260713035135.3996990-1-frank.chang@sifive.com> References: <20260713035135.3996990-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::436; envelope-from=frank.chang@sifive.com; helo=mail-pf1-x436.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: 1783914833718158500 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 Sat Jul 25 22:33:37 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=1783914760; cv=none; d=zohomail.com; s=zohoarc; b=Ltev0O4XbJ+SxxmxMLqe5KSd40qiXUT9Podew+5oLQRNyBAxnEnC0ky4drnUPe3+ZukccrXZnDGrg+yIrTOjGTijpwm6yqI1v9s18ciovFlSqf5XaMhRiiEaMIeEUKoSBm59yyBGsU+AFpXHInwbJxKBW27T1I+a+oy6PbJ8ZPU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783914760; 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=Qyy6Mjo8hHBoPxMu33gwkuHO0I0FZDyWbzJd1hbVfl+AI5MRUQhuwPxsH1fzvuhMOvMsEwA1VJ+MxpiKp7plB5i7GqH/W3cwHrBgTXhjIYvuw7Z8+IvBDEM/qnv6+UC0mEJh8yiC8ciPDFgJLS7j73Cpmq3pRFn1ztTbo/BrzR4= 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 1783914760107939.1787118670925; Sun, 12 Jul 2026 20:52:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wj7i6-0006x3-V0; Sun, 12 Jul 2026 23:52: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 1wj7i4-0006ut-Jf for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:52:00 -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 1wj7i2-0001Nl-Qr for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:52:00 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2cc7e86e7aeso24272805ad.2 for ; Sun, 12 Jul 2026 20:51:58 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162d3csm7739884a12.18.2026.07.12.20.51.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 20:51:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783914717; x=1784519517; 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=cKc/BLv6oMPCE+4kts/1/z9KWAZga9/HuPdtrZ5JJWDCZ7ZVufD1H9hpY/1+0VerPW A+ArwAHLDKsIxuNhimuR8qf+xClZ93uY1kOvNF+Wk93BKCkf8BjGY5NGVfKOdUnz/sit MoawfELFEgfKhn/Flk9r+pj7b4ubae4PaNJEwqGhE/JrA+kJNMegP4ceBQ87DIqP2dUW rmcgtLrIuDCMJzL6Ab1XR1T5iuYRny+pywgd5XRW6mNpgFTmgXAFhCVwd8c+/LoXiM+V oDZWptc+bUqEKZqoDSIaFgHP/OIBDf/vyBsUNQbZBdnn/aZt9xk50dghFHseK863M1RY Uejg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783914717; x=1784519517; 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=bgegHMkY7LPkTEVTZHceqzTfHYzYZuoVjELBeqQy/i7e9tF9ftA98KR5Bqt9o3D1Ht Wg7YtlVn05trcjiy7HAQa+quYrodYiI9A18SgvYEVQboGDFPnAQgPzf/dMg3f2gzlPzy 5FqHyktvQb1pyW8wS0Sg2qPniH81mJ9QUHe20lQNGBtUYb7eVCUZ4WBMggkUs1Dh0dti w1TRv36OOy3eo5i/OeYcTz8nxJOlpXc8Nmor6a6sKqFGYmsJ3J4EHrlfYeC9k/UoLLG1 quPEKiyAy71gh2TPbp1zxoRSsmN4I30kuTimoiIpPHo+WAbTr1KIEXhfV3bPR2LViQ7k zdBw== X-Gm-Message-State: AOJu0Yx+C2zG1s0VCWEQX84nsYnSmD5sGN6sl7iI3BgFIP29N5bQ/XXn z9acmCZIGfDhBEQXwnkf6CcXy7E+Sthnz9pP9NnXLZdraHOzLwyeU68Mb612zHiPAm9Qt4pe7Lf 3ZzF7UQRbP+WqJbD/bMFl3HxB1ofp8Onar565yNSN7MPIjFdmUvj0Ssb8V4HDRQ5UWl2ymw2S5+ pI3jM2vZb7PyiicBxizFxbeMFrsZ5aNX+eLm2W4HxPvVmUDxZQ X-Gm-Gg: AfdE7ckGRRMLxmW6fCvrpkXzqR6n4svai4A3tTV5z1mNhZGCQ34P8fBBrvkrzjQsJNQ FlsBCjvg/I1lyuf79MLgxxzwLRXmE9t5byXXVcoyD7aPgztFVKAg+BpQpYmtYyFCA/2pn75uQgy 3+tKSNmLDy1nddUd2Mym8/chkPDGiwEufMYrWHjRIBrx8OY9bvvxKvaIG2Dkoo0arpelZ1sWbS0 0c5NzV3Oo6G2jfl4KsSVpfGmpgrFuavOlvKHado1lvHclqhfnl7L+r9w88rK+VxBCljJMHLhs46 qa+h7VpPyPSxCn4w+/ZWTqSEb/vNhRAw4FTuK7SIy6p5WSic2g+a9k2BTa16dhJeb/7ZDH27ZrZ mm3biZls58vHfFrnZMT0OGsOPQaTvWOhhsxdNFF73AjTi97IDIJtmwwIWPO4JLtdDWeCsFsBWPm a4QCXmC++WzH42y81gLk26NByJMGGxvrpDqFnbFro= X-Received: by 2002:a05:6a20:d4c:b0:3c0:9c19:b274 with SMTP id adf61e73a8af0-3c110bcce61mr7521387637.66.1783914717303; Sun, 12 Jul 2026 20:51: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 v6 5/6] target/riscv: Support raising misaligned exceptions for vector loads/stores Date: Mon, 13 Jul 2026 11:51:34 +0800 Message-ID: <20260713035135.3996990-6-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260713035135.3996990-1-frank.chang@sifive.com> References: <20260713035135.3996990-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: 1783914761918158500 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 Sat Jul 25 22:33:37 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=1783914760; cv=none; d=zohomail.com; s=zohoarc; b=DBDAvGERCYJLfsL0mqGJzuFoZ/hjApdM2kZ0BHBmBynPM9BaCBfSVSMF1m4frCbZrEryF0Xi+j5loaUJZFMVvu8FKnRc1DmQJ4Yo50UQNigWPJAIj8oAvRXFBYW15HKGOxZGYVPQ2M4txN0DuUQk42NLRg1oQi341w+FIzHkWFY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783914760; 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=O5v+4E6AH085JvEW/ulDh5E/YMq66y/1MyNCyiZh4NQ=; b=AnvMmAeznVOiTsY19LoAVwSciAyn88maTIcs+rSrXWr4EEmnwo4hmv5hIktd6WfL8nnNBOywrLA/xhsZHpfrhTPEB/SQnzEQj4hn/QRMbz64z89OBKWCAKFTbZz42prTqXcizxEyTo0FCmJ0XgcXpOsFgbUfSDbFlA8YaKOrKgg= 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 1783914760108638.5249968239089; Sun, 12 Jul 2026 20:52:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wj7iD-0006yv-Hl; Sun, 12 Jul 2026 23:52: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 1wj7i7-0006xj-RR for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:52:03 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wj7i6-0001O7-Ec for qemu-devel@nongnu.org; Sun, 12 Jul 2026 23:52:03 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-8485bd28dd0so2773157b3a.2 for ; Sun, 12 Jul 2026 20:52:01 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162d3csm7739884a12.18.2026.07.12.20.51.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 20:51:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1783914721; x=1784519521; 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=O5v+4E6AH085JvEW/ulDh5E/YMq66y/1MyNCyiZh4NQ=; b=RILeWiiqtIPputgJSqsABtVIM2THiA00DoYnzNvM9uqlW0XBLc8szwplGHqvXR3R9o AlgJGjB2p5q2l5o/gAr+RBydt7NsPmKYpviFdTRvlCQ53HhqIaWiYgE3+uMg02kPYBwt 7U2CRvqdM2LIfVy21IfCqqfRc54DF9Y1SSFrV5fqAQ+TipPOFiIeNB+rW+OetaY37Ynw 8r10Sr7hIy97X2oBUre5CpQGa9iKPYSLt/AXXBcgkSTTyQ6XNhSADnjnYqNqN8HrrEL0 fgxh0/nMWnNm+aS2eC2UA4DigLeFYtWuhOvoocgwc48/4rCLh5p8nnsnnu8xj32siqKN Q2ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783914721; x=1784519521; 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=O5v+4E6AH085JvEW/ulDh5E/YMq66y/1MyNCyiZh4NQ=; b=IIvNUm+aNaSRPGiePB0kvA0ZrYTV8KWChEfEhc9AzOtHIp0L3HadYZqz3525dBiaxj e8plcaHexwv+GAghdLRv4TMjSqKlmLki1cn+fEAS5xMMbm6N0FVk+3ZRngdvR8i/xM5u VZ7aFPuGDy5UV0/0FQdmHsrWuIKRbU1+lQvLhTyc71/kcV/0ds7SiNIaltE42kXJsxMd yXjEFLo5qq/SpjdC3+5YHgLgimgiBP9JWO+qbbHu8GENA8ygAda1qpSNdqzWBUDKfKkc DRjUAcTyGlg/EPHbtXR7Xqt8C6zlTw8Xh/PVmQYd0nOLoFW5ch+kD/8W281YV4TXOtbj WmyQ== X-Gm-Message-State: AOJu0YxOtnlzcep7e1Cqq+R5tK9+EOJDw7qw/lFLa75xE4vY09karTCP fkIpVwmsWiPl/Suf9fkqcdLHO6FV0KQZ+f3rpOTpiHLMLsEjfyP37D/AWCRuCpE8WBicNEUk0zr TK+SJcQe/xSWbj0VfaVilxSNuYExTqx1Zb4v5bKmSb2bpBPYuN5jiJ0LwDGRmmKX7oLFY14/eN7 QsUqIgBDlIf33Og3qemR1dwFhH9fb3NwfAXdcpSh9Bo3v/vpmN X-Gm-Gg: AfdE7cndMafaGFL7MjdJ5CBsnsOd+aw7oXbHaQV783HGzV8X1gN3byZLNag7nYVYw57 2NXHeFY6iifHKuQnN5GkpW+lbu7IwIZiHQvf+Jic9cGhdZpd15rcyzptgDzePVfWPKPR3GjuRhe rr5W3snDQcVHiTyDuaVLL8ofN1sFOInLNtao7/DqzMIRPOgFlOgCHgAfOA1rVqkfAYnN97l5LSK 43eSfCiF1cj3tgsxF6xwFuqOsJ/yBoaRH8/YPuQv0/2zuPLzcG2Qk54YztH8CJaqlmqaIgjGmym 6A/n1IRG8LUt92V1K3D09vx4Mn1tSOyPaWqKkT9dKeP/JIRoF/VdwJ2MHwbrYIp5mUi/U1HaxED p5ih9ZVIp6TPz5g62Imb4FfxBVsVPK+9rlc8cmMg4neYdnwkImcNzIhnw8Vt+apPLRIzixDrnky Njt8ZnE2P4LjfbJOH5jqTNfqnYPpJ3uXn+VoDqVy8= X-Received: by 2002:a05:6a00:6c9a:b0:848:2f73:9000 with SMTP id d2e1a72fcca58-848897b5315mr6807930b3a.73.1783914720120; Sun, 12 Jul 2026 20:52:00 -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 v6 6/6] target/riscv: Expose Zicclsm as a CPU property and update RVA22U64 profile Date: Mon, 13 Jul 2026 11:51:35 +0800 Message-ID: <20260713035135.3996990-7-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260713035135.3996990-1-frank.chang@sifive.com> References: <20260713035135.3996990-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::436; envelope-from=frank.chang@sifive.com; helo=mail-pf1-x436.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: 1783914761940158500 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. In addition, 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 7ee89f6fc4b..19b93f9c979 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), @@ -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