ok On Tue, Jan 26, 2021 at 8:11 AM Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote:
> The first block must be a proper block. Account for this in > _Heap_Area_overhead(). > --- > cpukit/include/rtems/score/heap.h | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/cpukit/include/rtems/score/heap.h > b/cpukit/include/rtems/score/heap.h > index ccc2f5c0fe..62a81cbad9 100644 > --- a/cpukit/include/rtems/score/heap.h > +++ b/cpukit/include/rtems/score/heap.h > @@ -455,7 +455,13 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Area_overhead( > page_size = CPU_ALIGNMENT; > } > > - return 2 * (page_size - 1) + HEAP_BLOCK_HEADER_SIZE; > + /* > + * Account for a potential alignment of the area begin address to a page > + * boundary, the first block, and the last block. The last block > consists > + * only of a block header. > + */ > + return page_size - 1 + _Heap_Min_block_size( page_size ) + > + HEAP_BLOCK_HEADER_SIZE; > } > > /** > -- > 2.26.2 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel