On Thu, Apr 02, 2009 at 09:06:05AM +0200, Luigi Rizzo wrote: > Hi, > I have some list manipulation algorithm that I would like to use > that relies rather centrally on atomic_cmpset_int(). > > This is an atomic instruction on 486+, but not available on 386 > and maybe other platforms. i386/atomic.h has a replacement > but it uses "pushfl; cli; ... popfl;" so it cannot run in userland. > > I was wondering if there is a good emulation for that instruction > on the i386 that is suitable for userland (other architectures > we support have a CPU instruction that does it, or in the case of ARM, > a usable emulation for userland). FreeBSD cannot boot on anything < 486, i.e. cmpxchgl and xaddl may be considered always supported by the CPU.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:45 UTC