summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/stackimpl.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Do not use RTEMS_INLINE_ROUTINESebastian Huber2022-09-191-5/+5
| | | | | | | Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
* cpukit/include/rtems/score/[s-z]*.h: Change license to BSD-2Joel Sherrill2022-02-281-3/+22
| | | | Updates #3053.
* score: Rename _Stack_Free_nothing()Sebastian Huber2021-05-111-7/+0
| | | | | | | Rename _Stack_Free_nothing() in _Objects_Free_nothing() to make it reusable for the message queue buffers. Update #4007.
* score: Fix task stack initializationSebastian Huber2021-03-271-8/+6
| | | | | | | | | Do not adjust the stack area begin address since this may confuse the stack allocator and result in failed stack frees. Account for the alignment overhead in the stack space size estimate. Check that the stack size is in the expected interval.
* score: Ensure stack alignment requirementSebastian Huber2021-03-051-3/+21
| | | | | | | | Make sure that a user-provided stack size is the minimum size allocated for the stack. Make sure we meet the stack alignment requirement also for CPU ports with CPU_STACK_ALIGNMENT > CPU_HEAP_ALIGNMENT.
* score: Fix _Stack_Extend_size()Sebastian Huber2021-03-011-7/+21
| | | | | Check for an integer overflow. Add a validation test for task create errors.
* score: Canonicalize Doxygen @file commentsSebastian Huber2020-12-021-4/+2
| | | | | | Use common phrases for the file brief descriptions. Update #3706.
* score: Add stack free handler to TCBSebastian Huber2020-08-311-0/+7
| | | | | | | This avoids a dependency to the stack free function in the thread destruction. Update #3959.
* score: Add _Stack_Extend_size()Sebastian Huber2020-02-121-0/+27
| | | | Update #3835.
* score: Simplify TLS area allocationSebastian Huber2020-02-121-1/+3
| | | | | | Use the stack area to allocate the TLS area. Update #3835.
* score: Simplify FP context allocationSebastian Huber2020-02-121-3/+16
| | | | | | | | | | | Use the stack area to allocate the FP context. This considerably simplifies the application configuration since the task count no longer influences the configured work space size. With this change the stack space size is overestimated since an FP context for each thread is accounted. Memory constraint applications can use the stack size for fine tuning. Update #3835.
* score: Simplify thread stack freeSebastian Huber2020-02-121-0/+9
| | | | Update #3835.
* score: Simplify thread stack allocationSebastian Huber2020-02-121-0/+10
| | | | | | Remove superfluous Thread_Control::Start::stack member. Update #3835.
* doxygen: score: adjust doc in stackimpl.h to doxygen guidelinesAndreas Dachsberger2019-05-131-6/+22
| | | | Update #3706.
* doxygen: Rename Score* groups in RTEMSScore*Sebastian Huber2019-04-041-1/+1
| | | | Update #3706
* Remove make preinstallChris Johns2018-01-251-0/+99
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.