[RTEMS Project] #3482: Relax the buffer alignment required by rtems_partition_create()

RTEMS trac trac at rtems.org
Thu Aug 2 12:37:58 UTC 2018


#3482: Relax the buffer alignment required by rtems_partition_create()
------------------------------+-----------------------------
  Reporter:  Sebastian Huber  |      Owner:  Sebastian Huber
      Type:  enhancement      |     Status:  assigned
  Priority:  normal           |  Milestone:  5.1
 Component:  rtems            |    Version:  5
  Severity:  normal           |   Keywords:
Blocked By:                   |   Blocking:
------------------------------+-----------------------------
 Buffer alignment required by rtems_partition_create() is too strict since
 it is checked via _Addresses_Is_aligned() which is
 {{{
 RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned (
   const void *address
 )
 {
 #if (CPU_ALIGNMENT == 0)
     return true;
 #else
     return (((uintptr_t)address % CPU_ALIGNMENT) == 0);
 #endif
 }
 }}}

 The CPU_ALIGNMENT must take long double and vector data type alignment
 requirements into account.  For the partition maintenance only pointer
 alignment is required.  The user should ensure that its buffer is suitable
 for the items it wants to manage.  The user should not be burdened to
 provide buffers with the maximum architecture alignment, e.g. why need a
 16 byte aligned buffer if you want to manage items with 4 byte integers
 only?

--
Ticket URL: <http://devel.rtems.org/ticket/3482>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list