Message ID | 1538295197-23704-41-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show
Return-Path: <qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=<UNKNOWN>) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="B6NbJZDi"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42NJr84GTYz9s55 for <incoming@patchwork.ozlabs.org>; Sun, 30 Sep 2018 18:44:40 +1000 (AEST) Received: from localhost ([::1]:54378 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>) id 1g6XLC-0006gM-5O for incoming@patchwork.ozlabs.org; Sun, 30 Sep 2018 04:44:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41522) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <paolo.bonzini@gmail.com>) id 1g6Wre-0002YV-6f for qemu-devel@nongnu.org; Sun, 30 Sep 2018 04:14:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <paolo.bonzini@gmail.com>) id 1g6Wrd-0000t1-5F for qemu-devel@nongnu.org; Sun, 30 Sep 2018 04:14:06 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:38657) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <paolo.bonzini@gmail.com>) id 1g6Wrc-0000s4-Rd for qemu-devel@nongnu.org; Sun, 30 Sep 2018 04:14:05 -0400 Received: by mail-wr1-x444.google.com with SMTP id j8-v6so10489346wrw.5 for <qemu-devel@nongnu.org>; Sun, 30 Sep 2018 01:14:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=1+hcatbLNdoTnuY3zwRo1vezEhtOrqvwMA/tz1liv+E=; b=B6NbJZDi86lhfTYd2b6P/efNSq51fnQ18C+DXFt0F/Mt8UfbBB5KC5KHA5NEsYEBAY 1m1eWhK2gB87fecvG54Sro6nR1o/FfPY3eQ9DLB3gF1wiCExAFrtfdM7A9FtXlYhye5c BiRFTjujjD4jXSHJZa8GGVHL44k9gw5kGdo7j5jSvH6DKwg6VUK+jnVupB7sT3hyl9S7 f6z05KonILLtQOEEhkp1aVBk2ZxaTwzRFfnkplJIdzHc50cNRFpIhHFFDKkcLjwn2ZoN qC5M+zqNw8mi188sf3y6LZTFFe1PQlDWA2ZBLQM1vK+lMff+Dq2hs8XRVDdlRLi7Ps/9 MT7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=1+hcatbLNdoTnuY3zwRo1vezEhtOrqvwMA/tz1liv+E=; b=t/zSHskTmCmBQ+uq3NggZ6KyzveBQv5UD3S4JySssLkLtD+Oj1aKoGKqc4YSdRRKeb 0OVycqxeJ61Oi2vAvc0N8iONEtOB0DR7uokIFg7qK0Ixc2mAPP02IHIYrBeDsEJ2Nafo ZlK/MAq153aMTI0tcFnskXU82+A7i0Jca2OWKbQJ0w+cPVghgc0NdnYyI99KJWjFGScg pvN/RzIm0LkQYDqGTqKsZIftE+A9f5Z3bRaq/VMiDslIcRr9Ew1I5hJUPq8dvizRTHTI Io85zEiNzkQywbVHSrrUdCNEfz9LY3O9GVXuIRzk+MDNabZHELkHj26QSBzSdp4slgae ahVw== X-Gm-Message-State: ABuFfog/v16bYN01GEzlGksy8+12aWZtB91XAprQXkqCIG07ynWLmoCw YP+mXohI5qoVBNKCCpodPQgfAV2l X-Google-Smtp-Source: ACcGV62yxPXdIud912ysuy2N87kWjBcVgLu4UTG+Ex/EyRL242MCoY7tQDtfx9HJYchhcWzSXnHYjA== X-Received: by 2002:adf:fa92:: with SMTP id h18-v6mr124135wrr.74.1538295243082; Sun, 30 Sep 2018 01:14:03 -0700 (PDT) Received: from 640k.lan (94-36-187-248.adsl-ull.clienti.tiscali.it. [94.36.187.248]) by smtp.gmail.com with ESMTPSA id u76-v6sm11369194wmd.10.2018.09.30.01.14.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Sep 2018 01:14:02 -0700 (PDT) From: Paolo Bonzini <pbonzini@redhat.com> To: qemu-devel@nongnu.org Date: Sun, 30 Sep 2018 10:12:38 +0200 Message-Id: <1538295197-23704-41-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1538295197-23704-1-git-send-email-pbonzini@redhat.com> References: <1538295197-23704-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::444 Subject: [Qemu-devel] [PULL 40/79] translator: fix breakpoint processing X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <http://lists.nongnu.org/archive/html/qemu-devel/> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=subscribe> Cc: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" <qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org> |
Series |
[PULL,01/79] virtio: Return true from virtio_queue_empty if broken
|
expand
|
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index 0f9dca9..afd0a49 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -34,6 +34,8 @@ void translator_loop_temp_check(DisasContextBase *db) void translator_loop(const TranslatorOps *ops, DisasContextBase *db, CPUState *cpu, TranslationBlock *tb) { + int bp_insn = 0; + /* Initialize DisasContext */ db->tb = tb; db->pc_first = tb->pc; @@ -71,11 +73,13 @@ void translator_loop(const TranslatorOps *ops, DisasContextBase *db, tcg_debug_assert(db->is_jmp == DISAS_NEXT); /* no early exit */ /* Pass breakpoint hits to target for further processing */ - if (unlikely(!QTAILQ_EMPTY(&cpu->breakpoints))) { + if (!db->singlestep_enabled + && unlikely(!QTAILQ_EMPTY(&cpu->breakpoints))) { CPUBreakpoint *bp; QTAILQ_FOREACH(bp, &cpu->breakpoints, entry) { if (bp->pc == db->pc_next) { if (ops->breakpoint_check(db, cpu, bp)) { + bp_insn = 1; break; } } @@ -118,7 +122,7 @@ void translator_loop(const TranslatorOps *ops, DisasContextBase *db, /* Emit code to exit the TB, as indicated by db->is_jmp. */ ops->tb_stop(db, cpu); - gen_tb_end(db->tb, db->num_insns); + gen_tb_end(db->tb, db->num_insns - bp_insn); /* The disas_log hook may use these values rather than recompute. */ db->tb->size = db->pc_next - db->pc_first;