qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] TCG: Fix TB invalidation after breakpoint inser


From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH] TCG: Fix TB invalidation after breakpoint insertion/deletion
Date: Mon, 28 May 2012 12:34:46 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

On 05/24/2012 10:58 PM, Max Filippov wrote:
> On Thu, May 24, 2012 at 6:26 PM, Avi Kivity <address@hidden> wrote:
>> On 05/24/2012 05:11 PM, Max Filippov wrote:
>>>>
>>>> Not in breakpoint_invalidate as the missing offset was compensated
>>>> before your commit (well, starting with c2f07f81a2 in fact).
>>>
>>> I'd say that compensation that you mention
>>>
>>>     ram_addr = (memory_region_get_ram_addr(section.mr)
>>>                 + section.offset_within_region) & TARGET_PAGE_MASK;
>>> this >>>>    ram_addr |= (pc & ~TARGET_PAGE_MASK);
>>>     tb_invalidate_phys_page_range(ram_addr, ram_addr + 1, 0);
>>>
>>> was removed by f3705d53296d, not by 1e7855a558
>>
>> Indeed.  Note how the |= cleverly accommodates both truncating and
>> non-truncating cpu_get_phys_page_debug().
> 
> Right. If the fix is going to be checked in then TeLeMan's original version
> with '|' is preferable for this reason.

I disagree.  Whatever we call cpu_get_phys_page_debug() has to either
mask out the low bits, or not (I prefer the latter, since it's
unambiguous for large pages), but it has to be consistent.  Once it's
consistent, there's no reason to use clever tricks.


-- 
error compiling committee.c: too many arguments to function



reply via email to

[Prev in Thread] Current Thread [Next in Thread]