score: Statically initialize IO manager

This simplifies the RTEMS initialization and helps to avoid a memory
overhead.  The workspace demands of the IO manager were not included in
the <rtems/confdefs.h> workspace size estimate.  This is also fixed as a
side-effect.

Update documentation and move "Specifying Application Defined Device
Driver Table" to the section end.  This sub-section is not that
important for the user.  Mentioning this at the beginning may lead to
confusion.
This commit is contained in:
Sebastian Huber
2014-04-07 14:50:37 +02:00
parent 3a4d28a8c3
commit 263f4becea
10 changed files with 54 additions and 148 deletions

View File

@@ -3835,39 +3835,6 @@ custom device drivers.
Note that network device drivers are not configured in the Device Driver Table.
@c
@c === CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE ===
@c
@subsection Specifying Application Defined Device Driver Table
@findex CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
@table @b
@item CONSTANT:
@code{CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE}
@item DATA TYPE:
List of device driver initializers (@code{rtems_driver_address_table}).
@item RANGE:
Undefined or array of device drivers.
@item DEFAULT VALUE:
This is not defined by default, indicating the @code{<rtems/confdefs.h>}
is providing the device driver table.
@end table
@subheading DESCRIPTION:
@code{CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE} is defined if the application
wishes to provide their own Device Driver Table.
The table must be an array of @code{rtems_driver_address_table} entries
named @code{Device_drivers}.
@subheading NOTES:
It is expected that there the application would only rarely need to do this.
@c
@c === CONFIGURE_MAXIMUM_DRIVERS ===
@c
@@ -4296,6 +4263,41 @@ device driver.
@subheading NOTES:
This device driver is supported by all BSPs.
@c
@c === CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE ===
@c
@subsection Specifying Application Defined Device Driver Table
@findex CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
@table @b
@item CONSTANT:
@code{CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE}
@item DATA TYPE:
Boolean feature macro.
@item RANGE:
Defined or undefined.
@item DEFAULT VALUE:
This is not defined by default, indicating the @code{<rtems/confdefs.h>}
is providing the device driver table.
@end table
@subheading DESCRIPTION:
@code{CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE} is defined if the application
wishes to provide their own Device Driver Table.
The table must be an array of @code{rtems_driver_address_table} entries named
@code{_IO_Driver_address_table}. The application must also provide a const
variable @code{_IO_Number_of_drivers} of type @code{size_t} indicating the
number of entries in the @code{_IO_Driver_address_table}.
@subheading NOTES:
It is expected that there the application would only rarely need to do this.
@c
@c === Multiprocessing Configuration ===
@c