On Fri, Apr 25, 2008 at 9:48 AM, Philippe Gerum <[EMAIL PROTECTED]> wrote: > Gilles Chanteperdrix wrote: > > This patch implements the _read, _set, and _cmpxchg operations on > atomic_long_t > > and atomic_ptr_t in user-space in include/asm-generic/atomic.h which > should be > > included at the end of include/asm-*/atomic.h after the definition of the > same > > operations for the atomic_t type and atomic64_t type on 64 bits platforms. > > > > These operations are the basic operations used by user-space mutexes. > Maybe we > > should add the xnarch_ prefix ? > > > > Yes, but more generally, we should rework this to fit the existing atomic > support in include/asm-*/atomic.h, so that we don't end up with sideways to > what > has been already designed to support set, get, xchg and the like, in both > kernel > and userland context.
That is not exactly sideways... Linux include/asm-generic/atomic.h defines operations for atomic_long_t. This file adds two things: - support for atomic_long_t in user-space (where we can not include linux include/asm-generic/atomic.h) - support for a new type atomic_ptr_t both to kernel-space and user-space, the aim is to avoid all the casts that would take place if we wanted to use atomic_long_t to store pointers. However for this file to work, it has to be included by asm-*/atomic.h after the definition of atomic_t (and atomic64_t on 64 bits platforms). So linux includes asm-generic/atomic.h at the end of asm/atomic.h, I simply reproduced this scheme with Xenomai include/asm-*/atomic.h. -- Gilles _______________________________________________ Xenomai-core mailing list Xenomaiemail@example.com https://mail.gna.org/listinfo/xenomai-core