qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6 19/19] tcg: enable MTTCG by default for ARM o


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 ops

What 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~



reply via email to

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