From ef6f1d0c43b556d23adaf82f678289316c930d77 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 20 May 2010 14:19:58 +0000 Subject: 2010-05-20 Sebastian Huber * include/utility.h: Removed superfluous macros. --- c/src/lib/libbsp/shared/include/utility.h | 64 ++++++++++--------------------- 1 file changed, 20 insertions(+), 44 deletions(-) (limited to 'c/src/lib/libbsp/shared/include/utility.h') diff --git a/c/src/lib/libbsp/shared/include/utility.h b/c/src/lib/libbsp/shared/include/utility.h index 1c5f0c7894..a55dd13ca0 100644 --- a/c/src/lib/libbsp/shared/include/utility.h +++ b/c/src/lib/libbsp/shared/include/utility.h @@ -1,66 +1,42 @@ /** * @file * - * @brief Utility definitions and functions. + * @ingroup bsp_kit + * + * @brief Utility macros. */ /* - * Copyright (c) 2008 - * Embedded Brains GmbH + * Copyright (c) 2008, 2010 + * 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. + * 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_FIELD( val, mask, shift) \ - (((val) & (mask)) >> (shift)) - -#define SET_FIELD( val, field, mask, shift) \ - (((val) & ~(mask)) | (((field) << (shift)) & (mask))) - -#define CLEAR_FIELD( val, mask) \ - ((val) & ~(mask)) - -#define IS_FLAG_SET( val, flag) \ - (((val) & (flag)) != 0) - -#define IS_FLAG_CLEARED( val, flag) \ - (((val) & (flag)) == 0) - -#define ARE_FLAGS_SET( val, flags) \ - (((val) & (flags)) == (flags)) - -#define IS_ANY_FLAG_SET( val, flags) \ - (((val) & (flags)) != 0) - -#define ARE_FLAGS_CLEARED( val, flags) \ - (((val) & (flags)) == 0) +#include -#define SET_FLAG( val, flag) \ - ((val) | (flag)) +#define BIT32(bit) \ + ((uint32_t) 1 << (bit)) -#define CLEAR_FLAG( val, flag) \ - ((val) & ~(flag)) +#define MASK32(shift, length) \ + ((BIT32(length) - (uint32_t) 1) << (shift)) -#define SET_FLAGS( val, flags) \ - ((val) | (flags)) +#define FIELD32(val, shift, length) \ + (((uint32_t) (val) << (shift)) & MASK32(shift, length)) -#define CLEAR_FLAGS( val, flags) \ - ((val) & ~(flags)) +#define GETFIELD32(reg, shift, length) \ + (((uint32_t) (reg) & MASK32(shift, length)) >> (shift)) -#ifdef __cplusplus -} -#endif /* __cplusplus */ +#define SETFIELD32(reg, val, shift, length) \ + (((uint32_t) (reg) & ~MASK32(shift, length)) | FIELD(val, shift, length)) #endif /* LIBCPU_SHARED_UTILITY_H */ -- cgit v1.2.3