* itron/include/rtems/itron/object.h, itron/src/cre_tsk.c,
libblock/src/show_bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/monitor/mon-manager.c,
libmisc/stackchk/check.c, posix/src/condinit.c,
posix/src/keycreate.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuenametoid.c,
posix/src/mqueueopen.c, posix/src/mqueueunlink.c,
posix/src/mutexinit.c, posix/src/pbarrierinit.c,
posix/src/prwlockinit.c, posix/src/pspininit.c,
posix/src/pthreadcreate.c, posix/src/pthreadexit.c,
posix/src/semaphorecreatesupp.c, posix/src/semaphorenametoid.c,
posix/src/timercreate.c, rtems/src/barrierident.c,
rtems/src/dpmemident.c, rtems/src/msgqident.c, rtems/src/partident.c,
rtems/src/ratemonident.c, rtems/src/regionident.c,
rtems/src/semident.c, rtems/src/taskident.c, rtems/src/timerident.c,
sapi/src/extensionident.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/apimutexallocate.c,
score/src/objectextendinformation.c,
score/src/objectgetnameasstring.c, score/src/objectmp.c,
score/src/objectnametoid.c: Convert the Objects_Name type from a
simple type to a union of an unsigned 32 bit integer and a pointer.
This should help eliminate weird casts between u32 and pointers in
various places. The APIs now have to explicitly call _u32 or _string
versions of helper routines. This should also simplify things and
eliminate the need for ugly casts in some cases.
* score/src/objectclearname.c, score/src/objectcomparenameraw.c,
score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c,
score/src/objectcopynamestring.c: Removed.
* libmisc/stackchk/check.c: Eliminate output with little information.
Always print a blown message using the same routine. Now works with
GNAT RTS -fstack-checking if you have patch for the RTEMS specific
support in your GCC version.
* libcsupport/Makefile.am, libcsupport/src/printk.c:
* libcsupport/src/printk_plugin.c: New file.
include/rtems/bspIo.h, libmisc/cpuuse/cpuusagereport.c,
libmisc/cpuuse/cpuuse.h, libmisc/stackchk/check.c,
libmisc/stackchk/stackchk.h: rtems/include/rtems/rtems/ratemon.h,
rtems/src/ratemonreportstatistics.c: Added capability to specify
your own "printf" routine to various reporting functions. This
added an XXX_with_plugin as the underlying implementation for
+ rtems_rate_monotonic_report_statistics
+ rtems_stack_checker_report_usage
+ rtems_cpu_usage_report
As demonstration, the http netdemo can now print out stack
and cpu usage reports.
* ChangeLog, configure.ac, libcsupport/src/__times.c,
libmisc/cpuuse/cpuuse.c, libmisc/stackchk/check.c,
rtems/include/rtems/rtems/ratemon.h, rtems/src/ratemongetstatus.c,
rtems/src/ratemonperiod.c, rtems/src/ratemonreportstatistics.c,
rtems/src/ratemonresetall.c, rtems/src/ratemontimeout.c,
score/Makefile.am, score/include/rtems/score/thread.h,
score/include/rtems/score/timespec.h, score/src/threaddispatch.c,
score/src/threadinitialize.c, score/src/threadtickletimeslice.c,
score/src/timespecdivide.c: Add nanoseconds granularity to the rate
monotonic period statistics and CPU usage statistics. This capability
is enabled by default although may be conditionally disabled by the
user. It could be too much overhead on small targets but it does not
appear to be bad in early testing. Its impact on code size has not
been evaluated either. It is possible that both forms of statistics
gathering could be disabled with further tweaking of the conditional
compilation.
* score/src/timespecdividebyinteger.c: New file.
* libmisc/cpuuse/cpuuse.c, libmisc/stackchk/check.c,
libmisc/stackchk/stackchk.h: Clean up as side-effect of making them
suitable for inclusion in the Users Guide.
* libmisc/stackchk/check.c, libmisc/stackchk/internal.h,
libmisc/stackchk/stackchk.h: Move stack to first class citizen
status. Include it in User Manual and rename to start with rtems_.
* stackchk/check.c: Fix problem where _Objects_Get_information()
will dereference a null pointer when checking the interrupt stack.
If there's something at 0, you may be ok at run time but it is wrong.
unnecessarily uses any variables defined by the BSP. On this
sweep, use of BSP_Configuration and Cpu_table was eliminated.
A significant part of this modification was the addition of
macros to access fields in the RTEMS configuration structures.
This is necessary to strengthen the division between the BSP independent
parts of RTEMS and the BSPs themselves. This started after
comments and analysis by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
This makes the headings line up above the columns a little better.
Now that it's so easy to include/exclude the stack check code I find
myself adding it to all my `debug' targets.