From dce1cdf19e6d8d7c5f72163401171648093d27bb Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 16 Sep 2020 10:34:12 +0200 Subject: rtems: Add RTEMS_ALIGN_UP() Update #3959. Update #4074. --- cpukit/include/rtems/score/basedefs.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cpukit/include/rtems/score/basedefs.h b/cpukit/include/rtems/score/basedefs.h index 4d16c88b49..c31b4ebef7 100644 --- a/cpukit/include/rtems/score/basedefs.h +++ b/cpukit/include/rtems/score/basedefs.h @@ -234,6 +234,21 @@ #define RTEMS_ALIGN_DOWN( _value, _alignment ) \ ( ( _value ) & ~( ( _alignment ) - 1 ) ) +/** + * @brief Returns the specified value aligned up to the specified alignment. + * + * @param _value is the value to align up. + * + * @param _alignment is the desired alignment in bytes. The alignment shall be + * a power of two, otherwise the returned value is undefined. The alignment + * parameter is evaluated twice. + * + * @return The specified value aligned up to the specified alignment is + * returned. + */ +#define RTEMS_ALIGN_UP( _value, _alignment ) \ + ( ( ( _value ) + ( _alignment ) - 1 ) & ~( ( _alignment ) - 1 ) ) + /** * @brief Instructs the compiler to enforce the specified alignment. */ -- cgit v1.2.3