On 07/18/2016 11:05 PM, Paolo Bonzini wrote:
Because atomic_read/atomic_set does not work on platforms that only
support 32-bit atomic writes, we need volatile_read/volatile_set.

This patch fixes up Sergey's series to use volatile_read/volatile_set
instead of atomic_read/atomic_set.  Because volatile_read/volatile_set
can cause torn writes, the invalidation mechanism for SPARC targets is
changed to use flags instead of cs_base.  Torn writes are not a problem
for targets that don't use cs_base at all, because 0xffffffff00000000
or 0x00000000ffffffff cs_bases cannot be confused with the cs_base of
a valid translation block.

The patch also includes two fixes, respectively using atomic_rcu_read in
tb_find and fixing computation of the hash index in tb_phys_invalidate.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>

Reviewed-by: Richard Henderson <r...@twiddle.net>


r~

Reply via email to