diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-23 14:07:05 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-23 14:07:05 +0000 |
commit | d126b32055d22d25a920a20099608a5e3b7c2796 (patch) | |
tree | 42ade4def83d16851d8d461179a07400399b28a5 /c/src/lib/libbsp/shared/include/utility.h | |
parent | 2008-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-d126b32055d22d25a920a20099608a5e3b7c2796.tar.bz2 |
2008-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
* include/utility.h: New file.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/shared/include/utility.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/shared/include/utility.h b/c/src/lib/libbsp/shared/include/utility.h new file mode 100644 index 0000000000..caba9a2976 --- /dev/null +++ b/c/src/lib/libbsp/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 */ |