|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [PATCH v6 19/19] tcg: enable MTTCG by default for ARM on x86 hosts |
Date: | Thu, 10 Nov 2016 19:41:29 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
On 11/10/2016 07:13 PM, Alex Bennée wrote:
Richard Henderson <address@hidden> writes:On 11/09/2016 03:57 PM, Alex Bennée wrote:This enables the multi-threaded system emulation by default for ARMv7 and ARMv8 guests using the x86_64 TCG backend. This means: - The x86_64 TCG backend supports cmpxchg based atomic ops - The x86_64 TCG backend emits barriers for barrier opsWhat tcg backend doesn't support what we need? For a weakly ordered target, any of our hosts should work.True, but this comes with certification that I've tested it. But you are right adding this to configure is fugly. Should I just drop the backend config symbol requirement totally?
I was thinking that a good backend config symbol would somehow indicate the memory ordering strength of the host. Preferably in such a way that we can tell that host >= guest.
I dunno if we assign ordinal numbers in some arbitrary way, or try something more complex such as
x86_64) HOST_MTTCG_MO='TCG_MO_ALL & ~TCG_MO_LD_ST' Or maybe put this in tcg/*/tcg-target.h in preference to configure. Then enable mttcg if the host memory-order is a superset of the guest, (GUEST_MTTCG_MO & ~HOST_MTTCG_MO) == 0 r~
[Prev in Thread] | Current Thread | [Next in Thread] |