From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48076) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bodfF-0007eO-RR for qemu-devel@nongnu.org; Mon, 26 Sep 2016 17:42:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bodfB-0004NE-K2 for qemu-devel@nongnu.org; Mon, 26 Sep 2016 17:42:16 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:34142) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bodfB-0004N2-D7 for qemu-devel@nongnu.org; Mon, 26 Sep 2016 17:42:13 -0400 Received: by mail-pa0-f65.google.com with SMTP id he1so568875pac.1 for ; Mon, 26 Sep 2016 14:42:13 -0700 (PDT) Sender: Richard Henderson References: <00a3b0f8e865f9b04e813e63e4c9d4a6d98da210.1474886798.git.sagark@eecs.berkeley.edu> From: Richard Henderson Message-ID: <2593ecc2-d30f-0003-0557-f8f04278095c@twiddle.net> Date: Mon, 26 Sep 2016 14:41:11 -0700 MIME-Version: 1.0 In-Reply-To: <00a3b0f8e865f9b04e813e63e4c9d4a6d98da210.1474886798.git.sagark@eecs.berkeley.edu> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 12/18] target-riscv: Add system instructions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sagar Karandikar , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, kbastian@mail.uni-paderborn.de On 09/26/2016 03:56 AM, Sagar Karandikar wrote: > +void helper_fence_i(CPURISCVState *env) > +{ > + RISCVCPU *cpu = riscv_env_get_cpu(env); > + CPUState *cs = CPU(cpu); > + /* Flush QEMU's TLB */ > + tlb_flush(cs, 1); > + /* ARM port seems to not know if this is okay inside a TB > + But we need to do it */ > + tb_flush(cs); > +} You should not need to tb_flush for fence_i. QEMU's internals auto-detect when a memory write invalidates a TB. r~