+/*!
+ * Execute \a CODE atomically with respect to interrupts.
+ *
+ * \see ENABLE_IRQSAVE DISABLE_IRQRESTORE
+ */
+#define ATOMIC(CODE) \
+ do { \
+ cpuflags_t __flags; \
+ DISABLE_IRQSAVE(__flags); \
+ CODE; \
+ ENABLE_IRQRESTORE(__flags); \
+ } while (0)
+