forked from Imagelibrary/rtems
More file movement required api extension to be added to score
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
#include <rtems/core/tod.h>
|
||||
#include <rtems/core/userext.h>
|
||||
#include <rtems/core/wkspace.h>
|
||||
#include <rtems/core/intthrd.h>
|
||||
#include <rtems/core/apiext.h>
|
||||
#include <rtems/core/sysstate.h>
|
||||
|
||||
/*PAGE
|
||||
@@ -132,13 +132,13 @@ User_extensions_routine _RTEMS_tasks_Switch_extension(
|
||||
|
||||
}
|
||||
|
||||
Internal_threads_Extensions_control _RTEMS_tasks_Internal_thread_extensions = {
|
||||
API_extensions_Control _RTEMS_tasks_API_extensions = {
|
||||
{ NULL, NULL },
|
||||
NULL, /* predriver */
|
||||
_RTEMS_tasks_Initialize_user_tasks /* postdriver */
|
||||
};
|
||||
|
||||
User_extensions_Control _RTEMS_tasks_API_extensions = {
|
||||
User_extensions_Control _RTEMS_tasks_User_extensions = {
|
||||
{ NULL, NULL },
|
||||
{ _RTEMS_tasks_Create_extension, /* create */
|
||||
_RTEMS_tasks_Start_extension, /* start */
|
||||
@@ -192,9 +192,9 @@ void _RTEMS_tasks_Manager_initialization(
|
||||
* Add all the extensions for this API
|
||||
*/
|
||||
|
||||
_User_extensions_Add_API_set( &_RTEMS_tasks_API_extensions );
|
||||
_User_extensions_Add_API_set( &_RTEMS_tasks_User_extensions );
|
||||
|
||||
_Internal_threads_Add_extension( &_RTEMS_tasks_Internal_thread_extensions );
|
||||
_API_extensions_Add( &_RTEMS_tasks_API_extensions );
|
||||
|
||||
/*
|
||||
* Register the MP Process Packet routine.
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <rtems/io.h>
|
||||
#include <rtems/sysstate.h>
|
||||
|
||||
#include <rtems/core/apiext.h>
|
||||
#include <rtems/core/copyrt.h>
|
||||
#include <rtems/core/heap.h>
|
||||
#include <rtems/core/interr.h>
|
||||
@@ -144,6 +145,8 @@ rtems_interrupt_level rtems_initialize_executive_early(
|
||||
|
||||
_Debug_Manager_initialization();
|
||||
|
||||
_API_extensions_Initialization();
|
||||
|
||||
_Thread_Dispatch_initialization();
|
||||
|
||||
_User_extensions_Handler_initialization(
|
||||
|
||||
86
c/src/exec/score/headers/apiext.h
Normal file
86
c/src/exec/score/headers/apiext.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/* apiext.h
|
||||
*
|
||||
* XXX
|
||||
*
|
||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* All rights assigned to U.S. Government, 1994.
|
||||
*
|
||||
* This material may be reproduced by or for the U.S. Government pursuant
|
||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||
* notice must appear in all copies of this file and its derivatives.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __API_EXTENSIONS_h
|
||||
#define __API_EXTENSIONS_h
|
||||
|
||||
#include <rtems/core/chain.h>
|
||||
|
||||
/*
|
||||
* The control structure which defines the points at which an API
|
||||
* can add an extension to the system initialization thread.
|
||||
*/
|
||||
|
||||
typedef void (*API_extensions_Predriver_hook)(void);
|
||||
typedef void (*API_extensions_Postdriver_hook)(void);
|
||||
|
||||
typedef struct {
|
||||
Chain_Node Node;
|
||||
API_extensions_Predriver_hook predriver_hook;
|
||||
API_extensions_Postdriver_hook postdriver_hook;
|
||||
} API_extensions_Control;
|
||||
|
||||
/*
|
||||
* This is the list of API extensions to the system initialization.
|
||||
*/
|
||||
|
||||
EXTERN Chain_Control _API_extensions_List;
|
||||
|
||||
/*
|
||||
* _API_extensions_Initialization
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This routine initializes the API extension handler.
|
||||
*
|
||||
*/
|
||||
|
||||
void _API_extensions_Initialization( void );
|
||||
|
||||
/*
|
||||
* _API_extensions_Add
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* XXX
|
||||
*/
|
||||
|
||||
void _API_extensions_Add(
|
||||
API_extensions_Control *the_extension
|
||||
);
|
||||
|
||||
/*
|
||||
* _API_extensions_Run_predriver
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* XXX
|
||||
*/
|
||||
|
||||
void _API_extensions_Run_predriver( void );
|
||||
|
||||
/*
|
||||
* _API_extensions_Run_postdriver
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* XXX
|
||||
*/
|
||||
|
||||
void _API_extensions_Run_postdriver( void );
|
||||
|
||||
#endif
|
||||
/* end of include file */
|
||||
86
c/src/exec/score/include/rtems/score/apiext.h
Normal file
86
c/src/exec/score/include/rtems/score/apiext.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/* apiext.h
|
||||
*
|
||||
* XXX
|
||||
*
|
||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* All rights assigned to U.S. Government, 1994.
|
||||
*
|
||||
* This material may be reproduced by or for the U.S. Government pursuant
|
||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||
* notice must appear in all copies of this file and its derivatives.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __API_EXTENSIONS_h
|
||||
#define __API_EXTENSIONS_h
|
||||
|
||||
#include <rtems/core/chain.h>
|
||||
|
||||
/*
|
||||
* The control structure which defines the points at which an API
|
||||
* can add an extension to the system initialization thread.
|
||||
*/
|
||||
|
||||
typedef void (*API_extensions_Predriver_hook)(void);
|
||||
typedef void (*API_extensions_Postdriver_hook)(void);
|
||||
|
||||
typedef struct {
|
||||
Chain_Node Node;
|
||||
API_extensions_Predriver_hook predriver_hook;
|
||||
API_extensions_Postdriver_hook postdriver_hook;
|
||||
} API_extensions_Control;
|
||||
|
||||
/*
|
||||
* This is the list of API extensions to the system initialization.
|
||||
*/
|
||||
|
||||
EXTERN Chain_Control _API_extensions_List;
|
||||
|
||||
/*
|
||||
* _API_extensions_Initialization
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This routine initializes the API extension handler.
|
||||
*
|
||||
*/
|
||||
|
||||
void _API_extensions_Initialization( void );
|
||||
|
||||
/*
|
||||
* _API_extensions_Add
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* XXX
|
||||
*/
|
||||
|
||||
void _API_extensions_Add(
|
||||
API_extensions_Control *the_extension
|
||||
);
|
||||
|
||||
/*
|
||||
* _API_extensions_Run_predriver
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* XXX
|
||||
*/
|
||||
|
||||
void _API_extensions_Run_predriver( void );
|
||||
|
||||
/*
|
||||
* _API_extensions_Run_postdriver
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* XXX
|
||||
*/
|
||||
|
||||
void _API_extensions_Run_postdriver( void );
|
||||
|
||||
#endif
|
||||
/* end of include file */
|
||||
84
c/src/exec/score/src/apiext.c
Normal file
84
c/src/exec/score/src/apiext.c
Normal file
@@ -0,0 +1,84 @@
|
||||
/* apiext.c
|
||||
*
|
||||
* XXX
|
||||
*
|
||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* All rights assigned to U.S. Government, 1994.
|
||||
*
|
||||
* This material may be reproduced by or for the U.S. Government pursuant
|
||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||
* notice must appear in all copies of this file and its derivatives.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/core/apiext.h>
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _API_extensions_Initialization
|
||||
*/
|
||||
|
||||
void _API_extensions_Initialization( void )
|
||||
{
|
||||
_Chain_Initialize_empty( &_API_extensions_List );
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _API_extensions_Add
|
||||
*/
|
||||
|
||||
void _API_extensions_Add(
|
||||
API_extensions_Control *the_extension
|
||||
)
|
||||
{
|
||||
_Chain_Append( &_API_extensions_List, &the_extension->Node );
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _API_extensions_Run_predriver
|
||||
*/
|
||||
|
||||
void _API_extensions_Run_predriver( void )
|
||||
{
|
||||
Chain_Node *the_node;
|
||||
API_extensions_Control *the_extension;
|
||||
|
||||
for ( the_node = _API_extensions_List.first ;
|
||||
!_Chain_Is_tail( &_API_extensions_List, the_node ) ;
|
||||
the_node = the_node->next ) {
|
||||
|
||||
the_extension = (API_extensions_Control *) the_node;
|
||||
|
||||
if ( the_extension->predriver_hook )
|
||||
(*the_extension->predriver_hook)();
|
||||
}
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _API_extensions_Run_postdriver
|
||||
*/
|
||||
|
||||
void _API_extensions_Run_postdriver( void )
|
||||
{
|
||||
Chain_Node *the_node;
|
||||
API_extensions_Control *the_extension;
|
||||
|
||||
for ( the_node = _API_extensions_List.first ;
|
||||
!_Chain_Is_tail( &_API_extensions_List, the_node ) ;
|
||||
the_node = the_node->next ) {
|
||||
|
||||
the_extension = (API_extensions_Control *) the_node;
|
||||
|
||||
if ( the_extension->postdriver_hook )
|
||||
(*the_extension->postdriver_hook)();
|
||||
}
|
||||
}
|
||||
|
||||
/* end of file */
|
||||
Reference in New Issue
Block a user