summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/shared
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-09-22 12:51:16 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-09-22 12:51:16 +0000
commit9cabf5f30017610922c165473fb2515c74308042 (patch)
treeddce27a7cad461778189f689822c22f14663bf02 /c/src/lib/libcpu/shared
parentadded BSP for ARM LPC24xx (diff)
downloadrtems-9cabf5f30017610922c165473fb2515c74308042.tar.bz2
shared/include/utility.h: New file.
Diffstat (limited to 'c/src/lib/libcpu/shared')
-rw-r--r--c/src/lib/libcpu/shared/include/utility.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/shared/include/utility.h b/c/src/lib/libcpu/shared/include/utility.h
new file mode 100644
index 0000000000..caba9a2976
--- /dev/null
+++ b/c/src/lib/libcpu/shared/include/utility.h
@@ -0,0 +1,54 @@
+/**
+ * @file
+ *
+ * @brief Utility definitions and functions.
+ */
+
+/*
+ * Copyright (c) 2008
+ * Embedded Brains GmbH
+ * Obere Lagerstr. 30
+ * D-82178 Puchheim
+ * Germany
+ * rtems@embedded-brains.de
+ *
+ * The license and distribution terms for this file may be found in the file
+ * LICENSE in this distribution or at http://www.rtems.com/license/LICENSE.
+ */
+
+#ifndef LIBCPU_SHARED_UTILITY_H
+#define LIBCPU_SHARED_UTILITY_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define GET_REG_FIELD( reg, mask, shift) \
+ (((reg) & (mask)) >> (shift))
+
+#define SET_REG_FIELD( reg, val, mask, shift) \
+ (((reg) & ~(mask)) | (((val) << (shift)) & (mask)))
+
+#define REG_FLAG_IS_SET( reg, flag) \
+ (((reg) & (flag)) != 0)
+
+#define REG_FLAG_IS_CLEARED( reg, flag) \
+ (((reg) & (flag)) == 0)
+
+#define SET_REG_FLAG( reg, flag) \
+ ((reg) | (flag))
+
+#define CLEAR_REG_FLAG( reg, flag) \
+ ((reg) & ~(flag))
+
+#define SET_REG_FLAGS( reg, flags, mask) \
+ (((reg) & ~(mask)) | (flags))
+
+#define CLEAR_REG_FLAGS( reg, flags) \
+ ((reg) & ~(flags))
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* LIBCPU_SHARED_UTILITY_H */