| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.
This has at least seven problems:
* The make preinstall step itself needs time and disk space.
* Errors in header files show up in the build tree copy. This makes it
hard for editors to open the right file to fix the error.
* There is no clear relationship between source and build tree header
files. This makes an audit of the build process difficult.
* The visibility of all header files in the build tree makes it
difficult to enforce API barriers. For example it is discouraged to
use BSP-specifics in the cpukit.
* An introduction of a new build system is difficult.
* Include paths specified by the -B option are system headers. This
may suppress warnings.
* The parallel build had sporadic failures on some hosts.
This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.
The new cpukit include directories are:
* cpukit/include
* cpukit/score/cpu/@RTEMS_CPU@/include
* cpukit/libnetworking
The new BSP include directories are:
* bsps/include
* bsps/@RTEMS_CPU@/include
* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include
There are build tree include directories for generated files.
The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.
The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.
Update #3254.
|
|
|
|
|
|
|
| |
Use the heap handler statistics instead. Add heap walk option to MALLOC
shell command.
close #1367
|
| |
|
|
|
|
|
| |
Add rtems_workspace_greedy_allocate_all_except_largest() and
rtems_heap_greedy_allocate_all_except_largest().
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7996208
|
| |
|
| |
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/8009205
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7992211
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The header file <rtems/malloc.h> provides now also the malloc_walk()
prototype.
The malloc_walk() prototype reflects now the _Protected_heap_Walk() API.
The return status helps to print only in case of an error.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Various tests must check program paths that result due to failed memory
allocations from the heap. To avoid tinkering with internal heap
structures throughout the test code these functions should be used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/rtems/bspIo.h, include/rtems/concat.h,
include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h,
include/rtems/pci.h, include/rtems/userenv.h,
libblock/include/rtems/flashdisk.h,
libblock/include/rtems/nvdisk-sram.h,
libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h,
libcsupport/include/console.h, libcsupport/include/iosupp.h,
libcsupport/include/spurious.h,
libcsupport/include/motorola/mc68230.h,
libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h,
libcsupport/include/rtems/framebuffer.h,
libcsupport/include/rtems/gxx_wrappers.h,
libcsupport/include/rtems/libcsupport.h,
libcsupport/include/rtems/libio_.h,
libcsupport/include/rtems/malloc.h,
libcsupport/include/rtems/termiostypes.h,
libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h,
libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h,
libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h,
libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h,
libmisc/capture/capture-cli.h, libmisc/capture/capture.h,
libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h,
libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h,
libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h,
libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h,
libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h,
posix/include/mqueue.h, posix/include/semaphore.h,
posix/include/rtems/posix/aio_misc.h,
posix/include/rtems/posix/barrier.h,
posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h,
posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/posixapi.h,
posix/include/rtems/posix/priority.h,
posix/include/rtems/posix/psignal.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/ptimer.h,
posix/include/rtems/posix/rwlock.h,
posix/include/rtems/posix/semaphore.h,
posix/include/rtems/posix/sigset.h,
posix/include/rtems/posix/spinlock.h,
posix/include/rtems/posix/threadsup.h,
posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h,
posix/inline/rtems/posix/barrier.inl,
posix/inline/rtems/posix/cond.inl,
posix/inline/rtems/posix/mqueue.inl,
posix/inline/rtems/posix/mutex.inl,
posix/inline/rtems/posix/priority.inl,
posix/inline/rtems/posix/pthread.inl,
posix/inline/rtems/posix/rwlock.inl,
posix/inline/rtems/posix/semaphore.inl,
posix/inline/rtems/posix/spinlock.inl,
posix/inline/rtems/posix/timer.inl, rtems/mainpage.h,
rtems/include/rtems/rtems/barrier.h,
rtems/include/rtems/rtems/object.h,
rtems/include/rtems/rtems/timer.h,
rtems/inline/rtems/rtems/barrier.inl,
rtems/inline/rtems/rtems/timer.inl,
rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h,
sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h,
score/include/rtems/score/object.h,
score/include/rtems/score/priority.h,
score/inline/rtems/score/object.inl,
score/inline/rtems/score/priority.inl: Add @file Doxygen directives
and descriptions to files which originated with RTEMS. This improves
the file list page generated by Doxygen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libcsupport/include/rtems/malloc.h, libmisc/stackchk/stackchk.h,
posix/include/rtems/posix/time.h, rtems/include/rtems/rtems/object.h,
score/include/rtems/score/apiext.h,
score/include/rtems/score/interr.h, score/include/rtems/score/mpci.h,
score/include/rtems/score/objectmp.h,
score/include/rtems/score/thread.h,
score/include/rtems/score/threadmp.h,
score/include/rtems/score/threadq.h,
score/include/rtems/score/timespec.h,
score/include/rtems/score/timestamp.h,
score/include/rtems/score/timestamp64.h,
score/include/rtems/score/tod.h,
score/include/rtems/score/watchdog.h,
score/include/rtems/score/wkspace.h: Make @brief formatting more
consistent.
* score/include/rtems/score/rbtree.h: Also reformat.
|
|
|
|
|
|
|
| |
* libcsupport/src/rtems_heap_extend.c: New file.
* libcsupport/Makefile.am: Reflect change from above.
* libcsupport/include/rtems/malloc.h: Declare rtems_heap_extend().
* score/include/rtems/score/heap.h: Documentation.
|
|
|
|
|
|
|
|
|
|
| |
PR 1472/cpukit
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h,
libcsupport/src/free.c, libcsupport/src/malloc.c,
libcsupport/src/malloc_initialize.c, libcsupport/src/realloc.c,
libcsupport/src/rtems_memalign.c: Remove malloc boundary code. It has
not been used since before 4.6 and is bitrotted.
* libcsupport/src/malloc_boundary.c: Removed.
|
|
|
|
|
|
| |
PR 1581/cpukit
* libcsupport/include/rtems/malloc.h, sapi/include/confdefs.h: Remove
extra * on function pointer declaration.
|
|
|
|
| |
_Heap_Allocate_aligned_with_boundary().
|
| |
|
|
|
|
|
| |
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h,
libcsupport/src/rtems_malloc.c: New function rtems_malloc().
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h,
libcsupport/src/malloc_walk.c, libcsupport/src/posix_memalign.c,
libcsupport/src/realloc.c, score/src/heapwalk.c: Add rtems_memalign
as helper and as exposed nmemalign variant with few restrictions.
Also turn on compilation of _Heap_Walk but make forced calls to it
conditionally compiled. This should allow more flexibility to the
user as to run-time checking of the heap.
* libcsupport/src/rtems_memalign.c: New file.
|
|
|
|
|
|
| |
* libcsupport/Makefile.am: Add src/malloc_dirtier.c.
* libcsupport/include/rtems/malloc.h: Add malloc dirty support.
* libcsupport/src/malloc_p.h: Correct prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
* 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.
|