diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-04-13 16:47:23 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-04-13 16:47:23 +0000 |
commit | b5c5bbcf07e07584ba243e4b3edf0585a82a4280 (patch) | |
tree | 92551d8ba9b9f35dc808abd7cd80a6b4e6dbf9d0 | |
parent | 2002-04-11 Chris Johns <ccj@acm.org> (diff) | |
download | rtems-b5c5bbcf07e07584ba243e4b3edf0585a82a4280.tar.bz2 |
2002-04-12 Chris Johns <ccj@acm.org>
* doc/user/userext.t: Per PR138, updated the documentation to show
how to obtain an extension table index. Also provided some extra
background on the user extension API.
-rw-r--r-- | doc/user/ChangeLog | 6 | ||||
-rw-r--r-- | doc/user/userext.t | 30 |
2 files changed, 34 insertions, 2 deletions
diff --git a/doc/user/ChangeLog b/doc/user/ChangeLog index 1d9eb9c397..c23a37339d 100644 --- a/doc/user/ChangeLog +++ b/doc/user/ChangeLog @@ -1,3 +1,9 @@ +2002-04-12 Chris Johns <ccj@acm.org> + + * doc/user/userext.t: Per PR138, updated the documentation to show + how to obtain an extension table index. Also provided some extra + background on the user extension API. + 2002-04-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de> * io.t: Fix typo @sybsection. diff --git a/doc/user/userext.t b/doc/user/userext.t index 641d5d3f9c..08ac6beb20 100644 --- a/doc/user/userext.t +++ b/doc/user/userext.t @@ -119,7 +119,15 @@ of these extension sets could be written and installed independently of the others. All user extensions are optional and RTEMS places no -naming restrictions on the user. +naming restrictions on the user. The user extension entry points +are copied into an internal RTEMS structure. This means the user +does not need to keep the table after creating it, and changing the +handler entry points dynamically in a table once created has no +effect. Creating a table local to a function can save space in +space limited applications. + +Extension switches do not effect the context switch overhead if +no switch handler is installed. @subsection TCB Extension Area @@ -134,7 +142,25 @@ to utilize the notepad locations associated with each task although this may conflict with application usage of those particular notepads. -The TCB extension is an array of pointers in the TCB. +The TCB extension is an array of pointers in the TCB. The +index into the table can be obtained from the extension id +returned when the extension is created: + +@findex rtems extensions table index +@ifset is-C +@example +@group +index = rtems_get_index(extension_id); +@end group +@end example +@end ifset + +@ifset is-Ada +@example +There is currently no example for Ada. +@end example +@end ifset + The number of pointers in the area is the same as the number of user extension sets configured. This allows an application to augment the TCB with user-defined information. For example, an |