mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 14:06:00 +08:00
@@ -583,15 +583,6 @@ typedef struct {
|
||||
Thread_Action Signal_action;
|
||||
} RTEMS_API_Control;
|
||||
|
||||
/**
|
||||
* When the user configures a set of Classic API initialization tasks,
|
||||
* This variable will point to the method used to initialize them.
|
||||
*
|
||||
* @note It is instantiated and initialized by confdefs.h based upon
|
||||
* application requirements.
|
||||
*/
|
||||
extern void (*_RTEMS_tasks_Initialize_user_tasks_p)(void);
|
||||
|
||||
/**
|
||||
* @brief _RTEMS_tasks_Initialize_user_tasks_body
|
||||
*
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#include <rtems/score/threadimpl.h>
|
||||
#include <rtems/score/userextimpl.h>
|
||||
#include <rtems/score/wkspace.h>
|
||||
#include <rtems/score/apiext.h>
|
||||
|
||||
Thread_Information _RTEMS_tasks_Information;
|
||||
|
||||
@@ -161,13 +160,6 @@ static void _RTEMS_tasks_Switch_extension(
|
||||
#define RTEMS_TASKS_SWITCH_EXTENSION NULL
|
||||
#endif
|
||||
|
||||
API_extensions_Control _RTEMS_tasks_API_extensions = {
|
||||
#if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)
|
||||
.predriver_hook = NULL,
|
||||
#endif
|
||||
.postdriver_hook = _RTEMS_tasks_Initialize_user_tasks
|
||||
};
|
||||
|
||||
User_extensions_Control _RTEMS_tasks_User_extensions = {
|
||||
{ NULL, NULL },
|
||||
{ { NULL, NULL }, RTEMS_TASKS_SWITCH_EXTENSION },
|
||||
@@ -205,8 +197,6 @@ static void _RTEMS_tasks_Manager_initialization(void)
|
||||
|
||||
_User_extensions_Add_API_set( &_RTEMS_tasks_User_extensions );
|
||||
|
||||
_API_extensions_Add( &_RTEMS_tasks_API_extensions );
|
||||
|
||||
/*
|
||||
* Register the MP Process Packet routine.
|
||||
*/
|
||||
@@ -220,12 +210,6 @@ static void _RTEMS_tasks_Manager_initialization(void)
|
||||
|
||||
}
|
||||
|
||||
void _RTEMS_tasks_Initialize_user_tasks( void )
|
||||
{
|
||||
if ( _RTEMS_tasks_Initialize_user_tasks_p )
|
||||
(*_RTEMS_tasks_Initialize_user_tasks_p)();
|
||||
}
|
||||
|
||||
RTEMS_SYSINIT_ITEM(
|
||||
_RTEMS_tasks_Manager_initialization,
|
||||
RTEMS_SYSINIT_CLASSIC_TASKS,
|
||||
|
||||
@@ -3445,10 +3445,11 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
||||
#ifdef CONFIGURE_INIT
|
||||
#if defined(CONFIGURE_RTEMS_INIT_TASKS_TABLE) || \
|
||||
defined(CONFIGURE_HAS_OWN_INIT_TASK_TABLE)
|
||||
void (*_RTEMS_tasks_Initialize_user_tasks_p)(void) =
|
||||
_RTEMS_tasks_Initialize_user_tasks_body;
|
||||
#else
|
||||
void (*_RTEMS_tasks_Initialize_user_tasks_p)(void) = NULL;
|
||||
RTEMS_SYSINIT_ITEM(
|
||||
_RTEMS_tasks_Initialize_user_tasks_body,
|
||||
RTEMS_SYSINIT_CLASSIC_USER_TASKS,
|
||||
RTEMS_SYSINIT_ORDER_MIDDLE
|
||||
);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ extern "C" {
|
||||
#define RTEMS_SYSINIT_DRVMGR_LEVEL_3 000703
|
||||
#define RTEMS_SYSINIT_DRVMGR_LEVEL_4 000704
|
||||
#define RTEMS_SYSINIT_MP_FINALIZE 000705
|
||||
#define RTEMS_SYSINIT_CLASSIC_USER_TASKS 000706
|
||||
#define RTEMS_SYSINIT_STD_FILE_DESCRIPTORS 000800
|
||||
|
||||
/*
|
||||
|
||||
@@ -132,6 +132,8 @@ typedef enum {
|
||||
BSP_PRE_DRIVERS_POST,
|
||||
DEVICE_DRIVERS_PRE,
|
||||
DEVICE_DRIVERS_POST,
|
||||
CLASSIC_USER_TASKS_PRE,
|
||||
CLASSIC_USER_TASKS_POST,
|
||||
STD_FILE_DESCRIPTORS_PRE,
|
||||
STD_FILE_DESCRIPTORS_POST,
|
||||
INIT_TASK,
|
||||
@@ -604,6 +606,18 @@ LAST(RTEMS_SYSINIT_DEVICE_DRIVERS)
|
||||
next_step(DEVICE_DRIVERS_POST);
|
||||
}
|
||||
|
||||
FIRST(RTEMS_SYSINIT_CLASSIC_USER_TASKS)
|
||||
{
|
||||
assert(_Objects_Active_count(&_RTEMS_tasks_Information.Objects) == 0);
|
||||
next_step(CLASSIC_USER_TASKS_PRE);
|
||||
}
|
||||
|
||||
LAST(RTEMS_SYSINIT_CLASSIC_USER_TASKS)
|
||||
{
|
||||
assert(_Objects_Active_count(&_RTEMS_tasks_Information.Objects) == 1);
|
||||
next_step(CLASSIC_USER_TASKS_POST);
|
||||
}
|
||||
|
||||
FIRST(RTEMS_SYSINIT_STD_FILE_DESCRIPTORS)
|
||||
{
|
||||
struct stat st;
|
||||
|
||||
Reference in New Issue
Block a user