From f362ffa3807abff7ddf02a5444837d99e055118c Mon Sep 17 00:00:00 2001 From: Artur Grabowski Date: Tue, 6 Feb 2007 17:13:34 +0000 Subject: Add machine/atomic.h to all architectures and define two operations right now that are supposed to be atomic with respect to interrupts and SMP: atomic_setbits_int and atomic_clearbits_int. All architectures other than i386 and amd64 get dummy implementations since at first we'll be replacing operations that are done with "a |= bit" and "a &= ~bit" today. More proper implementations will follow kettenis@, miod@ ok --- sys/arch/sparc64/include/atomic.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 sys/arch/sparc64/include/atomic.h (limited to 'sys/arch/sparc64/include') diff --git a/sys/arch/sparc64/include/atomic.h b/sys/arch/sparc64/include/atomic.h new file mode 100644 index 00000000000..4e1d5e949ce --- /dev/null +++ b/sys/arch/sparc64/include/atomic.h @@ -0,0 +1,20 @@ +/* $OpenBSD: atomic.h,v 1.1 2007/02/06 17:13:33 art Exp $ */ + +/* Public Domain */ + +#ifndef __SPARC64_ATOMIC_H__ +#define __SPARC64_ATOMIC_H__ + +static __inline void +atomic_setbits_int(__volatile unsigned int *uip, unsigned int v) +{ + *uip |= v; +} + +static __inline void +atomic_clearbits_int(__volatile unsigned int *uip, unsigned int v) +{ + *uip &= ~v; +} + +#endif -- cgit v1.2.3