summaryrefslogtreecommitdiffstats
path: root/sys/arm/include/atomic.h
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2014-09-10 15:25:15 +0000
committerandrew <andrew@FreeBSD.org>2014-09-10 15:25:15 +0000
commit249f5cbad95c9fb430054e36196915cf7331c68f (patch)
tree0c4e46cf97edb07c5459c945688da1693c8d9516 /sys/arm/include/atomic.h
parent4dbc32b6e112ce88b9279d54cdb09e838aa28ca6 (diff)
downloadFreeBSD-src-249f5cbad95c9fb430054e36196915cf7331c68f.zip
FreeBSD-src-249f5cbad95c9fb430054e36196915cf7331c68f.tar.gz
Unify interrupts bit definition and usage. While here remove PSR_C_bit.
Submitted by: Svatopluk Kraus <onwahe at gmail.com>, Michal Meloun <meloun at miracle.cz> Differential Revision: https://reviews.freebsd.org/D754
Diffstat (limited to 'sys/arm/include/atomic.h')
-rw-r--r--sys/arm/include/atomic.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/arm/include/atomic.h b/sys/arm/include/atomic.h
index b3af198..5857f5d 100644
--- a/sys/arm/include/atomic.h
+++ b/sys/arm/include/atomic.h
@@ -40,6 +40,7 @@
#define _MACHINE_ATOMIC_H_
#include <sys/types.h>
+#include <machine/armreg.h>
#ifndef _KERNEL
#include <machine/sysarch.h>
@@ -67,12 +68,7 @@
#define wmb() dmb()
#define rmb() dmb()
-#ifndef I32_bit
-#define I32_bit (1 << 7) /* IRQ disable */
-#endif
-#ifndef F32_bit
-#define F32_bit (1 << 6) /* FIQ disable */
-#endif
+
/*
* It would be nice to use _HAVE_ARMv6_INSTRUCTIONS from machine/asm.h
@@ -702,7 +698,7 @@ atomic_store_rel_long(volatile u_long *p, u_long v)
"orr %1, %0, %2;" \
"msr cpsr_fsxc, %1;" \
: "=r" (cpsr_save), "=r" (tmp) \
- : "I" (I32_bit | F32_bit) \
+ : "I" (PSR_I | PSR_F) \
: "cc" ); \
(expr); \
__asm __volatile( \
OpenPOWER on IntegriCloud