HomeFreeBSD

Implement 32-bit atomic_fcmpset() in userland for armv4/v5.

Description

Implement 32-bit atomic_fcmpset() in userland for armv4/v5.

  • Add an implementation of atomic_fcmpset_32() using RAS for armv4/v5. This fixes recent world breakage due to use of atomic_fcmpset() in userland.
  • While here, be more careful to not expose wrapper macros for 64-bit atomic_*cmpset to userland for armv4/v5 as only 32-bit cmpset is implemented.

This has been reviewed, but not runtime-tested, but should fix the arm.arm
and arm.armeb worlds that have been broken for a while.

Reviewed by: imp
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D15147