Changeset 6d00095 in rtems
- Timestamp:
- 03/27/02 14:39:06 (22 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 9b02fa65
- Parents:
- f4c118d
- Location:
- doc/user
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/user/ChangeLog
rf4c118d r6d00095 1 2002-03-22 Chris Johns <ccj@acm.org> 2 3 * io.t, conf.t: PR 160. Added the IO Manager's register and 4 unregister interface documentation. 5 1 6 2002-03-15 Eric Norum <eric.norum@usask.ca> 2 7 -
doc/user/conf.t
rf4c118d r6d00095 256 256 device driver table. 257 257 258 @findex CONFIGURE_MAXIMUM_DRIVERS 259 @item @code{CONFIGURE_MAXIMUM_DRIVERS} is defined 260 as the number of device drivers per node. By default, this is 261 set to 10. 262 258 263 @findex CONFIGURE_MAXIMUM_DEVICES 259 264 @item @code{CONFIGURE_MAXIMUM_DEVICES} is defined … … 717 722 rtems_unsigned32 ticks_per_timeslice; 718 723 rtems_unsigned32 maximum_devices; 724 rtems_unsigned32 maximum_drivers; 719 725 rtems_unsigned32 number_of_device_drivers; 720 726 rtems_driver_address_table *Device_driver_table; … … 801 807 to the setting of the macro @code{CONFIGURE_MAXIMUM_DEVICES}. 802 808 809 @item maximum_drivers 810 is the maximum number of device drivers that can be registered. 811 When using the @code{confdefs.h} mechanism for configuring 812 an RTEMS application, the value for this field corresponds 813 to the setting of the macro @code{CONFIGURE_MAXIMUM_DRIVERS}. 814 This value is set to @code{maximum_devices} if it is greater 815 than @code{maximum_drivers}. 816 803 817 @item number_of_device_drivers 804 818 is the number of device drivers for the system. There should be … … 1398 1412 @cindex Device Driver Table 1399 1413 1400 The Device Driver Table is used to inform the I/O 1401 Manager of the set of entry points for each device driver 1402 configured in the system. The table contains one entry for each 1403 device driver required by the application. The number of 1404 entries is defined in the number_of_device_drivers entry in the 1405 Configuration Table. The format of each entry in the Device 1406 Driver Table is defined in 1407 the following @value{LANGUAGE} @value{STRUCTURE}: 1414 The Device Driver Table is used to inform the I/O Manager of the set of 1415 entry points for each device driver configured in the system. The table 1416 contains one entry for each device driver required by the application. 1417 The number of entries is defined in the number_of_device_drivers entry 1418 in the Configuration Table. This table is copied to the Device Drive 1419 Table during the IO Manager's initialization giving the entries in this 1420 table the lower major numbers. The format of each entry in the Device 1421 Driver Table is defined in the following @value{LANGUAGE} 1422 @value{STRUCTURE}: 1408 1423 1409 1424 @ifset is-C -
doc/user/io.t
rf4c118d r6d00095 36 36 @cindex Device Driver Table 37 37 38 Each application utilizing the RTEMS I/O manager must 39 specify the address of a Device Driver Table in its 40 Configuration Table. This table contains each device driver's 41 entry points. Each device driver may contain the following 42 entry points:38 Each application utilizing the RTEMS I/O manager must specify the 39 address of a Device Driver Table in its Configuration Table. This table 40 contains each device driver's entry points that is to be initialised by 41 RTEMS during initialization. Each device driver may contain the 42 following entry points: 43 43 44 44 @itemize @bullet … … 58 58 driver entry points. 59 59 60 Applications can register and unregister drivers with the RTEMS I/O 61 manager avoiding the need to have all drivers statically defined and 62 linked into this table. 63 64 The @file{confdefs.h} entry @code{CONFIGURE_MAXIMUM_DRIVERS} configures 65 the number of driver slots available to the application. 66 60 67 @subsection Major and Minor Device Numbers 61 68 … … 116 123 for device drivers, it makes no assumptions regarding the 117 124 construction or operation of a device driver. 125 126 @sybsection Runtime Driver Registration 127 128 @cindex runtime driver registration 129 130 Board support package and application developers can select wether a 131 device driver is statically entered into the default device table or 132 registered at runtime. 133 134 Dynamic registration helps applications where: 135 136 @enumerate 137 @item The BSP and kernel libraries are common to a range of applications 138 for a specific target platform. An application may be built upon a 139 common library with all drivers. The application selects and registers 140 the drivers. Uniform driver name lookup protects the application. 141 @item The type and range of drivers may vary as the application probes a 142 bus during initialization. 143 @item Support for hot swap bus system such as Compact PCI. 144 @item Support for runtime loadable driver modules. 145 @end enumerate 118 146 119 147 @subsection Device Driver Interface … … 222 250 @c 223 251 @page 252 @subsection IO_REGISTER_DRIVER - Register a device driver 253 254 @cindex register a device driver 255 256 @subheading CALLING SEQUENCE: 257 258 @ifset is-C 259 @findex rtems_io_register_driver 260 @example 261 rtems_status_code rtems_io_register_driver( 262 rtems_device_major_number major, 263 rtems_driver_address_table *driver_table, 264 rtems_device_major_number *registered_major 265 ); 266 @end example 267 @end ifset 268 269 @ifset is-Ada 270 @example 271 No Ada implementation. 272 @end example 273 @end ifset 274 275 @subheading DIRECTIVE STATUS CODES: 276 @code{@value{RPREFIX}SUCCESSFUL} - successfully registered@* 277 @code{@value{RPREFIX}INVALID_NUMBER} - invalid major device number@* 278 @code{@value{RPREFIX}TOO_MANY} - no available major device table slot@* 279 @code{@value{RPREFIX}RESOURCE_IN_USE} - major device number entry in use 280 281 @subheading DESCRIPTION: 282 283 This directive attempts to add a new device driver to the Device Driver 284 Table. The user can specify a specific major device number via the 285 directive's @code{major} parameter, or let the registration routine find 286 the next available major device number by specifing a major number of 287 @code{0}. The selected major device number is returned via the 288 @code{registered_major} directive parameter. The directive automatically 289 allocation major device numbers from the highest value down. 290 291 This directive automatically invokes the IO_INITIALIZE directive if 292 the driver address table has an initialization and open entry. 293 294 The directive returns @value{RPREFIX}TOO_MANY if Device Driver Table is 295 full, and @value{RPREFIX}RESOURCE_IN_USE if a specific major device 296 number is requested and it is already in use. 297 298 @subheading NOTES: 299 300 The Device Driver Table size is specified in the Configuration Table 301 condiguration. This needs to be set to maximum size the application 302 requires. 303 304 305 @c 306 @c 307 @c 308 @page 309 @subsection IO_UNREGISTER_DRIVER - Unregister a device driver 310 311 @cindex unregister a device driver 312 313 @subheading CALLING SEQUENCE: 314 315 @ifset is-C 316 @findex rtems_io_unregister_driver 317 @example 318 rtems_status_code rtems_io_register_driver( 319 rtems_device_major_number major 320 ); 321 @end example 322 @end ifset 323 324 @ifset is-Ada 325 @example 326 No Ada implementation. 327 @end example 328 @end ifset 329 330 @subheading DIRECTIVE STATUS CODES: 331 @code{@value{RPREFIX}SUCCESSFUL} - successfully registered@* 332 @code{@value{RPREFIX}INVALID_NUMBER} - invalid major device number 333 334 @subheading DESCRIPTION: 335 336 This directive removes a device driver from the Device Driver Table. 337 338 @subheading NOTES: 339 340 Currently no specific checks are made and the driver is not closed. 341 342 343 @c 344 @c 345 @c 346 @page 224 347 @subsection IO_INITIALIZE - Initialize a device driver 225 348
Note: See TracChangeset
for help on using the changeset viewer.