* user/conf.t: Eliminate maximum_drivers configuration parameter since
it was used to configure a no longer used feature. Device names are
now part of the filesystem not in a table. This also eliminated the
variables _IO_Number_of_devices and _IO_Driver_name_table from RTEMS
as well as the memory allocation used to populate
_IO_Driver_name_table.
* spsize/size.c: Eliminate maximum_drivers configuration parameter
since it was used to configure a no longer used feature. Device names
are now part of the filesystem not in a table. This also eliminated
the variables _IO_Number_of_devices and _IO_Driver_name_table from
RTEMS as well as the memory allocation used to populate
_IO_Driver_name_table.
* sapi/include/confdefs.h: Add CONFIGURE_MESSAGE_BUFFER_MEMORY so there
is less dependence on CONFIGURE_MEMORY_OVERHEAD. Do not arbitrarily
add 1 to CONFIGURE_MEMORY_OVERHEAD so we do not waste a kilobyte for
unused Workspace. Round the workspace required size to an 8 byte
boundary instead of a 0x400 byte one. We may end up needing to add 8
bytes again to account for the alignment rounding.
* spsize/size.c: Eliminated the variables
_RTEMS_tasks_User_initialization_tasks and
_RTEMS_tasks_Number_of_initialization_tasks because they were only
used in one place after initialized. It was a waste of space.
* rtems/Makefile.am, rtems/include/rtems/rtems/barrier.h,
rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h,
rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/part.h,
rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h,
rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/tasks.h,
rtems/include/rtems/rtems/timer.h, sapi/Makefile.am,
sapi/include/rtems/extension.h: Split Classic API data instantiation
into individual files. This reduces the size of the BSS section when
an optional manager stub is used. Some tests showed about a 600 byte
reduction in BSS size.
* rtems/src/taskinitusers.c, sapi/src/rtemsapi.c, rtems/src/tasks.c:
Eliminated the variables _RTEMS_tasks_User_initialization_tasks and
_RTEMS_tasks_Number_of_initialization_tasks because they were only
used in one place after initialized. It was a waste of space.
* rtems/src/barrierdata.c, rtems/src/dpmem.c, rtems/src/dpmemdata.c,
rtems/src/eventdata.c, rtems/src/msgdata.c, rtems/src/partdata.c,
rtems/src/ratemondata.c, rtems/src/regiondata.c,
rtems/src/rtemstimerdata.c, rtems/src/semdata.c, rtems/src/taskdata.c,
sapi/src/extensiondata.c: New files.
* rtems/src/ratemonperiod.c: Fix math ordering bug which resulted in a
negative value in some circumstances. Also cleaned up to share uptime
declaration.
* 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.
* score/src/objectgetnameasstring.c: Internal threads use string names
so in the current RTEMS source string object name can NOT be
disabled. It is probably worth considering converting the internal
threads to uint32_t style names so all the support for string names
can be conditionally disabled.
* score/Makefile.am, score/include/rtems/score/timespec.h: Add division
and greater than operations for timespecs.
* score/src/timespecdivide.c, score/src/timespecgreaterthan.c:
New files.
* rtmonuse/init.c, rtmonuse/task1.c: Integrate Rate Monotonic
Statistics and Period Usage into Rate Monotonic Manager. Added the
following directives: rtems_rate_monotonic_get_statistics,
rtems_rate_monotonic_reset_statistics,
rtems_rate_montonic_reset_all_statistics,
rtems_rate_montonic_report_statistics, and rtems_object_get_name.
Obsoleted the rtems/rtmonuse.h file as a public interface.
* user/Makefile.am, user/concepts.t, user/rtmon.t: Integrate Rate
Monotonic Statistics and Period Usage into Rate Monotonic Manager.
Added the following directives: rtems_rate_monotonic_get_statistics,
rtems_rate_monotonic_reset_statistics,
rtems_rate_montonic_reset_all_statistics,
rtems_rate_montonic_report_statistics, and rtems_object_get_name.
Obsoleted the rtems/rtmonuse.h file as a public interface.
* Makefile.am, gen_section: Integrate Rate Monotonic Statistics and
Period Usage into Rate Monotonic Manager. Added the following
directives: rtems_rate_monotonic_get_statistics,
rtems_rate_monotonic_reset_statistics,
rtems_rate_montonic_reset_all_statistics,
rtems_rate_montonic_report_statistics, and rtems_object_get_name.
Obsoleted the rtems/rtmonuse.h file as a public interface.
* rtmonuse.t: Removed.