From patchwork Sat May 5 23:35:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Clark X-Patchwork-Id: 10382497 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id BB6E86053F for ; Sat, 5 May 2018 23:50:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AA96A28DD4 for ; Sat, 5 May 2018 23:50:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9E7B128F79; Sat, 5 May 2018 23:50:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1D5C528DD4 for ; Sat, 5 May 2018 23:50:23 +0000 (UTC) Received: from localhost ([::1]:40331 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fF6wY-00063k-Ad for patchwork-qemu-devel@patchwork.kernel.org; Sat, 05 May 2018 19:50:22 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54467) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fF6kF-0004Ir-SM for qemu-devel@nongnu.org; Sat, 05 May 2018 19:37:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fF6kB-0003tt-UZ for qemu-devel@nongnu.org; Sat, 05 May 2018 19:37:39 -0400 Received: from mail-pg0-x244.google.com ([2607:f8b0:400e:c05::244]:41312) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fF6kB-0003tU-P6 for qemu-devel@nongnu.org; Sat, 05 May 2018 19:37:35 -0400 Received: by mail-pg0-x244.google.com with SMTP id m21-v6so17784204pgv.8 for ; Sat, 05 May 2018 16:37:35 -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=wMEwam6BvPsgRK042BgP/NFq1C4V+noOwdp5p8iI2r4=; b=DrtRiOIKjzeKY/vlKFOrLaZHt1hFx8b9LuljLtbL5ZChjmxo5x2fYq92luSh0f0wGs /+bsvh7VTT0z5kuMRddFBlTzQX1bSAJrNfDfHDFp2rAy+zRNcol2Z/oX2D9Pvb/ZzNUI XcGX5YbwYYLdV+xeSdeVEJjUC5RZXJAHEuQiT7pqOKsyboz9pFmXoSeYIU4BCdonWW2y dNQTF22NmTkGcnMijpD+dHieKo2J7tjZp874asUJMkvkjKtJlmS5t2FMuU5O7ggrlcXk htd6jSwi7F7vQpXf/tqNe1wzHFH+aE6yJaPFtmrG4gMfkcUxIzbEQ5N0Qxt7fmOye+Qv 2Vig== 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=wMEwam6BvPsgRK042BgP/NFq1C4V+noOwdp5p8iI2r4=; b=lBpn30Yam3UKPXFnOD8hBJDS5He6R4x3aS8y8L0w5Au/1UbMSnbMEPf/1SjfkgKkBz qnTBSywBYlQM7ItKHC18H320U3PKcikzYbD1iLsgK9QtNZ855V2GUv93EfoiDDkxTCpL NO/MhJ4N4CJ8J7mIiqrMbkFvWpiDR028f2D+D0XOZilzCbD1Fkf2AlxmCpH//VFz/FaB 54asbdMEbAJkijm2lOKjQfazFOWmKYtYmcqAs4zfCO1lUloknauKpsAs0MXSim6fRdrj 2wdLZKlgnckUADgounuZjev2GpZNAx8Ytk3s1F2zkeFwkAnOPQppj93HusndySVzQVrY I7jw== X-Gm-Message-State: ALQs6tA3ER156iR5jmrmxPPwmHTfWUL/UC2pBOAIaXx8N+xC8vUK6pIW tOzFzAu3H38piERtSXNrXPz+qjsU2qU= X-Google-Smtp-Source: AB8JxZoZbeT7sVEHOSK6VZ/0u6TQFNrzjDPTeF+aTAM0uS7sHM0h/KshO7mAnFX/ilNhVzpvgW/XQA== X-Received: by 2002:a63:41c1:: with SMTP id o184-v6mr26215074pga.393.1525563454858; Sat, 05 May 2018 16:37:34 -0700 (PDT) Received: from localhost.localdomain (122-58-167-38-fibre.bb.spark.co.nz. [122.58.167.38]) by smtp.gmail.com with ESMTPSA id x8sm47297094pfa.173.2018.05.05.16.37.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 05 May 2018 16:37:34 -0700 (PDT) From: Michael Clark To: qemu-devel@nongnu.org Date: Sun, 6 May 2018 11:35:18 +1200 Message-Id: <1525563325-62963-14-git-send-email-mjc@sifive.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1525563325-62963-1-git-send-email-mjc@sifive.com> References: <1525563325-62963-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::244 Subject: [Qemu-devel] [PULL 13/20] 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: Sagar Karandikar , Bastian Koppelmann , Palmer Dabbelt , Michael Clark , Alistair Francis , patches@groups.riscv.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Reviewed-by: Alistair Francis --- 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 7c6068bac958..101dac1ee8dc 100644 --- a/target/riscv/op_helper.c +++ b/target/riscv/op_helper.c @@ -255,7 +255,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 <= PRIV_VERSION_1_09_1 && (val_to_write ^ env->sptbr)) { @@ -465,7 +465,10 @@ target_ulong csr_read_helper(CPURISCVState *env, target_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 >= PRIV_VERSION_1_10_0) { return env->satp; } else {