From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53379) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zn7zR-0007W9-AF for qemu-devel@nongnu.org; Fri, 16 Oct 2015 12:36:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zn7zM-0003to-Au for qemu-devel@nongnu.org; Fri, 16 Oct 2015 12:36:21 -0400 Received: from mail-lf0-x229.google.com ([2a00:1450:4010:c07::229]:33228) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zn7zM-0003t2-4N for qemu-devel@nongnu.org; Fri, 16 Oct 2015 12:36:16 -0400 Received: by lffv3 with SMTP id v3so82652452lff.0 for ; Fri, 16 Oct 2015 09:36:15 -0700 (PDT) References: <1444774253-10492-1-git-send-email-rth@twiddle.net> <561EC2FA.40901@twiddle.net> <56204F63.6010501@twiddle.net> <562104CB.1080801@gmail.com> From: Sergey Fedorov Message-ID: <5621277D.1000303@gmail.com> Date: Fri, 16 Oct 2015 19:36:13 +0300 MIME-Version: 1.0 In-Reply-To: <562104CB.1080801@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] target-*: Advance pc after recognizing a breakpoint List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson , Peter Maydell Cc: QEMU Developers On 16.10.2015 17:08, Sergey Fedorov wrote: > On 16.10.2015 04:14, Richard Henderson wrote: >> On 10/16/2015 03:36 AM, Peter Maydell wrote: >>> On 14 October 2015 at 22:02, Richard Henderson wrote: >>>> On 10/15/2015 06:34 AM, Peter Maydell wrote: >>>>> This is still the same cryptic comment we have in the >>>>> targets which do do this. Can we have something >>>>> that is a bit more explanatory about what is going on and >>>>> why we need to do this, please? >>>> >>>> Suggestions? >>> ...well, I don't entirely understand the problem it's >>> fixing, which is why I'm asking for a better comment :-) >> Heh. Fair enough. How about >> >> /* The address covered by the breakpoint must be included in >> [tb->pc, tb->pc + tb->size) in order to for it to be >> properly cleared -- thus we increment the PC here so that >> the logic setting tb->size below does the right thing. */ >> >> There are two edge cases that cause the problem with clearing that >> could be described, but I think that the comment becomes too bulky, as >> well as confuses the situation for someone cutting-and-pasting the >> logic to a new port. > Maybe we could rather fix that condition in > tb_invalidate_phys_page_range()? It seems weird that it can't handle a > zero-sized TB. I think extending "!(tb_end <= start || tb_start >= end)" condition to "!(tb_end <= start || tb_start >= end) || tb_start == start" would work fine. Thoughts? I could prepare a patch for that. Best regards, Sergey