qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 02/30] include/exec/memop: Add bits describing atomicity


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v2 02/30] include/exec/memop: Add bits describing atomicity
Date: Wed, 15 Mar 2023 18:13:44 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

On 16/2/23 03:57, Richard Henderson wrote:
These bits may be used to describe the precise atomicity
requirements of the guest, which may then be used to
constrain the methods by which it may be emulated by the host.

For instance, the AArch64 LDP (32-bit) instruction changes
semantics with ARMv8.4 LSE2, from

   MO_64 | MO_ATMAX_4 | MO_ATOM_IFALIGN
   (64-bits, single-copy atomic only on 4 byte units,
    nonatomic if not aligned by 4),

to

   MO_64 | MO_ATMAX_SIZE | MO_ATOM_WITHIN16
   (64-bits, single-copy atomic within a 16 byte block)

The former may be implemented with two 4 byte loads, or
a single 8 byte load if that happens to be efficient on
the host.  The latter may not, and may also require a
helper when misaligned.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
  include/exec/memop.h | 36 ++++++++++++++++++++++++++++++++++++
  1 file changed, 36 insertions(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>




reply via email to

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