summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/include
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-04-08 17:26:13 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-04-08 17:26:13 +0000
commit40c24d3206d3ad554ad230c593dce08a5e8fa2f1 (patch)
tree269c6b5e0d81cf408fdc363ace7ae838dc8bfa93 /c/src/exec/score/include
parent2002-04-08 Chris Johns <ccj@acm.org> (diff)
downloadrtems-40c24d3206d3ad554ad230c593dce08a5e8fa2f1.tar.bz2
2002-04-08 Chris Johns <ccj@acm.org>
* Per PR142, make task switch extension its own list. * include/rtems/score/userext.h: Reflect above by adding User_extensions_Switch_control and adding it to User_extenions_Control. * inline/rtems/score/userext.inl: Allocate all memory in one chunk to minimize overhead. Address processing dedicated switch chain.
Diffstat (limited to 'c/src/exec/score/include')
-rw-r--r--c/src/exec/score/include/rtems/score/userext.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/c/src/exec/score/include/rtems/score/userext.h b/c/src/exec/score/include/rtems/score/userext.h
index 4c2972030e..40e31fbba5 100644
--- a/c/src/exec/score/include/rtems/score/userext.h
+++ b/c/src/exec/score/include/rtems/score/userext.h
@@ -91,12 +91,25 @@ typedef struct {
} User_extensions_Table;
/*
+ * The following is used to manage the list of switch handlers.
+ */
+
+typedef struct {
+ Chain_Node Node;
+ User_extensions_thread_switch_extension thread_switch;
+} User_extensions_Switch_control;
+
+/*
* The following is used to manage each user extension set.
+ * The switch control is part of the extensions control even
+ * if not used due to the extension not having a switch
+ * handler.
*/
typedef struct {
- Chain_Node Node;
- User_extensions_Table Callouts;
+ Chain_Node Node;
+ User_extensions_Switch_control Switch;
+ User_extensions_Table Callouts;
} User_extensions_Control;
/*
@@ -106,6 +119,13 @@ typedef struct {
SCORE_EXTERN Chain_Control _User_extensions_List;
/*
+ * The following is used to manage a chain of user extension task
+ * switch nodes.
+ */
+
+SCORE_EXTERN Chain_Control _User_extensions_Switches_list;
+
+/*
* _User_extensions_Thread_create
*
* DESCRIPTION: