This change set makes it possible to statically allocate threads. This means the thread control block is provided by a statically allocated thread information and the thread stack is provided by the user. Currently, no API function exists for this. Adding this API is a follow up change set. Only the internal threads use statically allocated thread stacks in this change set.
Sebastian Huber (21): score: Remove superfluous FP types/defines score: Simplify thread stack allocation score: Simplify thread stack free score: Remove _Stack_Ensure_minimum() call score: Simplify FP context allocation score: Simplify TLS area allocation score: Split stack allocator configuration score: Add Thread_Configuration score: Add _Stack_Extend_size() score: Move thread stack allocation score: Statically allocate idle/MPCI stacks score: Add _Objects_Free_objects_block() score: Split up objects allocation score: Split up objects free score: Inline _Objects_Namespace_remove_u32() score: _Objects_Extend_information() score: Add _Freechain_Is_empty() score: Add _Freechain_Pop() score: Add _Freechain_Extend() score: Add _Objects_Activate_unlimited() score: Simplify _Thread_Initialize() cpukit/Makefile.am | 9 + cpukit/include/rtems/confdefs.h | 149 ++++--------- cpukit/include/rtems/config.h | 71 ++---- cpukit/include/rtems/score/context.h | 4 +- cpukit/include/rtems/score/freechain.h | 42 ++++ cpukit/include/rtems/score/mpci.h | 7 + cpukit/include/rtems/score/objectdata.h | 99 ++++++++- cpukit/include/rtems/score/objectimpl.h | 241 +++++++++++++-------- cpukit/include/rtems/score/stack.h | 63 +++++- cpukit/include/rtems/score/stackimpl.h | 67 +++++- cpukit/include/rtems/score/thread.h | 34 ++- cpukit/include/rtems/score/threadimpl.h | 108 +++++---- cpukit/include/rtems/score/tls.h | 25 +-- cpukit/posix/src/pthreadcreate.c | 79 ++++--- cpukit/rtems/src/taskcreate.c | 57 ++--- cpukit/score/cpu/arm/include/rtems/score/cpu.h | 6 - cpukit/score/cpu/bfin/include/rtems/score/cpu.h | 185 +--------------- .../score/cpu/epiphany/include/rtems/score/cpu.h | 106 +-------- cpukit/score/cpu/lm32/include/rtems/score/cpu.h | 92 +------- cpukit/score/cpu/moxie/include/rtems/score/cpu.h | 138 +----------- cpukit/score/cpu/nios2/include/rtems/score/cpu.h | 2 - cpukit/score/cpu/or1k/include/rtems/score/cpu.h | 122 +---------- cpukit/score/cpu/v850/include/rtems/score/cpu.h | 144 +----------- cpukit/score/cpu/x86_64/include/rtems/score/cpu.h | 31 +-- cpukit/score/src/configstackspacesize.c | 54 +++++ cpukit/score/src/freechain.c | 33 ++- cpukit/score/src/mpci.c | 40 ++-- cpukit/score/src/mpcidefault.c | 8 + cpukit/score/src/objectallocate.c | 101 +++------ cpukit/score/src/objectallocatenone.c | 45 ++++ cpukit/score/src/objectallocatestatic.c | 44 ++++ cpukit/score/src/objectallocateunlimited.c | 68 ++++++ cpukit/score/src/objectextendinformation.c | 21 +- cpukit/score/src/objectfree.c | 5 +- cpukit/score/src/objectfreenone.c | 47 ++++ cpukit/score/src/objectfreestatic.c | 47 ++++ cpukit/score/src/objectnamespaceremove.c | 9 - cpukit/score/src/objectshrinkinformation.c | 92 ++++---- cpukit/score/src/stackallocator.c | 41 ++++ cpukit/score/src/threadallocateunlimited.c | 92 ++++++++ cpukit/score/src/threadcreateidle.c | 46 ++-- cpukit/score/src/threadinitialize.c | 184 ++++++---------- cpukit/score/src/threadrestart.c | 7 +- cpukit/score/src/threadstackallocate.c | 28 +-- cpukit/score/src/threadstackfree.c | 32 +-- cpukit/score/src/tlsallocsize.c | 72 ++++++ cpukit/score/src/wkspace.c | 38 ---- testsuites/samples/unlimited/test1.c | 2 + testsuites/sptests/spfreechain01/init.c | 7 +- testsuites/sptests/spstkalloc/init.c | 4 +- 50 files changed, 1472 insertions(+), 1576 deletions(-) create mode 100644 cpukit/score/src/configstackspacesize.c create mode 100644 cpukit/score/src/objectallocatenone.c create mode 100644 cpukit/score/src/objectallocatestatic.c create mode 100644 cpukit/score/src/objectallocateunlimited.c create mode 100644 cpukit/score/src/objectfreenone.c create mode 100644 cpukit/score/src/objectfreestatic.c create mode 100644 cpukit/score/src/stackallocator.c create mode 100644 cpukit/score/src/threadallocateunlimited.c create mode 100644 cpukit/score/src/tlsallocsize.c -- 2.16.4 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel