From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:32855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SXFUj-00027r-E4 for qemu-devel@nongnu.org; Wed, 23 May 2012 13:37:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SXFUh-0002Gu-4e for qemu-devel@nongnu.org; Wed, 23 May 2012 13:37:08 -0400 Received: from david.siemens.de ([192.35.17.14]:23446) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SXFUg-0002Fz-RN for qemu-devel@nongnu.org; Wed, 23 May 2012 13:37:07 -0400 Message-ID: <4FBD2038.7070007@siemens.com> Date: Wed, 23 May 2012 14:36:56 -0300 From: Jan Kiszka MIME-Version: 1.0 References: <4FBC5C67.1080007@suse.de> <4FBCC877.30003@siemens.com> <4FBD0A0B.1060106@siemens.com> In-Reply-To: <4FBD0A0B.1060106@siemens.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] exec: fix breakpoint_invalidate() breakage List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: TeLeMan Cc: qemu-devel , =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= , Avi Kivity On 2012-05-23 13:02, Jan Kiszka wrote: > On 2012-05-23 11:11, TeLeMan wrote: >> On Wed, May 23, 2012 at 7:22 PM, Jan Kiszka w= rote: >>> On 2012-05-23 04:09, TeLeMan wrote: >>>> On Wed, May 23, 2012 at 11:41 AM, Andreas F=C3=A4rber wrote: >>>>> Am 18.05.2012 11:49, schrieb TeLeMan: >>>>>> This breakage was introduced by the commit "memory: make >>>>>> phys_page_find() return an unadjusted". >>>>> >>>>> You seem to have found the origin of your problem. If you also ment= ion >>>>> the commit hash in your commit message then certain frontends (gitk= , >>>>> repo.or.cz) will display it as a handy hyperlink to that commit. >>>>> >>>>>> >>>>>> Signed-off-by: TeLeMan >>>>> >>>>> Signed-off-by is a legal statement of origin and must not be a pseu= donym. >>>> Ok, please ignore this patch. I won't submit any patch just report b= ugs. >>> >>> Then please describe this bug in more details, e.g. how to reproduce. >> I think its evident. cpu_get_phys_page_debug(env, pc) is not the >> physical address of pc but the physical page base address of pc. >=20 > ...so this bites us if the instruction spans two pages as > tb_invalidate_phys_addr requests invalidation on a page granularity. In fact, this is irrelevant. We only need to flush the address at which the instruction starts, and that is achieved by flushing all TB that relate to that page as the current code does. So, again my question: How can I reproduce the issue you see? Jan --=20 Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux