* rtems/score/cpu.h: Modifiy inline assembly language
constraints to use a data register as the CTL/STI
instructions requires. This is not only more correct,
it avoids GCC PR31787.
* sapi/Makefile.am, sapi/include/rtems/io.h, sapi/src/io.c: Split into
one function per file execpt io.c which contains required
initialization methods.
* sapi/src/ioclose.c, sapi/src/iocontrol.c, sapi/src/iodata.c,
sapi/src/ioinitialize.c, sapi/src/ioopen.c, sapi/src/ioread.c,
sapi/src/ioregisterdriver.c, sapi/src/iounregisterdriver.c,
sapi/src/iowrite.c: New files.
* sapi/include/confdefs.h, sapi/src/io.c: Readded code to copy driver
table into Workspace but now it is only done if the application needs
extra slots for dynamic driver registration. Cleaned up
rtems_io_register_driver and rtems_io_unregister_driver code and
added numerous error cases to register.
* optman/sapi/no-io.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.
* startup/bspstart.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.
* libmisc/Makefile.am, libmisc/monitor/mon-object.c,
libmisc/monitor/monitor.h, sapi/include/confdefs.h,
sapi/include/rtems/config.h, sapi/include/rtems/io.h,
sapi/src/exinit.c, sapi/src/io.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.
* libmisc/monitor/mon-dname.c: Removed.
* 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.