From nobody Sat May 30 17:44: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=1778644463; cv=none; d=zohomail.com; s=zohoarc; b=dgWcOrdprAdIeySP6pHaRaaWZbLX6FEpI/bQjfpWx6RU/V3sqvwxNtyZhiELd42VEWipp5Cc3r2xT8PMftCUCCES5ZjlGw+Lf5tYQIxfW0GyYG6ARr7st1n4m/KNUK7z4A9UUICE7klKxf5rff5iKOddHKCZdkENb2RvWiSvXIM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778644463; 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=+bxgENfIOWqGCFdj/P5sPamFsh4hBbf5NLHvp/A9rUo=; b=ENm44126bownrGrDrK+lIPJWzoD51XTTk0kiChh+HrkHq9IilC0O8QVoErbtH0+Ln9ER/rdZ3Y4+h6YvELOXoUTKUFHWV/qcNHkn+u3lScX6suTJ2VyEkXsAzD7JLKjGuq93PqlPEpEsTXLqq/61ZqUgFhi/mbvmJ1aHSZaYLSw= 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 1778644463481423.6041460555317; Tue, 12 May 2026 20:54:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wN0ey-000581-C4; Tue, 12 May 2026 23:53:24 -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 1wN0ew-00057W-Sz for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:22 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wN0ev-0006oE-98 for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:22 -0400 Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-c8028fa6039so4146272a12.2 for ; Tue, 12 May 2026 20:53:20 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83967dbdfb0sm24317872b3a.45.2026.05.12.20.53.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 20:53:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1778644399; x=1779249199; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+bxgENfIOWqGCFdj/P5sPamFsh4hBbf5NLHvp/A9rUo=; b=WQRCbQsaGWTIeo/duyg6Dy/YAfIDcBWxKz0fp0qF1TsoluElg7FNX79gSWBTbj8rmG ymMW6DGM4y7jvQGE/KK5vxi3/gdzT0z7aiqNB0cbTLGMr2PHd7tZse2FEl+AFlhGfoRw y0I8Txyn8OhAhGKI8JgGWonnM2unPbfkwGoHtsCXBQTdw5xpEhQaiuXDZ218HYsZl4W6 FIZErgI+DjS+kYmFEZyz9Zl2Z/BjXpqx20H08MJ2VrO2lOtUzc5aN4mNrsqcTdXcS5j7 HwSRG+Kq2bqQPy3or8vW10oLZoRT0gDUJJeAMafDH4rLG2ih6nqBE5CkwEqH3bdj4bWZ R/7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778644399; x=1779249199; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+bxgENfIOWqGCFdj/P5sPamFsh4hBbf5NLHvp/A9rUo=; b=MUZCwphOBeHesTpJDb6Vw0gYZZ5GDnv0CBQUa00REnGtr+NAbroFVpbgGH2Io+IaIh BBTQ0CrT0pLjMxUYjLDLgNezOxRVWAgzavVES8qe17vDiUiQtd78xQQ0oEZ10Z0m1T2t 6uzjFLlv7NQqiXDKCG7XX+gF8t3gkjWjXPq4kBD1ykt0SDIXIVlVgINXUjy0HDnjO/YN 4VyEL3CfZdC/a6yZN2znE9hhnGolIOZUYfuspS9SHRHwk0Gl27jRhk2dG1zxdZocSDv8 DGYtzDq69vPmI0vAyy1Wv3U/nK+KCgKpPN4l/FxowY4cBPUrm255bnoLFAhJTBfkSlgn mCmg== X-Gm-Message-State: AOJu0Yzz65qJr2Lpl7lFXqOHfm5OL8BZQfSnx4kAuUdS3BjSOd39zLcW Q0SquRDg3MKeaItnFaezR1CBNON8GeZ8xFGDxNaBWZiFf7xgNzwgjSApnUdBapFpayhSkl+0DEw 5ndq0FgtG/8ko/lkg7M9P9VqjqC6cM93a10nR/MReInraDqo+T+yP34UHuKJtnLXD1ACsUgu5Su yZH6FANHjJA1sUA6/jdYPeyV8vFXzMlFCJcXVFsqaozciIJlP2 X-Gm-Gg: Acq92OFqIvb0ILl3MA7RDfNwWslujxhL6kk880NMYNpISj2Ck1UWSCowjsnD3amfVmY b4EqGHVOErFJJAn+hq2Gp1GU6X8h0Euv5cmILP3OnR9jK5KZ8/rX5ObL8fJ43KkFLAyNR2kRukg o5/k+o2/Gtc8/kkJzik9mNoppGJJvEAg3gRzZpVYVkkLnASqJ+Jeoz+OPS9spr8QPzD8dIo48TX L9LPcCPsSeutlIQyTMgL1doTezRvUAtMHKYxuH2rGA2nZZYHfXKUXNII3LACW4xAeEVZMCMVS6D NZ94UBmfJjRjEnWIhuWv4PhQCNEE+i4u2Lm9/IQBBIyDimxiyz7JHk0Dbe92WVwFzSGCMNOKldy 1+6yzWmqdlFPalOSyTjfvfo5j12x//RqVyXyBYGEi0ZTepBy5pgmjnn51jbBsb+FDSRZ00eBq+x PxhJTSzA0xjc64b1xdMWV22LS0GUjHZW3pxD3+/y8DGTb8sl93hQ== X-Received: by 2002:a05:6a20:3d20:b0:39f:3ca8:a315 with SMTP id adf61e73a8af0-3af80c7df0bmr1746431637.19.1778644399080; Tue, 12 May 2026 20:53:19 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH v2 1/4] target/riscv: Add Zicclsm CPU option Date: Wed, 13 May 2026 11:53:07 +0800 Message-ID: <20260513035310.3764218-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513035310.3764218-1-frank.chang@sifive.com> References: <20260513035310.3764218-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::533; envelope-from=frank.chang@sifive.com; helo=mail-pg1-x533.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: 1778644465095158501 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.c | 2 +- target/riscv/cpu_cfg_fields.h.inc | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index a13727c0d4b..468055ee090 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -127,7 +127,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(zicboz, PRIV_VERSION_1_12_0, ext_zicboz), ISA_EXT_DATA_ENTRY(ziccamoa, PRIV_VERSION_1_11_0, has_priv_1_11), ISA_EXT_DATA_ENTRY(ziccif, PRIV_VERSION_1_11_0, has_priv_1_11), - ISA_EXT_DATA_ENTRY(zicclsm, PRIV_VERSION_1_11_0, has_priv_1_11), + 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), diff --git a/target/riscv/cpu_cfg_fields.h.inc b/target/riscv/cpu_cfg_field= s.h.inc index 734fa079f28..fc55dc6d892 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 May 30 17:44: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=1778644463; cv=none; d=zohomail.com; s=zohoarc; b=dXK9Vz068a6QDBlIGjQovRVTiitcUvXC5cEle56DhEWXpTokOed2/Kp1+zRKT+xX52G3WZHBwMFBpyWRs+E8q6lOXqyRDYOWSlWYqMsd4qg/Tq9d/bPlvtTvK5KQ+Fl6Fhd5pF34hqDkXK3uGixB3fRzei8Z9RyhxTkY6RzyEHU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778644463; 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=LIHI27bIT+IWRmOWe+Bud2frYYGUpQft7mpXqlK4M0g=; b=AVfoSI8AcrqfTcuzEBxCTbpbowthA/Y0YRKSg51n7G/BMYQhOquhaC8olZNk/P58c9OuY2sFbXiygbnM2itFtnaX46vnyOwKP808Wc4USujHoC5FFqc9Ia/BumGrf6lvqq9sGsyqgzoeIDfPEJxI7Kol1+OFEq8ZH76YVkz+tZA= 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 1778644463890904.4749246273435; Tue, 12 May 2026 20:54:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wN0f1-000599-3g; Tue, 12 May 2026 23:53:27 -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 1wN0ez-00058V-96 for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:25 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wN0ex-0006pU-Oc for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:25 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-837b39eb078so4271518b3a.2 for ; Tue, 12 May 2026 20:53:23 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83967dbdfb0sm24317872b3a.45.2026.05.12.20.53.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 20:53:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1778644402; x=1779249202; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LIHI27bIT+IWRmOWe+Bud2frYYGUpQft7mpXqlK4M0g=; b=OrVrNE3e2LeXx0hJPilDUm+sIXJZtsvJa+6jD1phayPfM9Nh9kKESxU/cwTh22YzVb f3FSHBhdrxQEiWQ1IoxNzNaWBSrcjqNaQVK0GNegxInUEGb7E/EafJMP7l+cA+sVSeeT 0AJqjsFRuuCOWla8SFYVhQPyH1kilbGKDiP3Z93eZOP8v+UNnoYPbydZ+ARx/rr8bYaY tr9hnsr2F91hlfTApMCoLuaP2c94ScHXCRTjDPjSkM3yk8PFmXwIQr0FXvTI0E76YT8g EfrcvUB0V+YDT354jzibT6wF17qVviFORtqivJULPmvXFJv9jsfCmlNlCH0jQMJ6ba0c 883A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778644402; x=1779249202; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LIHI27bIT+IWRmOWe+Bud2frYYGUpQft7mpXqlK4M0g=; b=Zbw3EsHl9Uc/MkkbcA+U0Z/OptssHh1iR+zSRM3T51imQJhI+MNIQtDh5A4o96rrsE Pe3en4dB1XIHMmZDBU2TKEo9rYgKs27TQt4GpbR6rK7+Q+kbFJJgCtwRQDroQHQEQzmm NZIS1zGa7xfj8C0i6rOBfnZq7ts6Lsm785lFeAO1dlWniKqWmL6j4OFIYs+oIHXXXmCE TpUgocQSqcMCJFky5BjcxPG/j5Jbiq0egE4MBsDeEG3oVPgioMoZ26tRnng1A2kHILzP 2743PYa5L4yOcoLKZbOTkQg62J2sdF3OL9ac1pPS8i+SCqCsJEEzRUXPstbBph4tVgFJ 3gqQ== X-Gm-Message-State: AOJu0YytDrAot9PFioVm9hPe3esnh4mETRnv4vXwY61nO6f4CrZNOZsc cg+FNO1RPo68DZYwd2+Tu219+2ATv0RbD6s9OZd7UzuXlYMlRddqDXBPgAQi+dIjW2wKGcpiuy+ 5hcqvu2Dj1r95ZrV61AXQRCHmPhZwiE1FkF5g0uHACfLf+j3vcqlgKFa8XfbNQl4I3EAWb45u6q g4qR+eeMfwXKIZBRCwcrlBGzepx2YAPge0ZYvfqTATWbkmtjmY X-Gm-Gg: Acq92OEHBmag+8ULIQxNzXh0+cDN5LhyRIhscOFU/Y0JAeLeURDhliUHxbl5QDjz2rU LmM6Xglq+LxxF6L2mwJ2vfdwUvRo17LF3Rh79RFE0WccQ39KF2jjdWD8z5hByGjtNN9mTN4Oczt 8DkJ7iiRU5ZaP77y/oKnsWwXJkMidO+wMhSGcWJfqpt8gow8SmE8PtAiSFJoojP37Cx8ii8GXxW kycYJ0qI5o9rxuBKAenJPcFjZqftQ/Hwu1miWiOWflUsoWSVMlqcclpJ98j164XX579daCCgu+s Wb1WKpsJF0mXUe7QfGhVN3ouqmhZEz8Uj4dyoqM3CXUs5yixXFbfjbgNEzxHBYecFTQE1fqenv9 6KsQBFNd0YcWL5HNUYQjfmq38gudvAG7eHbPYz8JWviFaGGF77Eg0EtZGKjSbqVVmWP0Bngikuv NuUXHeEctHtZoilzZnEakuXA4zCmQMz0ZwG7ey+SikvaCO+IgVPg== X-Received: by 2002:a05:6a00:439b:b0:838:127d:a161 with SMTP id d2e1a72fcca58-83f03fcc5afmr1527293b3a.18.1778644401719; Tue, 12 May 2026 20:53:21 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH v2 2/4] target/riscv: Support raising misaligned exceptions for scalar loads/stores Date: Wed, 13 May 2026 11:53:08 +0800 Message-ID: <20260513035310.3764218-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513035310.3764218-1-frank.chang@sifive.com> References: <20260513035310.3764218-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::42d; envelope-from=frank.chang@sifive.com; helo=mail-pf1-x42d.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: 1778644465548154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang When the Zicclsm extension is not enabled, raise misaligned load/store exceptions for misaligned accesses from scalar load/store instructions. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/insn_trans/trans_rvi.c.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_tr= ans/trans_rvi.c.inc index 2c82ae41a77..2662fc5c2a2 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -413,6 +413,9 @@ static bool gen_load(DisasContext *ctx, arg_lb *a, MemO= p memop) if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } + if (!ctx->cfg_ptr->ext_zicclsm) { + memop |=3D MO_ALIGN; + } decode_save_opc(ctx, 0); if (get_xl(ctx) =3D=3D MXL_RV128) { out =3D gen_load_i128(ctx, a, memop); @@ -524,6 +527,9 @@ static bool gen_store(DisasContext *ctx, arg_sb *a, Mem= Op memop) if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } + if (!ctx->cfg_ptr->ext_zicclsm) { + memop |=3D MO_ALIGN; + } decode_save_opc(ctx, 0); if (get_xl(ctx) =3D=3D MXL_RV128) { return gen_store_i128(ctx, a, memop); --=20 2.43.0 From nobody Sat May 30 17:44: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=1778644463; cv=none; d=zohomail.com; s=zohoarc; b=T4MMpGoLpXGCNXfqvpxysexuyFbMJ5EfFlSdcLelErHWovBCuwa06/hxK7mPf0gjIjtcmq+n8F4xRg+BGYXFgzIzuOYafo+JeGwTKzH0NWuttLwQm6rlDQH6ixLeYIItR2Z+pRqCd7CJRZEYO7CRF3hNINhbLRVEtqEZmJo+MlY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778644463; 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=vgGc9PLSXf/IJhdpAdUeDjLRFLaBTcP5Nq6wdwCEZ78=; b=egkIP+fUjuiFV+24cW7SUJXM+/IwGco8x5aKPLMrZ7/6V9CQAxBQDJut1c0h7CrI1A7DZNFdXxeAs4XeHirAoLrL6W4nSZ9apoaquLaetibvughZuT5kh1TJWbTkJOblVs94v+iOPht98OnYrvJc5EtDsHngu+xEhSbnn20R5pw= 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 177864446336786.70949521354214; Tue, 12 May 2026 20:54:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wN0f4-00059b-Uf; Tue, 12 May 2026 23:53:30 -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 1wN0f4-00059Q-CA for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:30 -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 1wN0ez-0006qJ-TQ for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:30 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-8379e010b01so2700272b3a.1 for ; Tue, 12 May 2026 20:53:25 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83967dbdfb0sm24317872b3a.45.2026.05.12.20.53.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 20:53:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1778644404; x=1779249204; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vgGc9PLSXf/IJhdpAdUeDjLRFLaBTcP5Nq6wdwCEZ78=; b=AzMfpwpWbP/D+FWV9sjLRuiHB0cycJbvIBzlOH2dqsWYdOGTgdJ4T6wlo3kJEP3g4t aygDpJMXX9gbcMuCSXEUXhh3ce4bZmryyqTN8u54/melc6RvHFRoK2hVfLQ0jxe0X3Gs X0PsdH8oOCwNKgc9S2GWj18TbTVQeY720AArcSAXf0X17K2vRLnINthgIE8iBhnE9R/s pU3oueWxfIoDgcXW9wcGIBE8IObR3W+P1rXupha3XlzU5bFxqCZQ8Kzc6bZjaRDEybhU needsWjLHSpnUKJmEiWwP4wa0Uv5ZyXbqdnNKPqsklBruQ25nmOiKXEZ83CkCQjXvu6H wNCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778644404; x=1779249204; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=vgGc9PLSXf/IJhdpAdUeDjLRFLaBTcP5Nq6wdwCEZ78=; b=j8DxLFS6DO33ViUpPONetZ9gPSRZuHnGntWuCCbMdwG423po/aBPiSLXaP8nNnwPdk ic/PwUxkAQwpuWoEixdtsyhIYESgM76Lghr4enVF4n+RENrtA6LikD9uLtbja8XrI4nt kdHe+2obn88zu5O4RSXgITIjw5EAgaRnR0u4xxLFNRz/0iSb88UnouiYmBenwG9LLEKt 9AY0nfUopb/ifW1J8WFWCgMtTNAlxMNwk/KG8FsPmCaMeYbp9frPNt2V2GtCsIeGlNUr 0WkgQg+S2PHr8SYExi14JxqpwIyg3PjRNb2+EFx/T9+16Qm1GqkFRefMBXwZfRX11k7w lyGA== X-Gm-Message-State: AOJu0Yxw8UCwqQeqA9cjDzeRwYqUr3h41Ct6oBtFBvECTREkrlPx2a41 a+BFHZltPDg5UGnXsFC4Yrmqw3mbN/fHb/sHnRqNdo4oyMEBDspdCWRwesI4qy+0Ro5myH42fOm ekQbNPdqhLZNhW9X4BCDWdLEDvA00321yuMzvKL/bFtR6JjdEu8064nJaHx29yYDqgDjRX2vXxe Ma0GBwbgOAM668Ae89gVfXUWseaaisNkgWIK5906oUOUdt5LB8 X-Gm-Gg: Acq92OEmuZlNrI6hkrP6L/MlrWeY9VaJ+P2rx066dhXxMuZ0cBoJ05egCN9uktriga8 B2/8cLDO45mj/MXOJCazySrFDDiQlSLWKr2MaCgcT69rpAwj8DRhtE4RT8nwwb+B3mIV5RM6GWe Go6N4ilSK7jTsoMJRX+QqYsKM0fyPQzQ+r5rJQKMd5xe7Wui5fwgLgQcc0rbrWs45DxiuFTkMNo sm7aYm9xbYWGylbQtU0OqSkXug+p2QLgJFZwGKC5ELTZFEjkwDt8X/8fDWdM2QVQDX6Uu26Yc/A IfWjAVlewqaotRLXc93N4GHLN6/Zy3aFO5grW/iqQIPV/3UA1dstNvhsFyFlo5tCbR8/ZuoV0/z xTmLr678czwF1O7bMgnlGkOj/Adbvh+17o9QddntS1zuhRZUcJBwpbLZ7AK3BNtmC1j1ruYpXL4 Th7uhDgchDGJfklEDOfvV0akTdXVg+abE03nLQBY9ihTT+bfM+jQ== X-Received: by 2002:a05:6a00:8f0a:b0:82c:d7c4:4c5c with SMTP id d2e1a72fcca58-83f0547a57dmr1139523b3a.20.1778644404346; Tue, 12 May 2026 20:53:24 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH v2 3/4] target/riscv: Support raising misaligned exceptions for vector loads/stores Date: Wed, 13 May 2026 11:53:09 +0800 Message-ID: <20260513035310.3764218-4-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513035310.3764218-1-frank.chang@sifive.com> References: <20260513035310.3764218-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: 1778644465095158500 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 --- target/riscv/insn_trans/trans_rvv.c.inc | 18 +++++-- target/riscv/vector_helper.c | 65 +++++++++++++++++++------ 2 files changed, 65 insertions(+), 18 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index e65356eb7c5..9af628d23f8 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -1191,26 +1191,38 @@ static bool ldst_whole_trans(uint32_t vd, uint32_t = rs1, uint32_t nf, * Use the helper function if either: * - vstart is not 0. */ - bool use_helper_fn =3D !s->vstart_eq_zero; =20 if (!use_helper_fn) { uint32_t size =3D s->cfg_ptr->vlenb * nf; TCGv_i64 t8 =3D tcg_temp_new_i64(); MemOp atomicity =3D MO_ATOM_NONE; + MemOp alignment =3D MO_UNALN; + + /* + * If Zicclsm is disabled, require alignment based on element size. + * Use MO_ALIGN_* based on log2_esz (0 =3D MO_UNALN, 1 =3D MO_ALIG= N_2, etc). + */ + if (!s->cfg_ptr->ext_zicclsm) { + alignment =3D log2_esz << MO_ASHIFT; + } + if (log2_esz =3D=3D 0) { atomicity =3D MO_ATOM_NONE; } else { atomicity =3D MO_ATOM_IFALIGN_PAIR; } + for (int i =3D 0; i < size; i +=3D 8) { TCGv addr =3D get_address(s, rs1, i); if (is_load) { - tcg_gen_qemu_ld_i64(t8, addr, s->mem_idx, MO_LEUQ | atomic= ity); + tcg_gen_qemu_ld_i64(t8, addr, s->mem_idx, + MO_LEUQ | atomicity | alignment); tcg_gen_st_i64(t8, tcg_env, vreg_ofs(s, vd) + i); } else { tcg_gen_ld_i64(t8, tcg_env, vreg_ofs(s, vd) + i); - tcg_gen_qemu_st_i64(t8, addr, s->mem_idx, MO_LEUQ | atomic= ity); + tcg_gen_qemu_st_i64(t8, addr, s->mem_idx, + MO_LEUQ | atomicity | alignment); } if (i =3D=3D size - 8) { tcg_gen_movi_tl(cpu_vstart, 0); diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 5a3554dd71a..6a262117bba 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -199,20 +199,34 @@ static inline void vext_set_elem_mask(void *v0, int i= ndex, ((uint64_t *)v0)[idx] =3D deposit64(old, pos, 1, value); } =20 +static inline MemOpIdx vext_make_memop_idx(CPURISCVState *env, size_t size) +{ + int mmu_idx =3D riscv_env_mmu_index(env, false); + MemOp memop =3D size_memop(size) | mo_endian_env(env); + + if (!riscv_cpu_cfg(env)->ext_zicclsm) { + memop |=3D MO_ALIGN; + } + + return make_memop_idx(memop, mmu_idx); +} + /* elements operations for load and store */ typedef void vext_ldst_elem_fn_tlb(CPURISCVState *env, abi_ptr addr, uint32_t idx, void *vd, uintptr_t retad= dr); typedef void vext_ldst_elem_fn_host(void *vd, uint32_t idx, void *host); =20 -#define GEN_VEXT_LD_ELEM(NAME, ETYPE, H, LDSUF) \ +#define GEN_VEXT_TLB_LD_ELEM(NAME, ETYPE, H, LDSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_tlb(CPURISCVState *env, abi_ptr addr, \ uint32_t idx, void *vd, uintptr_t retaddr) \ { \ ETYPE *cur =3D ((ETYPE *)vd + H(idx)); \ - *cur =3D cpu_##LDSUF##_data_ra(env, addr, retaddr); \ + MemOpIdx oi =3D vext_make_memop_idx(env, sizeof(ETYPE)); \ + *cur =3D cpu_##LDSUF##_mmu(env, addr, oi, retaddr); \ } \ - \ + +#define GEN_VEXT_HOST_LD_ELEM(NAME, ETYPE, H, LDSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_host(void *vd, uint32_t idx, void *host) \ { \ @@ -220,20 +234,27 @@ void NAME##_host(void *vd, uint32_t idx, void *host) = \ *cur =3D (ETYPE)LDSUF##_p(host); \ } =20 -GEN_VEXT_LD_ELEM(lde_b, uint8_t, H1, ldub) -GEN_VEXT_LD_ELEM(lde_h, uint16_t, H2, lduw_le) -GEN_VEXT_LD_ELEM(lde_w, uint32_t, H4, ldl_le) -GEN_VEXT_LD_ELEM(lde_d, uint64_t, H8, ldq_le) +GEN_VEXT_TLB_LD_ELEM(lde_b, uint8_t, H1, ldb) +GEN_VEXT_TLB_LD_ELEM(lde_h, uint16_t, H2, ldw) +GEN_VEXT_TLB_LD_ELEM(lde_w, uint32_t, H4, ldl) +GEN_VEXT_TLB_LD_ELEM(lde_d, uint64_t, H8, ldq) =20 -#define GEN_VEXT_ST_ELEM(NAME, ETYPE, H, STSUF) \ +GEN_VEXT_HOST_LD_ELEM(lde_b, uint8_t, H1, ldub) +GEN_VEXT_HOST_LD_ELEM(lde_h, uint16_t, H2, lduw_le) +GEN_VEXT_HOST_LD_ELEM(lde_w, uint32_t, H4, ldl_le) +GEN_VEXT_HOST_LD_ELEM(lde_d, uint64_t, H8, ldq_le) + +#define GEN_VEXT_TLB_ST_ELEM(NAME, ETYPE, H, STSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_tlb(CPURISCVState *env, abi_ptr addr, \ uint32_t idx, void *vd, uintptr_t retaddr) \ { \ ETYPE data =3D *((ETYPE *)vd + H(idx)); \ - cpu_##STSUF##_data_ra(env, addr, data, retaddr); \ + MemOpIdx oi =3D vext_make_memop_idx(env, sizeof(ETYPE)); \ + cpu_##STSUF##_mmu(env, addr, data, oi, retaddr); \ } \ - \ + +#define GEN_VEXT_HOST_ST_ELEM(NAME, ETYPE, H, STSUF) \ static inline QEMU_ALWAYS_INLINE \ void NAME##_host(void *vd, uint32_t idx, void *host) \ { \ @@ -241,10 +262,15 @@ void NAME##_host(void *vd, uint32_t idx, void *host) = \ STSUF##_p(host, data); \ } =20 -GEN_VEXT_ST_ELEM(ste_b, uint8_t, H1, stb) -GEN_VEXT_ST_ELEM(ste_h, uint16_t, H2, stw_le) -GEN_VEXT_ST_ELEM(ste_w, uint32_t, H4, stl_le) -GEN_VEXT_ST_ELEM(ste_d, uint64_t, H8, stq_le) +GEN_VEXT_TLB_ST_ELEM(ste_b, uint8_t, H1, stb) +GEN_VEXT_TLB_ST_ELEM(ste_h, uint16_t, H2, stw) +GEN_VEXT_TLB_ST_ELEM(ste_w, uint32_t, H4, stl) +GEN_VEXT_TLB_ST_ELEM(ste_d, uint64_t, H8, stq) + +GEN_VEXT_HOST_ST_ELEM(ste_b, uint8_t, H1, stb) +GEN_VEXT_HOST_ST_ELEM(ste_h, uint16_t, H2, stw_le) +GEN_VEXT_HOST_ST_ELEM(ste_w, uint32_t, H4, stl_le) +GEN_VEXT_HOST_ST_ELEM(ste_d, uint64_t, H8, stq_le) =20 static inline QEMU_ALWAYS_INLINE void vext_continuous_ldst_tlb(CPURISCVState *env, vext_ldst_elem_fn_tlb *ldst_t= lb, @@ -392,7 +418,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 May 30 17:44: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=1778644478; cv=none; d=zohomail.com; s=zohoarc; b=GQIKcrUd4Ytz8bNJksQrjmyQI0AoSEgTcVwz7FnjnQWhpCKIu6aMcowoPmh5aHnK+rZnPIqJEGE0CSQPcwwX0UNW1MGSqlQdKZJYzClSgP5owOMXglY37YV0NcB1vP5rGhU8mtmc5ENzeiGH4uc3AJZk4hAHKRn5GAc0gC5VeoE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778644478; 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=d3kJdKS+0aBBrr66fg3mLbkrfD2MUCjxc0E2Dg4ZHfI=; b=GiIDUwVGWZZ6+EAaKBZIjOi/tXAbh+jJfWQXe6kVRFn2hbxiD0sFFsREnBlmQkGjagf9n5bG2Exwp8N5ZKq7h6vKAepJaVgNx4mbceLiTQBQ/yh5h2P+jgR6fU831/UYlZ2oV9vkD1xpBPNKJMO/jjsU41YQ7SLs+stE5fV8Tsc= 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 177864447854396.1498802994272; Tue, 12 May 2026 20:54:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wN0fA-0005B6-GD; Tue, 12 May 2026 23:53:36 -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 1wN0f8-0005Aa-2H for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:34 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wN0f3-0006r8-7Z for qemu-devel@nongnu.org; Tue, 12 May 2026 23:53:33 -0400 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-c801b30188dso2727498a12.3 for ; Tue, 12 May 2026 20:53:28 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83967dbdfb0sm24317872b3a.45.2026.05.12.20.53.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 20:53:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1778644407; x=1779249207; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d3kJdKS+0aBBrr66fg3mLbkrfD2MUCjxc0E2Dg4ZHfI=; b=EyyKs5Si5+uWJCHcpwwxfHlTyZsvhF3kcdiin5KWrFQnU1cMfByYhrDGWhUZMrDVJ7 gSgxlVX8sYvOlK60RhwpMEgOSVy7JYyQQY9NzwV0PPRbaTAwO1rYoxk3M/WtzYYI58nb gcp/2C/NqCun7wS8DNYSyqTtQnVv1V0X84KvWB70m/i0bPHbZAk7LHkORhXttsvHjSNh aUKsWiGfkRK0MtHuTEoTgN+rorBqBZRUHncBwpmkaUW6Gj826tnmXcLXDaSBrclGbZaJ jiL9NyBg8avOoM+ezvlysK7A5ulxKLONuuYZcqeo0Sv6v2S6msKJSKkvMA1o3VMt/XHf XKqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778644407; x=1779249207; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=d3kJdKS+0aBBrr66fg3mLbkrfD2MUCjxc0E2Dg4ZHfI=; b=g0qKKQSyXkHteCjIdsNR3Nwn6LncMnL9s7Ur8mwcZNpsAv9ssGMDUiHsuJYt3hJVIr 2w67/pz42kXsp7WCKpAprSnv0+oPZB718REMqwZZPjFbXxTs8G92uxmfpPvKpphbcXkW tq26dcwZgAhWjgf7JPvRu7d7OhwbcxZXBO4j3D3Muz1dpE2jc3oTGnWW1eGcE0SvtmP/ fFSLmoc04u3DFK/mBW1TPycYc0QQtfaP1nwaO1wMeoOe8jnvXX1sEvrf4Gs0gQIHbyh3 kjC0GSt3beA57masg6zpiqGHhm/GNXLMJe/NS1D3BOc2rb5Lr4b/CjorjDHeFzrz/3xi YUgg== X-Gm-Message-State: AOJu0Yz1LNYLObX43w0ZljkGOfeFfzFRpgCg5o5AWIY+hjZFHmXHhDla 5hlU3P3gP3aG4VThW/wB8yB/6oOIw1fExM7PfXaO/4+Fz/96wqxHGwYuk+iZTDlcWBYaO5xxA9m qlq51A6BozlIdETqPJi25bnZ+Ls4kVTlAUHQ5Zg765rjRPreAUPv8+SJQFUN+O49t0qSUnoHmkS //ayJTnszbVUkVvRRFC/uUg2HjHWehKHf5erH8ETzLtRHnA1Yf X-Gm-Gg: Acq92OH8oaY9QWD/9h4zxhE9AwMS5jglhzPN09dXxFDGtL5pxzj3Qm+wb71dkYz+JI9 JAOlyCqqe9T+e+pMRqntDsLO3kC5BVw8X+CRumIMAHKpkaZutVp+fIlrVIbfzkwr7NJcct5MFqQ AkKgXKM1OYC43hSEGke4iEAmu5YZosK5V67YW0Qv3D826DIw6+goPKZY2vs2kpM1Fh7RKaFeNyW MNlmInuiOeZY/wran3Z08Ii4niR4NFryvYFsWxhoO8Jiqnn9eE/SkTUKil3fQOu83jKrZaFpmrl /T6/H0D8knE3Il8d6KIUIi4ElIYgkhijcNSk60R3+R6L4+XrlcAoYizkus4kqjogA03gThndzUz q0EBsBPBzgXj0QGAblQnHhYiOVsEG9tA3sRRXscur74cB3dMywLCOmORXLG2aZNCoJlsYiMriQw VFxYFy23Od/6V9ngV1MSAu1+fOlunt7ehKL97ZG2zgticm3rrQBQ== X-Received: by 2002:a05:6a20:3ca3:b0:3a5:8542:61a4 with SMTP id adf61e73a8af0-3af81472f16mr1467150637.25.1778644407007; Tue, 12 May 2026 20:53:27 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs), Frank Chang , Max Chou Subject: [PATCH v2 4/4] target/riscv: Expose Zicclsm extension as a CPU property Date: Wed, 13 May 2026 11:53:10 +0800 Message-ID: <20260513035310.3764218-5-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260513035310.3764218-1-frank.chang@sifive.com> References: <20260513035310.3764218-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::52e; envelope-from=frank.chang@sifive.com; helo=mail-pg1-x52e.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: 1778644481207154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang Expose Zicclsm extension as a CPU property to allow user to turn on/off Zicclsm extension. Zicclsm is set to true by default to be backward compatible with the old RISC-V QEMU design. Signed-off-by: Frank Chang Reviewed-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 468055ee090..2456963904d 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1327,6 +1327,8 @@ const RISCVCPUMultiExtConfig riscv_cpu_extensions[] = =3D { MULTI_EXT_CFG_BOOL("zicbop", ext_zicbop, true), MULTI_EXT_CFG_BOOL("zicboz", ext_zicboz, true), =20 + MULTI_EXT_CFG_BOOL("zicclsm", ext_zicclsm, true), + MULTI_EXT_CFG_BOOL("zmmul", ext_zmmul, false), =20 MULTI_EXT_CFG_BOOL("zca", ext_zca, false), --=20 2.43.0