forked from Imagelibrary/rtems
score: Add and use <rtems/score/userextimpl.h>
This file contains the parts of <rtems/score/userext.h> that are only necessary for the RTEMS implementation.
This commit is contained in:
@@ -20,7 +20,7 @@
|
|||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/stack.h>
|
#include <rtems/score/stack.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/posix/cancel.h>
|
#include <rtems/posix/cancel.h>
|
||||||
#include <rtems/posix/pthread.h>
|
#include <rtems/posix/pthread.h>
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/stack.h>
|
#include <rtems/score/stack.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/posix/cancel.h>
|
#include <rtems/posix/cancel.h>
|
||||||
#include <rtems/posix/pthread.h>
|
#include <rtems/posix/pthread.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/score/apiext.h>
|
#include <rtems/score/apiext.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
#include <rtems/score/scheduler.h>
|
#include <rtems/score/scheduler.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/watchdog.h>
|
#include <rtems/score/watchdog.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include <rtems/rtems/support.h>
|
#include <rtems/rtems/support.h>
|
||||||
#include <rtems/score/object.h>
|
#include <rtems/score/object.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/extension.h>
|
#include <rtems/extension.h>
|
||||||
|
|
||||||
rtems_status_code rtems_extension_create(
|
rtems_status_code rtems_extension_create(
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ include_rtems_score_HEADERS += include/rtems/score/timestamp64.h
|
|||||||
include_rtems_score_HEADERS += include/rtems/score/tod.h
|
include_rtems_score_HEADERS += include/rtems/score/tod.h
|
||||||
include_rtems_score_HEADERS += include/rtems/score/tqdata.h
|
include_rtems_score_HEADERS += include/rtems/score/tqdata.h
|
||||||
include_rtems_score_HEADERS += include/rtems/score/userext.h
|
include_rtems_score_HEADERS += include/rtems/score/userext.h
|
||||||
|
include_rtems_score_HEADERS += include/rtems/score/userextimpl.h
|
||||||
include_rtems_score_HEADERS += include/rtems/score/watchdog.h
|
include_rtems_score_HEADERS += include/rtems/score/watchdog.h
|
||||||
include_rtems_score_HEADERS += include/rtems/score/wkspace.h
|
include_rtems_score_HEADERS += include/rtems/score/wkspace.h
|
||||||
include_rtems_score_HEADERS += include/rtems/score/cpuopts.h
|
include_rtems_score_HEADERS += include/rtems/score/cpuopts.h
|
||||||
|
|||||||
@@ -231,201 +231,6 @@ typedef struct {
|
|||||||
User_extensions_Table Callouts;
|
User_extensions_Table Callouts;
|
||||||
} User_extensions_Control;
|
} User_extensions_Control;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief List of active extensions.
|
|
||||||
*/
|
|
||||||
extern Chain_Control _User_extensions_List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief List of active task switch extensions.
|
|
||||||
*/
|
|
||||||
extern Chain_Control _User_extensions_Switches_list;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name Extension Maintainance
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
void _User_extensions_Handler_initialization( void );
|
|
||||||
|
|
||||||
void _User_extensions_Add_set(
|
|
||||||
User_extensions_Control *extension
|
|
||||||
);
|
|
||||||
|
|
||||||
RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set(
|
|
||||||
User_extensions_Control *extension
|
|
||||||
)
|
|
||||||
{
|
|
||||||
_User_extensions_Add_set( extension );
|
|
||||||
}
|
|
||||||
|
|
||||||
RTEMS_INLINE_ROUTINE void _User_extensions_Add_set_with_table(
|
|
||||||
User_extensions_Control *extension,
|
|
||||||
const User_extensions_Table *extension_table
|
|
||||||
)
|
|
||||||
{
|
|
||||||
extension->Callouts = *extension_table;
|
|
||||||
|
|
||||||
_User_extensions_Add_set( extension );
|
|
||||||
}
|
|
||||||
|
|
||||||
void _User_extensions_Remove_set(
|
|
||||||
User_extensions_Control *extension
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief User extension visitor.
|
|
||||||
*
|
|
||||||
* @param[in, out] executing The currently executing thread.
|
|
||||||
* @param[in, out] arg The argument passed to _User_extensions_Iterate().
|
|
||||||
* @param[in] callouts The current callouts.
|
|
||||||
*/
|
|
||||||
typedef void (*User_extensions_Visitor)(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
Thread_Control *created;
|
|
||||||
bool ok;
|
|
||||||
} User_extensions_Thread_create_context;
|
|
||||||
|
|
||||||
void _User_extensions_Thread_create_visitor(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
void _User_extensions_Thread_delete_visitor(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
void _User_extensions_Thread_start_visitor(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
void _User_extensions_Thread_restart_visitor(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
void _User_extensions_Thread_begin_visitor(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
void _User_extensions_Thread_exitted_visitor(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
Internal_errors_Source source;
|
|
||||||
bool is_internal;
|
|
||||||
Internal_errors_t error;
|
|
||||||
} User_extensions_Fatal_context;
|
|
||||||
|
|
||||||
void _User_extensions_Fatal_visitor(
|
|
||||||
Thread_Control *executing,
|
|
||||||
void *arg,
|
|
||||||
const User_extensions_Table *callouts
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Iterates through all user extensions and calls the visitor for each.
|
|
||||||
*
|
|
||||||
* @param[in, out] arg The argument passed to the visitor.
|
|
||||||
* @param[in] visitor The visitor for each extension.
|
|
||||||
*/
|
|
||||||
void _User_extensions_Iterate(
|
|
||||||
void *arg,
|
|
||||||
User_extensions_Visitor visitor
|
|
||||||
);
|
|
||||||
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name Extension Callout Dispatcher
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
static inline bool _User_extensions_Thread_create( Thread_Control *created )
|
|
||||||
{
|
|
||||||
User_extensions_Thread_create_context ctx = { created, true };
|
|
||||||
|
|
||||||
_User_extensions_Iterate( &ctx, _User_extensions_Thread_create_visitor );
|
|
||||||
|
|
||||||
return ctx.ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _User_extensions_Thread_delete( Thread_Control *deleted )
|
|
||||||
{
|
|
||||||
_User_extensions_Iterate(
|
|
||||||
deleted,
|
|
||||||
_User_extensions_Thread_delete_visitor
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _User_extensions_Thread_start( Thread_Control *started )
|
|
||||||
{
|
|
||||||
_User_extensions_Iterate(
|
|
||||||
started,
|
|
||||||
_User_extensions_Thread_start_visitor
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _User_extensions_Thread_restart( Thread_Control *restarted )
|
|
||||||
{
|
|
||||||
_User_extensions_Iterate(
|
|
||||||
restarted,
|
|
||||||
_User_extensions_Thread_restart_visitor
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _User_extensions_Thread_begin( Thread_Control *executing )
|
|
||||||
{
|
|
||||||
_User_extensions_Iterate(
|
|
||||||
executing,
|
|
||||||
_User_extensions_Thread_begin_visitor
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void _User_extensions_Thread_switch(
|
|
||||||
Thread_Control *executing,
|
|
||||||
Thread_Control *heir
|
|
||||||
);
|
|
||||||
|
|
||||||
static inline void _User_extensions_Thread_exitted( Thread_Control *executing )
|
|
||||||
{
|
|
||||||
_User_extensions_Iterate(
|
|
||||||
executing,
|
|
||||||
_User_extensions_Thread_exitted_visitor
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _User_extensions_Fatal(
|
|
||||||
Internal_errors_Source source,
|
|
||||||
bool is_internal,
|
|
||||||
Internal_errors_t error
|
|
||||||
)
|
|
||||||
{
|
|
||||||
User_extensions_Fatal_context ctx = { source, is_internal, error };
|
|
||||||
|
|
||||||
_User_extensions_Iterate( &ctx, _User_extensions_Fatal_visitor );
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
235
cpukit/score/include/rtems/score/userextimpl.h
Normal file
235
cpukit/score/include/rtems/score/userextimpl.h
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup ScoreUserExt
|
||||||
|
*
|
||||||
|
* @brief User Extension Handler API.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* COPYRIGHT (c) 1989-2009.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
*
|
||||||
|
* The license and distribution terms for this file may be
|
||||||
|
* found in the file LICENSE in this distribution or at
|
||||||
|
* http://www.rtems.com/license/LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _RTEMS_SCORE_USEREXTIMPL_H
|
||||||
|
#define _RTEMS_SCORE_USEREXTIMPL_H
|
||||||
|
|
||||||
|
#include <rtems/score/userext.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup ScoreUserExt
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief List of active extensions.
|
||||||
|
*/
|
||||||
|
extern Chain_Control _User_extensions_List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief List of active task switch extensions.
|
||||||
|
*/
|
||||||
|
extern Chain_Control _User_extensions_Switches_list;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Extension Maintainance
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _User_extensions_Handler_initialization( void );
|
||||||
|
|
||||||
|
void _User_extensions_Add_set(
|
||||||
|
User_extensions_Control *extension
|
||||||
|
);
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set(
|
||||||
|
User_extensions_Control *extension
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_User_extensions_Add_set( extension );
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _User_extensions_Add_set_with_table(
|
||||||
|
User_extensions_Control *extension,
|
||||||
|
const User_extensions_Table *extension_table
|
||||||
|
)
|
||||||
|
{
|
||||||
|
extension->Callouts = *extension_table;
|
||||||
|
|
||||||
|
_User_extensions_Add_set( extension );
|
||||||
|
}
|
||||||
|
|
||||||
|
void _User_extensions_Remove_set(
|
||||||
|
User_extensions_Control *extension
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief User extension visitor.
|
||||||
|
*
|
||||||
|
* @param[in, out] executing The currently executing thread.
|
||||||
|
* @param[in, out] arg The argument passed to _User_extensions_Iterate().
|
||||||
|
* @param[in] callouts The current callouts.
|
||||||
|
*/
|
||||||
|
typedef void (*User_extensions_Visitor)(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Thread_Control *created;
|
||||||
|
bool ok;
|
||||||
|
} User_extensions_Thread_create_context;
|
||||||
|
|
||||||
|
void _User_extensions_Thread_create_visitor(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
void _User_extensions_Thread_delete_visitor(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
void _User_extensions_Thread_start_visitor(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
void _User_extensions_Thread_restart_visitor(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
void _User_extensions_Thread_begin_visitor(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
void _User_extensions_Thread_exitted_visitor(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Internal_errors_Source source;
|
||||||
|
bool is_internal;
|
||||||
|
Internal_errors_t error;
|
||||||
|
} User_extensions_Fatal_context;
|
||||||
|
|
||||||
|
void _User_extensions_Fatal_visitor(
|
||||||
|
Thread_Control *executing,
|
||||||
|
void *arg,
|
||||||
|
const User_extensions_Table *callouts
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Iterates through all user extensions and calls the visitor for each.
|
||||||
|
*
|
||||||
|
* @param[in, out] arg The argument passed to the visitor.
|
||||||
|
* @param[in] visitor The visitor for each extension.
|
||||||
|
*/
|
||||||
|
void _User_extensions_Iterate(
|
||||||
|
void *arg,
|
||||||
|
User_extensions_Visitor visitor
|
||||||
|
);
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Extension Callout Dispatcher
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
static inline bool _User_extensions_Thread_create( Thread_Control *created )
|
||||||
|
{
|
||||||
|
User_extensions_Thread_create_context ctx = { created, true };
|
||||||
|
|
||||||
|
_User_extensions_Iterate( &ctx, _User_extensions_Thread_create_visitor );
|
||||||
|
|
||||||
|
return ctx.ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void _User_extensions_Thread_delete( Thread_Control *deleted )
|
||||||
|
{
|
||||||
|
_User_extensions_Iterate(
|
||||||
|
deleted,
|
||||||
|
_User_extensions_Thread_delete_visitor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void _User_extensions_Thread_start( Thread_Control *started )
|
||||||
|
{
|
||||||
|
_User_extensions_Iterate(
|
||||||
|
started,
|
||||||
|
_User_extensions_Thread_start_visitor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void _User_extensions_Thread_restart( Thread_Control *restarted )
|
||||||
|
{
|
||||||
|
_User_extensions_Iterate(
|
||||||
|
restarted,
|
||||||
|
_User_extensions_Thread_restart_visitor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void _User_extensions_Thread_begin( Thread_Control *executing )
|
||||||
|
{
|
||||||
|
_User_extensions_Iterate(
|
||||||
|
executing,
|
||||||
|
_User_extensions_Thread_begin_visitor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _User_extensions_Thread_switch(
|
||||||
|
Thread_Control *executing,
|
||||||
|
Thread_Control *heir
|
||||||
|
);
|
||||||
|
|
||||||
|
static inline void _User_extensions_Thread_exitted( Thread_Control *executing )
|
||||||
|
{
|
||||||
|
_User_extensions_Iterate(
|
||||||
|
executing,
|
||||||
|
_User_extensions_Thread_exitted_visitor
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void _User_extensions_Fatal(
|
||||||
|
Internal_errors_Source source,
|
||||||
|
bool is_internal,
|
||||||
|
Internal_errors_t error
|
||||||
|
)
|
||||||
|
{
|
||||||
|
User_extensions_Fatal_context ctx = { source, is_internal, error };
|
||||||
|
|
||||||
|
_User_extensions_Iterate( &ctx, _User_extensions_Fatal_visitor );
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
@@ -191,6 +191,10 @@ $(PROJECT_INCLUDE)/rtems/score/userext.h: include/rtems/score/userext.h $(PROJEC
|
|||||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/userext.h
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/userext.h
|
||||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/userext.h
|
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/userext.h
|
||||||
|
|
||||||
|
$(PROJECT_INCLUDE)/rtems/score/userextimpl.h: include/rtems/score/userextimpl.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||||
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/userextimpl.h
|
||||||
|
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/userextimpl.h
|
||||||
|
|
||||||
$(PROJECT_INCLUDE)/rtems/score/watchdog.h: include/rtems/score/watchdog.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
$(PROJECT_INCLUDE)/rtems/score/watchdog.h: include/rtems/score/watchdog.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/watchdog.h
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/watchdog.h
|
||||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/watchdog.h
|
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/watchdog.h
|
||||||
|
|||||||
@@ -13,10 +13,9 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtems/system.h>
|
|
||||||
#include <rtems/score/interr.h>
|
#include <rtems/score/interr.h>
|
||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
|
|
||||||
System_state_Codes _System_state_Current;
|
System_state_Codes _System_state_Current;
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/config.h>
|
#include <rtems/config.h>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
void _Thread_Close(
|
void _Thread_Close(
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/config.h>
|
#include <rtems/config.h>
|
||||||
#if defined(RTEMS_SMP)
|
#if defined(RTEMS_SMP)
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
#ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__
|
#ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#if defined(RTEMS_SMP)
|
#if defined(RTEMS_SMP)
|
||||||
#include <rtems/score/smp.h>
|
#include <rtems/score/smp.h>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/watchdog.h>
|
#include <rtems/score/watchdog.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/config.h>
|
#include <rtems/config.h>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/config.h>
|
#include <rtems/config.h>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
#include <rtems/score/sysstate.h>
|
#include <rtems/score/sysstate.h>
|
||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtems/config.h>
|
#include <rtems/config.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
|
|
||||||
CHAIN_DEFINE_EMPTY( _User_extensions_Switches_list );
|
CHAIN_DEFINE_EMPTY( _User_extensions_Switches_list );
|
||||||
|
|||||||
@@ -19,8 +19,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtems/system.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
|
|
||||||
void _User_extensions_Add_set(
|
void _User_extensions_Add_set(
|
||||||
User_extensions_Control *the_extension
|
User_extensions_Control *the_extension
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtems/config.h>
|
#include <rtems/config.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
|
|
||||||
CHAIN_DEFINE_EMPTY( _User_extensions_List );
|
CHAIN_DEFINE_EMPTY( _User_extensions_List );
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtems/system.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
|
|
||||||
void _User_extensions_Remove_set (
|
void _User_extensions_Remove_set (
|
||||||
User_extensions_Control *the_extension
|
User_extensions_Control *the_extension
|
||||||
|
|||||||
@@ -19,8 +19,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtems/system.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/userext.h>
|
|
||||||
|
|
||||||
void _User_extensions_Thread_switch (
|
void _User_extensions_Thread_switch (
|
||||||
Thread_Control *executing,
|
Thread_Control *executing,
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/rtems/timer.h>
|
#include <rtems/rtems/timer.h>
|
||||||
#include <rtems/score/tod.h>
|
#include <rtems/score/tod.h>
|
||||||
#include <rtems/score/userext.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#if defined(RTEMS_SMP)
|
#if defined(RTEMS_SMP)
|
||||||
#include <rtems/score/smp.h>
|
#include <rtems/score/smp.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user