[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 PATCH 01/13] Introduce TCGOpcode for memory bar
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [RFC v2 PATCH 01/13] Introduce TCGOpcode for memory barrier |
Date: |
Tue, 31 May 2016 13:24:32 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 |
On 05/31/2016 11:39 AM, Pranith Kumar wrote:
+********* Memory Barrier support
+
+* mb <$arg>
Document what $arg should be.
+Generate a target memory barrier instruction to ensure memory ordering as being
+enforced by a corresponding guest memory barrier instruction. The ordering
+enforced by the backend may be stricter than the ordering required by the
guest.
+It cannot be weaker. This opcode takes an optional constant argument if
required
+to generate the appropriate barrier instruction. The backend should take care
to
The argument is *not* optional.
+void tcg_gen_mb(TCGArg a)
+{
+ /* ??? Enable only when MTTCG is enabled. */
+ tcg_gen_op1(&tcg_ctx, INDEX_op_mb, 0);
Pass A to tcg_gen_op1, not 0.
+/* TCGOpmb args */
+#define TCG_MB_FULL ((TCGArg)(0))
+#define TCG_MB_READ ((TCGArg)(1))
+#define TCG_MB_WRITE ((TCGArg)(2))
+#define TCG_MB_ACQUIRE ((TCGArg)(3))
+#define TCG_MB_RELEASE ((TCGArg)(4))
This is, IMO, confused. Either we should use the C++11 barrier types, or the
Linux barrier types, but not both.
r~
- [Qemu-devel] [RFC v2 PATCH 00/13] tcg: Add fence gen support, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 05/13] tcg/ia64: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 06/13] tcg/mips: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 07/13] tcg/ppc: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 04/13] tcg/arm: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 01/13] Introduce TCGOpcode for memory barrier, Pranith Kumar, 2016/05/31
- Re: [Qemu-devel] [RFC v2 PATCH 01/13] Introduce TCGOpcode for memory barrier,
Richard Henderson <=
- [Qemu-devel] [RFC v2 PATCH 08/13] tcg/s390: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 10/13] tcg/tci: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 13/13] tcg: Generate fences only for SMP MTTCG guests, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 02/13] tcg/i386: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 09/13] tcg/sparc: Add support for fence, Pranith Kumar, 2016/05/31
- [Qemu-devel] [RFC v2 PATCH 03/13] tcg/aarch64: Add support for fence, Pranith Kumar, 2016/05/31