summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/malloc_p.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* libcsupport: Add file to Doxygen groupSebastian Huber2023-07-261-2/+9
| | | | Update #3707.
* cpukit/libcsupport/src/[g-r]*: Change license to BSD-2Joel Sherrill2022-04-011-3/+22
| | | | Updates #3053.
* malloc: Make deferred free support optionalSebastian Huber2020-07-241-2/+0
| | | | | | | | | | | | | | | | | | | | Only include the deferred free support if free() is actually used by the application. The free() implementation in RTEMS supports that allocated memory is freed in interrupt context. Since the heap is protected by a mutex, the frees issued in interrupt context cannot immediately be freed to the heap, instead they are placed on a deferred free list. This list is emptied by the core allocation function rtems_heap_allocate_aligned_with_boundary(). This adds a dependency to free() in rtems_heap_allocate_aligned_with_boundary(). In order to better support applications which only allocate memory and never free it, this dependency should be avoided. Provide a weak default implementation of _Malloc_Process_deferred_frees() for rtems_heap_allocate_aligned_with_boundary(). In the free() module provide the strong implementation. Close #4032.
* malloc: Fix early realloc() allocationSebastian Huber2016-04-061-0/+2
|
* malloc: Add _Malloc_System_state()Sebastian Huber2016-02-251-6/+9
| | | | | | | | | | Replace malloc_is_system_state_OK() with _Malloc_System_state() to allow early allocations, e.g. in bsp_start(). Here the _Thread_Executing is NULL, thus an _API_Mutex_Lock() would lead to a NULL pointer access. Move malloc() support code to general case rtems_heap_allocate_aligned_with_boundary(). Use rtems_heap_allocate_aligned_with_boundary() to avoid duplicated code.
* malloc: Clean up "malloc_p.h" header fileSebastian Huber2016-02-251-7/+7
|
* libcsupport: Delete malloc statisticsSebastian Huber2014-11-281-7/+0
| | | | | | | Use the heap handler statistics instead. Add heap walk option to MALLOC shell command. close #1367
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__Sebastian Huber2013-08-081-1/+0
|
* score: Work area initialization API changeSebastian Huber2012-10-251-5/+0
| | | | | | | | | | | | The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
* libcsupport: malloc_deferred_frees_initialize()Sebastian Huber2012-10-251-1/+0
| | | | Remove this function and statically initialize RTEMS_Malloc_GC_list.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-2/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* Remove #include <inttypes.h>.Ralf Corsepius2009-09-301-1/+0
|
* Rely upon uintmax_t and PRIuMAX being provided.Ralf Corsepius2009-09-151-9/+0
|
* 2008-09-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-09-171-1/+1
| | | | | | | | | | | | | * libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_sbrk_helpers.c, libcsupport/src/malloc_statistics_helpers.c, libcsupport/src/malloc_walk.c, libcsupport/src/mallocfreespace.c, libcsupport/src/mallocinfo.c, libcsupport/src/realloc.c, libcsupport/src/rtems_memalign.c, sapi/include/confdefs.h, score/inline/rtems/score/thread.inl: Add support for optionally having a unified work area. In other words, the RTEMS Workspace and C Program Heap are the same pool of memory.
* Convert using "bool".Ralf Corsepius2008-09-011-1/+1
|
* 2008-01-09 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-01-091-1/+1
| | | | | | * libcsupport/Makefile.am: Add src/malloc_dirtier.c. * libcsupport/include/rtems/malloc.h: Add malloc dirty support. * libcsupport/src/malloc_p.h: Correct prototype.
* 2008-01-09 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-01-091-7/+2
| | | | | | | | | | | | * libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_deferred.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_sbrk_helpers.c, libcsupport/src/posix_memalign.c: Place all deferred free code and place it in subroutines. Add plugin for dirtying allocated memory to assist in debugging. Clean up comments and spacing as needed. * libcsupport/src/malloc_dirtier.c: New file.
* 2008-01-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-01-081-1/+0
| | | | | | | | | | | | | | | * libcsupport/Makefile.am: Add malloc_sbrk_helpers.c. * libcsupport/include/rtems/malloc.h, libcsupport/src/malloc.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_statistics_helpers.c: Make sbrk() support pluggable and optional. This eliminates the need for heap extend and sbrk in the minimum footprint which is ~2.5K on the SPARC. * sapi/include/confdefs.h: Add the following configuration points: + CONFIGURE_MALLOC_STATISTICS + CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK * libcsupport/src/malloc_sbrk_helpers.c: New file.
* 2007-12-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-191-0/+6
| | | | | | | | | | | * libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_report_statistics_plugin.c, libmisc/shell/shell.c, libmisc/shell/shell.h, score/src/objectinitializeinformation.c: Add posix_memalign. Split out management of deferred frees to subroutines. * libcsupport/src/malloc_deferred.c, libcsupport/src/posix_memalign.c: New files.
* 2007-12-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-12-181-0/+55
* libcsupport/Makefile.am, libcsupport/preinstall.am, libcsupport/src/malloc.c, libcsupport/src/mallocinfo.c, libmisc/Makefile.am, libmisc/shell/main_mallocinfo.c, libmisc/shell/shellconfig.h: Split malloc.c into multiple files with one function per file. Also split out statistics into a separate file which can be plugged in dynamically. Right now, it is always in. I suspect that splitting the file removed more code than leaving statistics in. I tinkered with malloc information command in the shell. I resurrected the malloc arena code as malloc boundary. This code is now compiled all the time even though it does not appear to work. * libcsupport/include/rtems/malloc.h, libcsupport/src/_calloc_r.c, libcsupport/src/_free_r.c, libcsupport/src/_malloc_r.c, libcsupport/src/_realloc_r.c, libcsupport/src/calloc.c, libcsupport/src/free.c, libcsupport/src/malloc_boundary.c, libcsupport/src/malloc_get_statistics.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_report_statistics.c, libcsupport/src/malloc_report_statistics_plugin.c, libcsupport/src/malloc_statistics_helpers.c, libcsupport/src/malloc_walk.c, libcsupport/src/realloc.c, libmisc/shell/main_perioduse.c: New files.