Again, sorry for the personal message, Peter, Google really is failing
here, more so than me.

>> But in my case, an instruction did forward modify some code, but this if
statement did not execute and QEMU executed the old code.

On 14 January 2016 at 16:28, farmdve <farm...@gmail.com> wrote:

> But in my case, an instruction did forward modify some code, but this if
> statement did not execute and QEMU executed the old code.
>
> On 14 January 2016 at 12:27, Peter Maydell <peter.mayd...@linaro.org>
> wrote:
>
>> On 14 January 2016 at 10:15, farmdve <farm...@gmail.com> wrote:
>> > Sorry about that. Somehow Google decided it should reply to you, rather
>> than
>> > the mailing list. It was an honest mistake.
>> >
>> > Original question is below
>> >
>> >
>> > I am unable to get this part here if (!(tb_end <= start || tb_start >=
>> end))
>> > in tb_invalidate_phys_page_range
>> >
>> > What would happen if code forward modifies itself, but that condition
>> > evaluates to true?
>>
>> If that condition is true, then the TB we're looking at (as we
>> iterate through every TB we know about) is not in fact overlapping
>> with the page that the guest just modified, and so is not affected
>> by the write...
>>
>> > Then this piece here won't get executed
>>
>> ...and so it is correct that we don't need to do anything for this TB.
>>
>> thanks
>> -- PMM
>>
>
>

Reply via email to