summaryrefslogtreecommitdiffstats
path: root/doc/user
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-04-13 16:47:23 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-04-13 16:47:23 +0000
commitb5c5bbcf07e07584ba243e4b3edf0585a82a4280 (patch)
tree92551d8ba9b9f35dc808abd7cd80a6b4e6dbf9d0 /doc/user
parent18b6986b89577f61fa2900657f9ba819b03fe4d8 (diff)
downloadrtems-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.
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/ChangeLog6
-rw-r--r--doc/user/userext.t30
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