[PATCH v5 1/7] rtems: Add RTEMS_ALIGN_DOWN()

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Sep 16 14:49:04 UTC 2020


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 5a7e4e4f31..4d16c88b49 100644
--- a/cpukit/include/rtems/score/basedefs.h
+++ b/cpukit/include/rtems/score/basedefs.h
@@ -219,6 +219,21 @@
   #define RTEMS_WEAK_ALIAS( _target )
 #endif
 
+/**
+ * @brief Returns the specified value aligned down to the specified alignment.
+ *
+ * @param _value is the value to align down.
+ *
+ * @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 down to the specified alignment is
+ *   returned.
+ */
+#define RTEMS_ALIGN_DOWN( _value, _alignment ) \
+  ( ( _value ) & ~( ( _alignment ) - 1 ) )
+
 /**
  * @brief Instructs the compiler to enforce the specified alignment.
  */
-- 
2.26.2



More information about the devel mailing list