Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: x86_64 and CX8
On Tue, Apr 14, 2020 at 06:34:54PM +0200, Manuel Bouyer wrote:
> hello,
> is someone aware of a x86_64 CPU which does *not* support cmpxchg8b ?
> The instruction seems mandatory since i686-class CPUs, and it seems that
> since windows XP cmpxchg8b is not optional.
>
> in amd64/amd64/spl.S we have 2 implementations of spllower(), which seems
> overkill if all x86-64 CPUs supports cmpxchg8b ...
>
> The reason I'm asking is I want to switch XENPV to cmpxchg8b versions
> of spllower and mutex_exit, and we can't use x86_patch() here.
There are Core 2 chips that lack cmpxchg16b, but that's not the same
thing as cmpxchg8b. Not sure about the early Netburst-based 64-bit
Intels or first-gen AMD Opterons... I should think they'd both have
cmpxchg8b, as that's only a pointer width, and atomic compare/exchange
on single pointer widths was a thing that would have been expected to
exist at the time the architecture was designed.
Jonathan
Home |
Main Index |
Thread Index |
Old Index