On Sat, Nov 22, 2014 at 01:24:42PM +0800, Dennis Ferguson wrote: > I'll guess one problem is in sparc/mutex.h, here: > > #define MUTEX_RECEIVE(mtx) /* nothing */ > #define MUTEX_GIVE(mtx) /* nothing */ > > This works with TSO, but with RMO they need to somehow generate > hardware memory barriers. See arm/mutex.h for an example with > them filled in.
Or src/sys/arch/sparc64/include/mutex.h - IIRC sparc v8 and earlier do not have RMO. Martin