summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/no_cpu/rtems/score/cpu.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-07 14:50:24 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-07 14:51:31 +0200
commit57740ce8a1e2370f7fc29c8bcf634e480f920e2b (patch)
treef29e367cc1991b4b12632cb683d59dd8f7d2d1f8 /cpukit/score/cpu/no_cpu/rtems/score/cpu.h
parentDisable per task variables when SMP is enabled (diff)
downloadrtems-57740ce8a1e2370f7fc29c8bcf634e480f920e2b.tar.bz2
score: Clarify CPU port alignment requirements
Diffstat (limited to 'cpukit/score/cpu/no_cpu/rtems/score/cpu.h')
-rw-r--r--cpukit/score/cpu/no_cpu/rtems/score/cpu.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h
index 0b6c4dac72..c864164667 100644
--- a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h
+++ b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h
@@ -733,7 +733,10 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
/**
* CPU's worst alignment requirement for data types on a byte boundary. This
- * alignment does not take into account the requirements for the stack.
+ * alignment does not take into account the requirements for the stack. It
+ * must be a power of two greater than or equal to two. The power of two
+ * requirement makes it possible to align values easily using simple bit
+ * operations.
*
* Port Specific Information:
*
@@ -749,12 +752,11 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
* @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for
* the heap, then this should be set to @ref CPU_ALIGNMENT.
*
- * NOTE: This does not have to be a power of 2 although it should be
- * a multiple of 2 greater than or equal to 2. The requirement
- * to be a multiple of 2 is because the heap uses the least
- * significant field of the front and back flags to indicate
- * that a block is in use or free. So you do not want any odd
- * length blocks really putting length data in that bit.
+ * NOTE: It must be a power of two greater than or equal to two. The
+ * requirement to be a multiple of two is because the heap uses the
+ * least significant field of the front and back flags to indicate that
+ * a block is in use or free. So you do not want any odd length blocks
+ * really putting length data in that bit.
*
* On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will
* have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that