CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/01/29 17:51:14
Modified files:
sys/arch/sparc64/include: atomic.h lock.h
sys/arch/sparc64/sparc64: clock.c lock_machdep.c pmap.c
Log message:
move sparc64 behind the MI atomic api.
this basically replaces sparc64_cas and sparc64_casx with atomic_cas_uint
and atomic_cas_ulong respectively. it then builds atomic_add and
atomic_sub out of those. this avoids the gcc atomic builtins that
the MI atomic_foo api uses by default, so we dont get the extra
membars that the builtins do but the atomic_foo api doesnt promise.
it also fixes up the code that used to use sparc64_{cas,casx} to
use the atomic_cas api instead.
use of the sparc64 membar() macros are left untouched for now.
ok kettenis@