Author: jchandra Date: Fri Jan 28 06:12:59 2011 New Revision: 218007 URL: http://svn.freebsd.org/changeset/base/218007
Log: CDDL fixes for MIPS n32. Provide 64 bit atomic ops, and use 32 bit pointer. Modified: head/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c head/sys/cddl/compat/opensolaris/sys/atomic.h Modified: head/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c ============================================================================== --- head/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c Fri Jan 28 05:52:02 2011 (r218006) +++ head/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c Fri Jan 28 06:12:59 2011 (r218007) @@ -52,7 +52,7 @@ atomic_init(void) } #endif -#ifndef __LP64__ +#if !defined(__LP64__) && !defined(__mips_n32) void atomic_add_64(volatile uint64_t *target, int64_t delta) { Modified: head/sys/cddl/compat/opensolaris/sys/atomic.h ============================================================================== --- head/sys/cddl/compat/opensolaris/sys/atomic.h Fri Jan 28 05:52:02 2011 (r218006) +++ head/sys/cddl/compat/opensolaris/sys/atomic.h Fri Jan 28 06:12:59 2011 (r218007) @@ -36,9 +36,11 @@ atomic_cmpset_ptr((volatile uintptr_t *)(_a), (uintptr_t)(_b), (uintptr_t) (_c)) #define cas32 atomic_cmpset_32 -#ifndef __LP64__ +#if !defined(__LP64__) && !defined(__mips_n32) extern void atomic_add_64(volatile uint64_t *target, int64_t delta); extern void atomic_dec_64(volatile uint64_t *target); +#endif +#ifndef __LP64__ extern void *atomic_cas_ptr(volatile void *target, void *cmp, void *newval); #endif #ifndef __sparc64__ @@ -84,7 +86,7 @@ atomic_dec_32_nv(volatile uint32_t *targ return (atomic_fetchadd_32(target, -1) - 1); } -#ifdef __LP64__ +#if defined(__LP64__) || defined(__mips_n32) static __inline void atomic_dec_64(volatile uint64_t *target) { _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"