[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