diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-04-08 17:26:13 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-04-08 17:26:13 +0000 |
commit | 40c24d3206d3ad554ad230c593dce08a5e8fa2f1 (patch) | |
tree | 269c6b5e0d81cf408fdc363ace7ae838dc8bfa93 /c/src/exec/score | |
parent | 2002-04-08 Chris Johns <ccj@acm.org> (diff) | |
download | rtems-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 '')
-rw-r--r-- | c/src/exec/score/include/rtems/score/userext.h | 24 |
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: |