* libcsupport/src/realloc.c, rtems/include/rtems/rtems/region.h,
rtems/src/regioncreate.c, rtems/src/regionextend.c,
rtems/src/regiongetsegment.c, rtems/src/regiongetsegmentsize.c,
rtems/src/regionmp.c, rtems/src/regionresizesegment.c,
sapi/include/rtems/config.h, score/include/rtems/score/heap.h,
score/include/rtems/score/protectedheap.h, score/src/heap.c,
score/src/heapallocate.c, score/src/heapallocatealigned.c,
score/src/heapextend.c, score/src/heapresizeblock.c,
score/src/heapsizeofuserarea.c, score/src/pheapallocate.c,
score/src/pheapallocatealigned.c, score/src/pheapextend.c,
score/src/pheapgetblocksize.c, score/src/pheapresizeblock.c: Change
sizes of heap/region and allocated objects in heap to intptr_t so
they can be larger than a single allocatable object (e.g. size_t).
* itron/src/chg_pri.c, itron/src/cre_tsk.c, itron/src/rot_rdq.c,
posix/Makefile.am, posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/priority.h, posix/src/mutex.c,
score/include/rtems/score/priority.h: Run all tests successfully with
maxixum number of priorities as 16 instead of 256. This was done by
temporarily modifying the score priority.h maximum. This allowed
testing of all API code to ensure that it worked properly with a
reduced number of priorities. Most modifications were to switch from
hard-coded maximum to using the SuperCore variable based upon
configured number.
* posix/src/mutexdefaultattributes.c: Removed.
* rtems/include/rtems/rtems/ratemon.h,
rtems/include/rtems/rtems/types.h, rtems/src/ratemongetstatistics.c,
rtems/src/ratemongetstatus.c, rtems/src/ratemonperiod.c,
rtems/src/ratemonreportstatistics.c,
score/include/rtems/score/thread.h, score/src/coretodgetuptime.c:
Make all Thread and Period Statistics use publicly defined types. Do
not leak the SuperCore Timestamp type through the APIs.
* libcsupport/src/__times.c, libmisc/cpuuse/cpuusagereport.c,
libmisc/cpuuse/cpuusagereset.c, posix/src/clockgettime.c,
posix/src/pthread.c, posix/src/timersettime.c,
rtems/include/rtems/rtems/ratemon.h,
rtems/src/clockgetsecondssinceepoch.c, rtems/src/clockgetuptime.c,
rtems/src/ratemongetstatus.c, rtems/src/ratemonperiod.c,
rtems/src/ratemonreportstatistics.c, rtems/src/taskwakewhen.c,
rtems/src/timerfirewhen.c, rtems/src/timerserver.c,
rtems/src/timerserverfirewhen.c, score/Makefile.am,
score/preinstall.am, score/include/rtems/score/thread.h,
score/include/rtems/score/tod.h, score/src/coretod.c,
score/src/coretodget.c, score/src/coretodgetuptime.c,
score/src/coretodset.c, score/src/coretodtickle.c,
score/src/threaddispatch.c, score/src/threadinitialize.c: Add
SuperCore handler Timestamp to provide an opaque class for the
representation and manipulation of uptime, time of day, and the
difference between two timestamps. By using SuperCore Timestamp, it
is clear which methods and APIs really have to be struct timespec and
which can be in an optimized native format.
* score/include/rtems/score/timestamp.h,
score/src/coretodgetuptimetimespec.c: New files.
* score/include/rtems/score/timespec.h: Remove unnecessary includes.
Fix typo.
* posix/include/rtems/posix/time.h, score/src/coretodget.c,
score/src/coretodgetuptime.c: Add required include files which
were formerly included from timespec.h
PR 1347/cpukit
* rtems/include/rtems/rtems/timer.h, rtems/src/rtemstimer.c,
rtems/src/timerreset.c, rtems/src/timerserver.c,
rtems/src/timerserverfireafter.c, rtems/src/timerserverfirewhen.c,
score/Makefile.am, score/include/rtems/score/watchdog.h: Rework Timer
Server to ensure that the context allows for blocking, allocating
memory, and acquiring semaphores and mutexes.
* score/src/watchdogadjusttochain.c: New file.
* sapi/include/confdefs.h: Add disable of pipes by default since they
use resources which are otherwise not accounted for. Eventually the
resources will have to be properly configured.
* score/Makefile.am, score/include/rtems/score/watchdog.h: Add
_Watchdog_Report and _Watchdog_Report_chain as debug assist routines.
They are NOT to be used in directives.
* score/src/watchdogreport.c, score/src/watchdogreportchain.c:
New files.
PR 1341/cpukit
* sapi/include/confdefs.h: The following macros were missing
the _Configure_From_workspace() wrapper on their size estimate:
+ CONFIGURE_INTERRUPT_STACK_MEMORY
+ CONFIGURE_MEMORY_PER_TASK_FOR_CLASSIC_API
+ CONFIGURE_INTERRUPT_VECTOR_TABLE
+ CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS
In addition, there was a duplicate definition of
CONFIGURE_MEMORY_PER_TASK_FOR_CLASSIC_API.
* posix/Makefile.am, posix/include/rtems/posix/psignal.h: Add stubs for
gettimer() and setitimer().
* posix/src/getitimer.c, posix/src/setitimer.c: New files.
* libcsupport/Makefile.am, posix/Makefile.am: Comment out including
files which contain routines which are now provided by the newlib
posix subdirectory. Document a few which come from the unix directory.
* score/include/rtems/score/heap.h,
score/include/rtems/score/protectedheap.h,
score/include/rtems/score/wkspace.h, score/src/heap.c,
score/src/heapallocate.c, score/src/heapallocatealigned.c,
score/src/heapextend.c, score/src/heapresizeblock.c,
score/src/heapsizeofuserarea.c, score/src/pheapgetblocksize.c,
score/src/wkspace.c: Revert use of ssize_t. This type is not
guaranteed to be able to represent a positive number greater than the
size of a single allocatable object. We needed a type that is able to
represent the size of a pool of multiple allocatable objects or
potentially nearly all memory.
* libcsupport/src/newlibc_exit.c, score/src/threadhandler.c: Do not
think about running init/fini on AVR. We do not know what mechanism
it uses but this is not it.