> On 19 Jun 2015, at 09:42, Paolo Bonzini <pbonz...@redhat.com> wrote: > > > > On 19/06/2015 09:40, Mark Burton wrote: >>> On 19/06/2015 09:29, Mark Burton wrote: >>>> Does anybody know if the current atomic_cmpxchg will support >>>> 64 bit on a (normal) 32 bit x86, or do we need to special >>>> case that with cmpxchg8b ? (I get the impression that it will >>>> automatically use cmpxchg8b, but not cmpxchg16b - but I’m by >>>> no means sure). >>> >>> Both cmpxchg8b and cmpxchg16b are used, respectively on 32-bit >>> and 64-bit x86. >> >> Thanks Paolo, so we are OK for x86, but we would need to disable >> multi-thread for other 32 bit hosts, and provide a correct >> implementation for non multi-thread… > > But Alvise's implementation for example would work there. It is just > this optimization (that is also not architecturally correct on ARM) that > is problematic.
Yes, that is exactly correct. Cheers Mark. > > Paolo > >> You dont happen to know of a >> convenient macro we can use to test for ’32 bit hosts that dont >> support 64bit cmpxchg ….’ > +44 (0)20 7100 3485 x 210 +33 (0)5 33 52 01 77x 210 +33 (0)603762104 mark.burton