From nobody Tue Feb 10 08:27:48 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1521915900971714.2677447145217; Sat, 24 Mar 2018 11:25:00 -0700 (PDT) Received: from localhost ([::1]:46755 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eznqe-00034j-6j for importer@patchew.org; Sat, 24 Mar 2018 14:25:00 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40217) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eznki-0006kO-CB for qemu-devel@nongnu.org; Sat, 24 Mar 2018 14:23:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ezngX-0003lU-Go for qemu-devel@nongnu.org; Sat, 24 Mar 2018 14:18:52 -0400 Received: from mail-pg0-x242.google.com ([2607:f8b0:400e:c05::242]:47018) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ezngX-0003lD-A9 for qemu-devel@nongnu.org; Sat, 24 Mar 2018 14:14:33 -0400 Received: by mail-pg0-x242.google.com with SMTP id t12so3988275pgp.13 for ; Sat, 24 Mar 2018 11:14:33 -0700 (PDT) Received: from monty.com (h98.112.139.40.ip.windstream.net. [40.139.112.98]) by smtp.gmail.com with ESMTPSA id k24sm22314646pff.77.2018.03.24.11.14.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 24 Mar 2018 11:14:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=t3lh++LxetnmSNNw07i/3UNn8XJU8Dt149LiPYmrn4o=; b=NqPOUCyGyHEhwekCQKxZo3W3kkOSHp/B4kWmttS46X6xtW2EXPsNi0PsYI7J84F+UM k3sYBcOFU31fCV8F87cMd+YJ+GcoriUCMrjJ3GH1EAFZfn8VZUqhuKrsmNRkQkjd4gAV +upRDj1DaGNZE3RpkNhs1Gp3ho7rKm0NdfufaP+NDhFKlQSEh2Cye7/1tSF4FiVE9LW6 fEH4qJ4eHxCEikJR+WnucMbokmdQ0FIdY2VbSc5u4ycHynbfefjP+FsAXmkm31DWpjlf zhVuRTnHfCq/1iCuIiPnwN3GCa8OUrbzGkC0+CRYal+AlVClq58ZyBf4dB5/dn/3Phyp RoRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=t3lh++LxetnmSNNw07i/3UNn8XJU8Dt149LiPYmrn4o=; b=EYdvQxUDTclgYtSZ3c0oDIyWHVjWC4Z3qU6Nk8YABP7xjQ38tV4GJnOd0gM7z1hCgd tJBwW3cekOYovL3TgpS9KU7nlAfARpoMhGfbRUWULLPQz5l1y24XGoDgB3eLDhOerKta m7QwFrtscLoRPPotu7LCGy/cFafOh1OmW6SYPUqa2pcHVLOA08WvEg0lXewMgPZnMnMz g9C40vE5JqryixWI8LuSqsOGCLHroHfDq4PlfTM9dQ3AnhcGQY4R/p+LLBoPz4GqE4z5 7pkkaYw9rCZm8/am7BlITUkK3Vfm+qE48yIDXhId/QBCsLe9JQ3EzMQ0VEN4QMbAWFZ4 MzgQ== X-Gm-Message-State: AElRT7GiO1yTWAm4kvTz2fBEzsK6CtOQqewW73LB4QIgLJVuxKr3/7Cl nh0odbAMH11NjiNzjSqH7gaNS5Zs6+s= X-Google-Smtp-Source: AG47ELsQbraAYtpycy1QzhY4WzQm1MVeNCvgLrfVK6jBQjTQd6X48zRG3QMp+t5Zb5C+PYg6//0Xtw== X-Received: by 10.99.117.26 with SMTP id q26mr23993830pgc.169.1521915272360; Sat, 24 Mar 2018 11:14:32 -0700 (PDT) From: Michael Clark To: qemu-devel@nongnu.org Date: Sat, 24 Mar 2018 11:13:34 -0700 Message-Id: <1521915220-65389-9-git-send-email-mjc@sifive.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1521915220-65389-1-git-send-email-mjc@sifive.com> References: <1521915220-65389-1-git-send-email-mjc@sifive.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c05::242 Subject: [Qemu-devel] [PATCH v6 19/26] RISC-V: vectored traps are optional X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: patches@groups.riscv.org, Michael Clark , Palmer Dabbelt , Sagar Karandikar , Bastian Koppelmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Vectored traps for asynchrounous interrupts are optional. The mtvec/stvec mode field is WARL and hence does not trap if an illegal value is written. Illegal values are ignored. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt --- target/riscv/op_helper.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/target/riscv/op_helper.c b/target/riscv/op_helper.c index f79716a..36b9e8e 100644 --- a/target/riscv/op_helper.c +++ b/target/riscv/op_helper.c @@ -262,11 +262,10 @@ void csr_write_helper(CPURISCVState *env, target_ulon= g val_to_write, env->sepc =3D val_to_write; break; case CSR_STVEC: - if (val_to_write & 1) { - qemu_log_mask(LOG_UNIMP, "CSR_STVEC: vectored traps not suppor= ted"); - goto do_illegal; + /* we do not support vectored traps for asynchrounous interrupts */ + if ((val_to_write & 3) =3D=3D 0) { + env->stvec =3D val_to_write >> 2 << 2; } - env->stvec =3D val_to_write >> 2 << 2; break; case CSR_SCOUNTEREN: env->scounteren =3D val_to_write; @@ -284,11 +283,10 @@ void csr_write_helper(CPURISCVState *env, target_ulon= g val_to_write, env->mepc =3D val_to_write; break; case CSR_MTVEC: - if (val_to_write & 1) { - qemu_log_mask(LOG_UNIMP, "CSR_MTVEC: vectored traps not suppor= ted"); - goto do_illegal; + /* we do not support vectored traps for asynchrounous interrupts */ + if ((val_to_write & 3) =3D=3D 0) { + env->mtvec =3D val_to_write >> 2 << 2; } - env->mtvec =3D val_to_write >> 2 << 2; break; case CSR_MCOUNTEREN: env->mcounteren =3D val_to_write; --=20 2.7.0