qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 06/11] tcg: Introduce tb_mark_invalid() and t


From: Sergey Fedorov
Subject: Re: [Qemu-devel] [PATCH v3 06/11] tcg: Introduce tb_mark_invalid() and tb_is_invalid()
Date: Thu, 14 Jul 2016 14:10:08 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0

On 14/07/16 13:25, Alex Bennée wrote:
> Sergey Fedorov <address@hidden> writes:
>
>> > From: Sergey Fedorov <address@hidden>
>> >
>> > These functions will be used to make translation block invalidation safe
>> > with concurrent lockless lookup in the global hash table.
>> >
>> > Most targets don't use 'cs_base'; so marking TB as invalid is as simple
>> > as assigning -1 to 'cs_base'. SPARC target stores the next program
>> > counter into 'cs_base', and -1 is a fine invalid value since PC must bet
>> > a multiple of 4 in SPARC. The only odd target is i386, for which a
>> > special flag is introduced in place of removed 'HF_SOFTMMU_MASK'.
>> >
>> > Suggested-by: Paolo Bonzini <address@hidden>
>> > Signed-off-by: Sergey Fedorov <address@hidden>
>> > Signed-off-by: Sergey Fedorov <address@hidden>
> This has merge conflicts with the current state of master. Is there
> anyway to have a common implementation that is specialised only when
> needed?
>

The point was to put the assumptions on invalid CPU TB state as close to
cpu_get_tb_cpu_state() definitions as possible. So that if anyone make
changes they can notice those assumptions and correct them if necessary.

Kind regards
Sergey



reply via email to

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