From nobody Sun Apr 28 21:31:57 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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=fail(p=none dis=none) header.from=ispras.ru ARC-Seal: i=1; a=rsa-sha256; t=1617610912; cv=none; d=zohomail.com; s=zohoarc; b=BiwB460E4O554mSkswLP1Udsg8Kzpsa8kYDd4qTSZLvCCkKEL7cgWi0vHNdEmU1UpG7wXbebzNRrn3G0TPbSZFtCu12HGLhMWquzayaA07j2i2qJsXZofspRsXdQiNaxZoULjY/65NZLQBXttywkDqBskOoWiJs9dRsxRUV7Gbo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617610912; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=RugXMPzztNcM+sV+p5towIQ9fRL6H49n5RF6PzaY4V8=; b=l0Dp4/uDUuha7lJDLQopv/Wbfg+OutoLtV6Xkznk++2oieOKhwK194BsNC6do4b59VfrKkZ1XJCWyxMlER9o9dGjB/OyFjGcR4KWnEt+JAZej9vrNVfLoRn1kHpBSa2ghkOMAdDlIBGRsjKwAQ/0vlaq5mud05mRqHWiJo7FFYU= ARC-Authentication-Results: i=1; mx.zohomail.com; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617610912325933.3216633243037; Mon, 5 Apr 2021 01:21:52 -0700 (PDT) Received: from localhost ([::1]:48766 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTKUY-0001QV-M9 for importer@patchew.org; Mon, 05 Apr 2021 04:21:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39526) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTKTl-00011B-7r for qemu-devel@nongnu.org; Mon, 05 Apr 2021 04:21:01 -0400 Received: from mail.ispras.ru ([83.149.199.84]:55054) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTKTj-0000BH-8l for qemu-devel@nongnu.org; Mon, 05 Apr 2021 04:21:01 -0400 Received: from [127.0.1.1] (unknown [62.118.151.149]) by mail.ispras.ru (Postfix) with ESMTPSA id 1308D40755D3; Mon, 5 Apr 2021 08:20:49 +0000 (UTC) Subject: [PATCH] target/nios2: fix page-fit instruction count From: Pavel Dovgalyuk To: qemu-devel@nongnu.org Date: Mon, 05 Apr 2021 11:20:48 +0300 Message-ID: <161761084874.267629.6627766310804625252.stgit@pasha-ThinkPad-X280> User-Agent: StGit/0.23 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=83.149.199.84; envelope-from=pavel.dovgalyuk@ispras.ru; helo=mail.ispras.ru X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marex@denx.de, pbonzini@redhat.com, crwulff@gmail.com, pavel.dovgalyuk@ispras.ru Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" This patch fixes calculation of number of the instructions that fit the current page. It prevents creation of the translation blocks that cross the page boundaries. It is required for deterministic exception generation in icount mode. Signed-off-by: Pavel Dovgalyuk Reviewed-by: Richard Henderson --- target/nios2/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/nios2/translate.c b/target/nios2/translate.c index 9824544eb3..399f22d938 100644 --- a/target/nios2/translate.c +++ b/target/nios2/translate.c @@ -829,7 +829,7 @@ void gen_intermediate_code(CPUState *cs, TranslationBlo= ck *tb, int max_insns) /* Set up instruction counts */ num_insns =3D 0; if (max_insns > 1) { - int page_insns =3D (TARGET_PAGE_SIZE - (tb->pc & TARGET_PAGE_MASK)= ) / 4; + int page_insns =3D (TARGET_PAGE_SIZE - (tb->pc & ~TARGET_PAGE_MASK= )) / 4; if (max_insns > page_insns) { max_insns =3D page_insns; }