From nobody Tue Feb 10 08:27:46 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 1521915743744283.8311375484034; Sat, 24 Mar 2018 11:22:23 -0700 (PDT) Received: from localhost ([::1]:46726 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ezno6-0000WA-Sg for importer@patchew.org; Sat, 24 Mar 2018 14:22:22 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38457) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eznhZ-0004YY-Qx for qemu-devel@nongnu.org; Sat, 24 Mar 2018 14:20:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ezngV-0003kp-QQ for qemu-devel@nongnu.org; Sat, 24 Mar 2018 14:15:37 -0400 Received: from mail-pf0-x242.google.com ([2607:f8b0:400e:c00::242]:32954) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ezngV-0003kg-Jj for qemu-devel@nongnu.org; Sat, 24 Mar 2018 14:14:31 -0400 Received: by mail-pf0-x242.google.com with SMTP id f15so208103pfn.0 for ; Sat, 24 Mar 2018 11:14:31 -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.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 24 Mar 2018 11:14:29 -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=skhNLehqLx7INkCfB7WkgTioVOYa2VI4KQLj/TiEtYM=; b=UNwQHuLRrnqLieIlN4slBo/kaSOuk0dmUEmfP5NuVsa1dQKHqJpQR0pYLNQCY9tLKw w7lUWpr+NtszG1xal1IlUuy32qK4tCQF6SoeYRQE6ZrfeFK2oWNpv4AUQTuGPTL/Yu/o 8PY83eN9+b/AOmjwzj7pXcENM41XeGtgN2jGSwoHWbtt3JH1Ep/6GRNS76tv8iJ89Ot2 lSfKJ1LHzxtXPtgdD1wU9kQqVBTRTPdcDWsLBQ8wHZH7YZHlcMpugL417o1FmPCiXjXp loffAS0GfbOgQKFnZ2s0tAyQX8gOf3y+O/zpHOK/dnJ6sg+npOCfoc8d03HjaUZ30VjZ uTcg== 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=skhNLehqLx7INkCfB7WkgTioVOYa2VI4KQLj/TiEtYM=; b=rU1PDeXQZf/P38AAmkV7HNb+k0ayERA/sgfCyCK1x7Fx176TGjjXasScLSKTWHECoV E9ZYI2Gk/BgTRNNisZJi4GQCSIWyaRWbSAm+QZC0yIkXlN/ow480g6TLy5yppqCNNAx0 KMAMFFRCR32cQqF9e/ybREJFmBFm7eUj97gU4arvh0cVAPs8c1Pch5JV/FBivhpcuqSv E3gOylX30LnWdwZX67ByJbMOT0tvu1ClJOBe2KRPbTYEhNLXsfeiQROHtvtXS9shOp0y Zs/W+uuOq3le0SMf5xl5rrjXKsO42X86X5qDbJCnu1RbqWXjq8HmOvhzEkDcN3eGA4Az CU4g== X-Gm-Message-State: AElRT7GxOMf/GFK0axtIYYTCs4Su1KgaU2kXKsXYA5Q2ZfNpDCzfcIrK XEcnU7R/jqyd9A1W+QlQHDERVVIgVbk= X-Google-Smtp-Source: AG47ELtWz20VP+dEuYc7vz8M0Sx63ZTJCOKu4Mno9WcEuamwuGKGPq+bKfBZ9myo/XamRa36ugNEDA== X-Received: by 10.99.126.24 with SMTP id z24mr24431467pgc.110.1521915270529; Sat, 24 Mar 2018 11:14:30 -0700 (PDT) From: Michael Clark To: qemu-devel@nongnu.org Date: Sat, 24 Mar 2018 11:13:32 -0700 Message-Id: <1521915220-65389-7-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:c00::242 Subject: [Qemu-devel] [PATCH v6 16/26] RISC-V: Hardwire satp to 0 for no-mmu case 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" satp is WARL so it should not trap on illegal writes, rather it can be hardwired to zero and silently ignore illegal writes. It seems the RISC-V WARL behaviour is preferred to having to trap overhead versus simply reading back the value and checking if the write took (saves hundreds of cycles and more complex trap handling code). Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt --- target/riscv/op_helper.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/target/riscv/op_helper.c b/target/riscv/op_helper.c index e34715d..dd3e417 100644 --- a/target/riscv/op_helper.c +++ b/target/riscv/op_helper.c @@ -242,7 +242,7 @@ void csr_write_helper(CPURISCVState *env, target_ulong = val_to_write, } case CSR_SATP: /* CSR_SPTBR */ { if (!riscv_feature(env, RISCV_FEATURE_MMU)) { - goto do_illegal; + break; } if (env->priv_ver <=3D PRIV_VERSION_1_09_1 && (val_to_write ^ env-= >sptbr)) { @@ -452,7 +452,10 @@ target_ulong csr_read_helper(CPURISCVState *env, targe= t_ulong csrno) return env->scounteren; case CSR_SCAUSE: return env->scause; - case CSR_SPTBR: + case CSR_SATP: /* CSR_SPTBR */ + if (!riscv_feature(env, RISCV_FEATURE_MMU)) { + return 0; + } if (env->priv_ver >=3D PRIV_VERSION_1_10_0) { return env->satp; } else { --=20 2.7.0