forked from Imagelibrary/rtems
split the inclusion of "EXTERN" data based on whether it was sapi,
score, rtems api, or posix api related.
This commit is contained in:
@@ -40,7 +40,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Condition_variables_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Condition_variables_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Condition_variables_Manager_initialization
|
* _POSIX_Condition_variables_Manager_initialization
|
||||||
|
|||||||
@@ -53,14 +53,15 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is an array which is used to manage the set of
|
* The following is an array which is used to manage the set of
|
||||||
* interrupt handlers installed on each vector.
|
* interrupt handlers installed on each vector.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN POSIX_Interrupt_Control _POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ];
|
POSIX_EXTERN POSIX_Interrupt_Control
|
||||||
|
_POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Interrupt_Manager_initialization
|
* _POSIX_Interrupt_Manager_initialization
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Keys_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Keys_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Keys_Manager_initialization
|
* _POSIX_Keys_Manager_initialization
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Message_queue_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Message_queue_Manager_initialization
|
* _POSIX_Message_queue_Manager_initialization
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <rtems/score/coremutex.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Data Structure used to manage a POSIX mutex
|
* Data Structure used to manage a POSIX mutex
|
||||||
*/
|
*/
|
||||||
@@ -36,7 +39,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Mutex_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Mutex_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Mutex_Manager_initialization
|
* _POSIX_Mutex_Manager_initialization
|
||||||
|
|||||||
34
c/src/exec/posix/headers/posixapi.h
Normal file
34
c/src/exec/posix/headers/posixapi.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* POSIX API Support
|
||||||
|
*
|
||||||
|
* NOTE:
|
||||||
|
*
|
||||||
|
* 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 __POSIX_API_h
|
||||||
|
#define __POSIX_API_h
|
||||||
|
|
||||||
|
#include <rtems/config.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _POSIX_API_Initialize
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _POSIX_API_Initialize(
|
||||||
|
rtems_configuration_table *configuration_table
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
@@ -35,15 +35,15 @@ typedef Thread_Control POSIX_Threads_Control;
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Threads_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Threads_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are used to manage the user initialization tasks.
|
* These are used to manage the user initialization tasks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN posix_initialization_tasks_table
|
POSIX_EXTERN posix_initialization_tasks_table
|
||||||
*_POSIX_Threads_User_initialization_tasks;
|
*_POSIX_Threads_User_initialization_tasks;
|
||||||
EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Semaphore_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Semaphore_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Semaphore_Manager_initialization
|
* _POSIX_Semaphore_Manager_initialization
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Condition_variables_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Condition_variables_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Condition_variables_Manager_initialization
|
* _POSIX_Condition_variables_Manager_initialization
|
||||||
|
|||||||
@@ -53,14 +53,15 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is an array which is used to manage the set of
|
* The following is an array which is used to manage the set of
|
||||||
* interrupt handlers installed on each vector.
|
* interrupt handlers installed on each vector.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN POSIX_Interrupt_Control _POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ];
|
POSIX_EXTERN POSIX_Interrupt_Control
|
||||||
|
_POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Interrupt_Manager_initialization
|
* _POSIX_Interrupt_Manager_initialization
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Keys_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Keys_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Keys_Manager_initialization
|
* _POSIX_Keys_Manager_initialization
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Message_queue_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Message_queue_Manager_initialization
|
* _POSIX_Message_queue_Manager_initialization
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <rtems/score/coremutex.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Data Structure used to manage a POSIX mutex
|
* Data Structure used to manage a POSIX mutex
|
||||||
*/
|
*/
|
||||||
@@ -36,7 +39,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Mutex_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Mutex_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Mutex_Manager_initialization
|
* _POSIX_Mutex_Manager_initialization
|
||||||
|
|||||||
34
c/src/exec/posix/include/rtems/posix/posixapi.h
Normal file
34
c/src/exec/posix/include/rtems/posix/posixapi.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* POSIX API Support
|
||||||
|
*
|
||||||
|
* NOTE:
|
||||||
|
*
|
||||||
|
* 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 __POSIX_API_h
|
||||||
|
#define __POSIX_API_h
|
||||||
|
|
||||||
|
#include <rtems/config.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _POSIX_API_Initialize
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _POSIX_API_Initialize(
|
||||||
|
rtems_configuration_table *configuration_table
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
@@ -35,15 +35,15 @@ typedef Thread_Control POSIX_Threads_Control;
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Threads_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Threads_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are used to manage the user initialization tasks.
|
* These are used to manage the user initialization tasks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN posix_initialization_tasks_table
|
POSIX_EXTERN posix_initialization_tasks_table
|
||||||
*_POSIX_Threads_User_initialization_tasks;
|
*_POSIX_Threads_User_initialization_tasks;
|
||||||
EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Semaphore_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Semaphore_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Semaphore_Manager_initialization
|
* _POSIX_Semaphore_Manager_initialization
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ typedef struct {
|
|||||||
* The following define the internal Dual Ported Memory information.
|
* The following define the internal Dual Ported Memory information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Dual_ported_memory_Information;
|
RTEMS_EXTERN Objects_Information _Dual_ported_memory_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Dual_ported_memory_Manager_initialization
|
* _Dual_ported_memory_Manager_initialization
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ void _Event_Timeout (
|
|||||||
* executing thread are received properly.
|
* executing thread are received properly.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN volatile Event_Sync_states _Event_Sync_state;
|
RTEMS_EXTERN volatile Event_Sync_states _Event_Sync_state;
|
||||||
|
|
||||||
#include <rtems/rtems/eventmp.h>
|
#include <rtems/rtems/eventmp.h>
|
||||||
#ifndef __RTEMS_APPLICATION__
|
#ifndef __RTEMS_APPLICATION__
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Message_queue_Information;
|
RTEMS_EXTERN Objects_Information _Message_queue_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Message_queue_Manager_initialization
|
* _Message_queue_Manager_initialization
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Partition_Information;
|
RTEMS_EXTERN Objects_Information _Partition_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Partition_Manager_initialization
|
* _Partition_Manager_initialization
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ typedef struct {
|
|||||||
Thread_Control *owner;
|
Thread_Control *owner;
|
||||||
} Rate_monotonic_Control;
|
} Rate_monotonic_Control;
|
||||||
|
|
||||||
EXTERN Objects_Information _Rate_monotonic_Information;
|
RTEMS_EXTERN Objects_Information _Rate_monotonic_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Rate_monotonic_Manager_initialization
|
* _Rate_monotonic_Manager_initialization
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Region_Information;
|
RTEMS_EXTERN Objects_Information _Region_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Region_Manager_initialization
|
* _Region_Manager_initialization
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Semaphore_Information;
|
RTEMS_EXTERN Objects_Information _Semaphore_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Semaphore_Manager_initialization
|
* _Semaphore_Manager_initialization
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ typedef enum {
|
|||||||
|
|
||||||
extern rtems_status_code _Status_Object_name_errors_to_status[];
|
extern rtems_status_code _Status_Object_name_errors_to_status[];
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef RTEMS_API_INIT
|
||||||
rtems_status_code _Status_Object_name_errors_to_status[] = {
|
rtems_status_code _Status_Object_name_errors_to_status[] = {
|
||||||
RTEMS_SUCCESSFUL, /* OBJECTS_SUCCESSFUL */
|
RTEMS_SUCCESSFUL, /* OBJECTS_SUCCESSFUL */
|
||||||
RTEMS_INVALID_NAME, /* OBJECTS_INVALID_NAME */
|
RTEMS_INVALID_NAME, /* OBJECTS_INVALID_NAME */
|
||||||
|
|||||||
@@ -164,14 +164,15 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _RTEMS_tasks_Information;
|
RTEMS_EXTERN Objects_Information _RTEMS_tasks_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are used to manage the user initialization tasks.
|
* These are used to manage the user initialization tasks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_initialization_tasks_table *_RTEMS_tasks_User_initialization_tasks;
|
RTEMS_EXTERN rtems_initialization_tasks_table
|
||||||
EXTERN unsigned32 _RTEMS_tasks_Number_of_initialization_tasks;
|
*_RTEMS_tasks_User_initialization_tasks;
|
||||||
|
RTEMS_EXTERN unsigned32 _RTEMS_tasks_Number_of_initialization_tasks;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _RTEMS_tasks_Manager_initialization
|
* _RTEMS_tasks_Manager_initialization
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )(
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Timer_Information;
|
RTEMS_EXTERN Objects_Information _Timer_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following records define the control block used to manage
|
* The following records define the control block used to manage
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ typedef struct {
|
|||||||
* The following define the internal Dual Ported Memory information.
|
* The following define the internal Dual Ported Memory information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Dual_ported_memory_Information;
|
RTEMS_EXTERN Objects_Information _Dual_ported_memory_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Dual_ported_memory_Manager_initialization
|
* _Dual_ported_memory_Manager_initialization
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ void _Event_Timeout (
|
|||||||
* executing thread are received properly.
|
* executing thread are received properly.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN volatile Event_Sync_states _Event_Sync_state;
|
RTEMS_EXTERN volatile Event_Sync_states _Event_Sync_state;
|
||||||
|
|
||||||
#include <rtems/rtems/eventmp.h>
|
#include <rtems/rtems/eventmp.h>
|
||||||
#ifndef __RTEMS_APPLICATION__
|
#ifndef __RTEMS_APPLICATION__
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Message_queue_Information;
|
RTEMS_EXTERN Objects_Information _Message_queue_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Message_queue_Manager_initialization
|
* _Message_queue_Manager_initialization
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Partition_Information;
|
RTEMS_EXTERN Objects_Information _Partition_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Partition_Manager_initialization
|
* _Partition_Manager_initialization
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ typedef struct {
|
|||||||
Thread_Control *owner;
|
Thread_Control *owner;
|
||||||
} Rate_monotonic_Control;
|
} Rate_monotonic_Control;
|
||||||
|
|
||||||
EXTERN Objects_Information _Rate_monotonic_Information;
|
RTEMS_EXTERN Objects_Information _Rate_monotonic_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Rate_monotonic_Manager_initialization
|
* _Rate_monotonic_Manager_initialization
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Region_Information;
|
RTEMS_EXTERN Objects_Information _Region_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Region_Manager_initialization
|
* _Region_Manager_initialization
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Semaphore_Information;
|
RTEMS_EXTERN Objects_Information _Semaphore_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Semaphore_Manager_initialization
|
* _Semaphore_Manager_initialization
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ typedef enum {
|
|||||||
|
|
||||||
extern rtems_status_code _Status_Object_name_errors_to_status[];
|
extern rtems_status_code _Status_Object_name_errors_to_status[];
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef RTEMS_API_INIT
|
||||||
rtems_status_code _Status_Object_name_errors_to_status[] = {
|
rtems_status_code _Status_Object_name_errors_to_status[] = {
|
||||||
RTEMS_SUCCESSFUL, /* OBJECTS_SUCCESSFUL */
|
RTEMS_SUCCESSFUL, /* OBJECTS_SUCCESSFUL */
|
||||||
RTEMS_INVALID_NAME, /* OBJECTS_INVALID_NAME */
|
RTEMS_INVALID_NAME, /* OBJECTS_INVALID_NAME */
|
||||||
|
|||||||
@@ -164,14 +164,15 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _RTEMS_tasks_Information;
|
RTEMS_EXTERN Objects_Information _RTEMS_tasks_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are used to manage the user initialization tasks.
|
* These are used to manage the user initialization tasks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_initialization_tasks_table *_RTEMS_tasks_User_initialization_tasks;
|
RTEMS_EXTERN rtems_initialization_tasks_table
|
||||||
EXTERN unsigned32 _RTEMS_tasks_Number_of_initialization_tasks;
|
*_RTEMS_tasks_User_initialization_tasks;
|
||||||
|
RTEMS_EXTERN unsigned32 _RTEMS_tasks_Number_of_initialization_tasks;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _RTEMS_tasks_Manager_initialization
|
* _RTEMS_tasks_Manager_initialization
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )(
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Timer_Information;
|
RTEMS_EXTERN Objects_Information _Timer_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following records define the control block used to manage
|
* The following records define the control block used to manage
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ typedef struct {
|
|||||||
rtems_extensions_table *User_extension_table;
|
rtems_extensions_table *User_extension_table;
|
||||||
rtems_multiprocessing_table *User_multiprocessing_table;
|
rtems_multiprocessing_table *User_multiprocessing_table;
|
||||||
rtems_api_configuration_table *RTEMS_api_configuration;
|
rtems_api_configuration_table *RTEMS_api_configuration;
|
||||||
posix_api_configuration_table *Posix_api_configuration;
|
posix_api_configuration_table *POSIX_api_configuration;
|
||||||
} rtems_configuration_table;
|
} rtems_configuration_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -92,8 +92,8 @@ typedef struct {
|
|||||||
* the user. They are not used in RTEMS itself.
|
* the user. They are not used in RTEMS itself.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_configuration_table *_Configuration_Table;
|
SAPI_EXTERN rtems_configuration_table *_Configuration_Table;
|
||||||
EXTERN rtems_multiprocessing_table *_Configuration_MP_table;
|
SAPI_EXTERN rtems_multiprocessing_table *_Configuration_MP_table;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ typedef User_extensions_Table rtems_extensions_table;
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Extension_Information;
|
SAPI_EXTERN Objects_Information _Extension_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following records define the control block used to manage
|
* The following records define the control block used to manage
|
||||||
|
|||||||
@@ -86,10 +86,10 @@ typedef struct {
|
|||||||
* Address Table and Device Name Table.
|
* Address Table and Device Name Table.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _IO_Number_of_drivers;
|
SAPI_EXTERN unsigned32 _IO_Number_of_drivers;
|
||||||
EXTERN rtems_driver_address_table *_IO_Driver_address_table;
|
SAPI_EXTERN rtems_driver_address_table *_IO_Driver_address_table;
|
||||||
EXTERN unsigned32 _IO_Number_of_devices;
|
SAPI_EXTERN unsigned32 _IO_Number_of_devices;
|
||||||
EXTERN rtems_driver_name_t *_IO_Driver_name_table;
|
SAPI_EXTERN rtems_driver_name_t *_IO_Driver_name_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _IO_Manager_initialization
|
* _IO_Manager_initialization
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ typedef struct {
|
|||||||
rtems_extensions_table *User_extension_table;
|
rtems_extensions_table *User_extension_table;
|
||||||
rtems_multiprocessing_table *User_multiprocessing_table;
|
rtems_multiprocessing_table *User_multiprocessing_table;
|
||||||
rtems_api_configuration_table *RTEMS_api_configuration;
|
rtems_api_configuration_table *RTEMS_api_configuration;
|
||||||
posix_api_configuration_table *Posix_api_configuration;
|
posix_api_configuration_table *POSIX_api_configuration;
|
||||||
} rtems_configuration_table;
|
} rtems_configuration_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -92,8 +92,8 @@ typedef struct {
|
|||||||
* the user. They are not used in RTEMS itself.
|
* the user. They are not used in RTEMS itself.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_configuration_table *_Configuration_Table;
|
SAPI_EXTERN rtems_configuration_table *_Configuration_Table;
|
||||||
EXTERN rtems_multiprocessing_table *_Configuration_MP_table;
|
SAPI_EXTERN rtems_multiprocessing_table *_Configuration_MP_table;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ typedef User_extensions_Table rtems_extensions_table;
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Extension_Information;
|
SAPI_EXTERN Objects_Information _Extension_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following records define the control block used to manage
|
* The following records define the control block used to manage
|
||||||
|
|||||||
@@ -86,10 +86,10 @@ typedef struct {
|
|||||||
* Address Table and Device Name Table.
|
* Address Table and Device Name Table.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _IO_Number_of_drivers;
|
SAPI_EXTERN unsigned32 _IO_Number_of_drivers;
|
||||||
EXTERN rtems_driver_address_table *_IO_Driver_address_table;
|
SAPI_EXTERN rtems_driver_address_table *_IO_Driver_address_table;
|
||||||
EXTERN unsigned32 _IO_Number_of_devices;
|
SAPI_EXTERN unsigned32 _IO_Number_of_devices;
|
||||||
EXTERN rtems_driver_name_t *_IO_Driver_name_table;
|
SAPI_EXTERN rtems_driver_name_t *_IO_Driver_name_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _IO_Manager_initialization
|
* _IO_Manager_initialization
|
||||||
|
|||||||
@@ -13,11 +13,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* INIT is defined so all of the data will be included in this
|
* SCORE_INIT and SAPI_INIT are defined so all of the super core and
|
||||||
* file.
|
* super API data will be included in this object file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define INIT
|
#define SAPI_INIT
|
||||||
|
#define SCORE_INIT
|
||||||
|
|
||||||
#include <rtems/system.h>
|
#include <rtems/system.h>
|
||||||
#include <rtems/config.h>
|
#include <rtems/config.h>
|
||||||
@@ -44,7 +45,11 @@
|
|||||||
#include <rtems/directives.h>
|
#include <rtems/directives.h>
|
||||||
#include <rtems/sptables.h>
|
#include <rtems/sptables.h>
|
||||||
|
|
||||||
|
|
||||||
#include <rtems/rtems/rtemsapi.h>
|
#include <rtems/rtems/rtemsapi.h>
|
||||||
|
#ifdef RTEMS_POSIX_API
|
||||||
|
#include <rtems/posix/posixapi.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -14,21 +14,27 @@
|
|||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef RTEMS_POSIX_API
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* POSIX_API_INIT is defined so all of the POSIX API
|
||||||
|
* data will be included in this object file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define POSIX_API_INIT
|
||||||
|
|
||||||
#include <rtems/system.h>
|
#include <rtems/system.h>
|
||||||
|
|
||||||
#define INIT
|
#include <sys/types.h>
|
||||||
|
#include <rtems/config.h>
|
||||||
#include <rtems/posix/cond.h>
|
#include <rtems/posix/cond.h>
|
||||||
#include <rtems/posix/condmp.h>
|
|
||||||
#include <rtems/posix/config.h>
|
#include <rtems/posix/config.h>
|
||||||
#include <rtems/posix/key.h>
|
#include <rtems/posix/key.h>
|
||||||
#include <rtems/posix/mutex.h>
|
#include <rtems/posix/mutex.h>
|
||||||
#include <rtems/posix/mutexmp.h>
|
|
||||||
#include <rtems/posix/priority.h>
|
#include <rtems/posix/priority.h>
|
||||||
#include <rtems/posix/pthread.h>
|
#include <rtems/posix/pthread.h>
|
||||||
#include <rtems/posix/pthreadmp.h>
|
|
||||||
#include <rtems/posix/time.h>
|
#include <rtems/posix/time.h>
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
@@ -48,20 +54,17 @@ void _POSIX_API_Initialize(
|
|||||||
|
|
||||||
assert( api_configuration );
|
assert( api_configuration );
|
||||||
|
|
||||||
_RTEMS_tasks_Manager_initialization(
|
_POSIX_Threads_Manager_initialization(
|
||||||
api_configuration->maximum_tasks
|
api_configuration->maximum_threads,
|
||||||
#if 0
|
|
||||||
,
|
|
||||||
api_configuration->number_of_initialization_tasks,
|
api_configuration->number_of_initialization_tasks,
|
||||||
api_configuration->User_initialization_tasks_table
|
api_configuration->User_initialization_tasks_table
|
||||||
#endif
|
|
||||||
);
|
);
|
||||||
|
|
||||||
_POSIX_Condition_variables_Manager_initialization(
|
_POSIX_Condition_variables_Manager_initialization(
|
||||||
api_configuration->maximum_condition_variables
|
api_configuration->maximum_condition_variables
|
||||||
);
|
);
|
||||||
|
|
||||||
void _POSIX_Key_Manager_initialization( api_configuration->maximum_keys );
|
_POSIX_Key_Manager_initialization( api_configuration->maximum_keys );
|
||||||
|
|
||||||
_POSIX_Mutex_Manager_initialization(
|
_POSIX_Mutex_Manager_initialization(
|
||||||
api_configuration->maximum_mutexes
|
api_configuration->maximum_mutexes
|
||||||
@@ -69,4 +72,5 @@ void _POSIX_API_Initialize(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
/* end of file */
|
/* end of file */
|
||||||
|
|||||||
@@ -14,12 +14,17 @@
|
|||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* RTEMS_API_INIT is defined so all of the RTEMS API
|
||||||
|
* data will be included in this object file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define RTEMS_API_INIT
|
||||||
|
|
||||||
#include <rtems/system.h>
|
#include <rtems/system.h>
|
||||||
#include <rtems/rtems/status.h>
|
#include <rtems/rtems/status.h>
|
||||||
#include <rtems/rtems/rtemsapi.h>
|
#include <rtems/rtems/rtemsapi.h>
|
||||||
|
|
||||||
#define INIT
|
|
||||||
|
|
||||||
#include <rtems/rtems/intr.h>
|
#include <rtems/rtems/intr.h>
|
||||||
#include <rtems/rtems/clock.h>
|
#include <rtems/rtems/clock.h>
|
||||||
#include <rtems/rtems/tasks.h>
|
#include <rtems/rtems/tasks.h>
|
||||||
|
|||||||
@@ -230,10 +230,10 @@ typedef struct {
|
|||||||
|
|
||||||
/* variables */
|
/* variables */
|
||||||
|
|
||||||
EXTERN Context_Control_fp _CPU_Null_fp_context;
|
SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
|
||||||
EXTERN unsigned32 _CPU_Default_gr27;
|
SCORE_EXTERN unsigned32 _CPU_Default_gr27;
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
|
|
||||||
#endif /* ! ASM */
|
#endif /* ! ASM */
|
||||||
|
|
||||||
|
|||||||
@@ -122,9 +122,9 @@ typedef struct {
|
|||||||
|
|
||||||
/* variables */
|
/* variables */
|
||||||
|
|
||||||
EXTERN Context_Control_fp _CPU_Null_fp_context;
|
SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
|
|
||||||
/* constants */
|
/* constants */
|
||||||
|
|
||||||
|
|||||||
@@ -157,8 +157,8 @@ typedef struct {
|
|||||||
|
|
||||||
/* variables */
|
/* variables */
|
||||||
|
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
|
|
||||||
/* constants */
|
/* constants */
|
||||||
|
|
||||||
|
|||||||
@@ -148,10 +148,10 @@ typedef struct {
|
|||||||
|
|
||||||
/* variables */
|
/* variables */
|
||||||
|
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
/* points to jsr-exception-table in targets wo/ VBR register */
|
/* points to jsr-exception-table in targets wo/ VBR register */
|
||||||
extern char _VBR[];
|
extern char _VBR[];
|
||||||
|
|
||||||
/* constants */
|
/* constants */
|
||||||
|
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ typedef struct {
|
|||||||
* _CPU_Context_Initialize.
|
* _CPU_Context_Initialize.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Context_Control_fp _CPU_Null_fp_context;
|
SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* On some CPUs, RTEMS supports a software managed interrupt stack.
|
* On some CPUs, RTEMS supports a software managed interrupt stack.
|
||||||
@@ -367,8 +367,8 @@ EXTERN Context_Control_fp _CPU_Null_fp_context;
|
|||||||
* CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE.
|
* CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* With some compilation systems, it is difficult if not impossible to
|
* With some compilation systems, it is difficult if not impossible to
|
||||||
@@ -380,7 +380,7 @@ EXTERN void *_CPU_Interrupt_stack_high;
|
|||||||
* sequence (if a dispatch is necessary).
|
* sequence (if a dispatch is necessary).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN void (*_CPU_Thread_dispatch_pointer)();
|
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Nothing prevents the porter from declaring more CPU specific variables.
|
* Nothing prevents the porter from declaring more CPU specific variables.
|
||||||
|
|||||||
@@ -473,8 +473,8 @@ typedef struct {
|
|||||||
* CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE.
|
* CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* With some compilation systems, it is difficult if not impossible to
|
* With some compilation systems, it is difficult if not impossible to
|
||||||
@@ -492,7 +492,7 @@ EXTERN void *_CPU_Interrupt_stack_high;
|
|||||||
* Nothing prevents the porter from declaring more CPU specific variables.
|
* Nothing prevents the porter from declaring more CPU specific variables.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN struct {
|
SCORE_EXTERN struct {
|
||||||
unsigned32 *Nest_level;
|
unsigned32 *Nest_level;
|
||||||
unsigned32 *Disable_level;
|
unsigned32 *Disable_level;
|
||||||
void *Vector_table;
|
void *Vector_table;
|
||||||
|
|||||||
@@ -514,7 +514,7 @@ typedef struct {
|
|||||||
* context area during _CPU_Context_Initialize.
|
* context area during _CPU_Context_Initialize.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Context_Control_fp _CPU_Null_fp_context CPU_STRUCTURE_ALIGNMENT;
|
SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context CPU_STRUCTURE_ALIGNMENT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This stack is allocated by the Interrupt Manager and the switch
|
* This stack is allocated by the Interrupt Manager and the switch
|
||||||
@@ -529,8 +529,8 @@ EXTERN Context_Control_fp _CPU_Null_fp_context CPU_STRUCTURE_ALIGNMENT;
|
|||||||
* are required.
|
* are required.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
|
|
||||||
#if defined(erc32)
|
#if defined(erc32)
|
||||||
|
|
||||||
@@ -538,7 +538,7 @@ EXTERN void *_CPU_Interrupt_stack_high;
|
|||||||
* ERC32 Specific Variables
|
* ERC32 Specific Variables
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _ERC32_MEC_Timer_Control_Mirror;
|
SCORE_EXTERN unsigned32 _ERC32_MEC_Timer_Control_Mirror;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -585,7 +585,7 @@ extern const CPU_Trap_table_entry _CPU_Trap_slot_template;
|
|||||||
|
|
||||||
#define SPARC_TRAP_TABLE_ALIGNMENT 4096
|
#define SPARC_TRAP_TABLE_ALIGNMENT 4096
|
||||||
|
|
||||||
EXTERN unsigned8 _CPU_Trap_Table_area[ 8192 ]
|
SCORE_EXTERN unsigned8 _CPU_Trap_Table_area[ 8192 ]
|
||||||
__attribute__ ((aligned (SPARC_TRAP_TABLE_ALIGNMENT)));
|
__attribute__ ((aligned (SPARC_TRAP_TABLE_ALIGNMENT)));
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -491,7 +491,7 @@ typedef struct {
|
|||||||
* _CPU_Context_Initialize.
|
* _CPU_Context_Initialize.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Context_Control_fp _CPU_Null_fp_context;
|
SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* On some CPUs, RTEMS supports a software managed interrupt stack.
|
* On some CPUs, RTEMS supports a software managed interrupt stack.
|
||||||
@@ -506,8 +506,8 @@ EXTERN Context_Control_fp _CPU_Null_fp_context;
|
|||||||
* CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE.
|
* CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN void *_CPU_Interrupt_stack_low;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
|
||||||
EXTERN void *_CPU_Interrupt_stack_high;
|
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* With some compilation systems, it is difficult if not impossible to
|
* With some compilation systems, it is difficult if not impossible to
|
||||||
@@ -519,7 +519,7 @@ EXTERN void *_CPU_Interrupt_stack_high;
|
|||||||
* sequence (if a dispatch is necessary).
|
* sequence (if a dispatch is necessary).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN void (*_CPU_Thread_dispatch_pointer)();
|
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Nothing prevents the porter from declaring more CPU specific variables.
|
* Nothing prevents the porter from declaring more CPU specific variables.
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ typedef struct {
|
|||||||
* This is the list of API extensions to the system initialization.
|
* This is the list of API extensions to the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _API_extensions_List;
|
SCORE_EXTERN Chain_Control _API_extensions_List;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _API_extensions_Initialization
|
* _API_extensions_Initialization
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ extern "C" {
|
|||||||
|
|
||||||
#if ( CPU_USE_GENERIC_BITFIELD_DATA == TRUE )
|
#if ( CPU_USE_GENERIC_BITFIELD_DATA == TRUE )
|
||||||
|
|
||||||
#ifndef INIT
|
#ifndef SCORE_INIT
|
||||||
extern const unsigned char __log2table[256];
|
extern const unsigned char __log2table[256];
|
||||||
#else
|
#else
|
||||||
const unsigned char __log2table[256] = {
|
const unsigned char __log2table[256] = {
|
||||||
7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
|
7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ extern "C" {
|
|||||||
* currently executing thread and given to the heir thread.
|
* currently executing thread and given to the heir thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN boolean _Context_Switch_necessary;
|
SCORE_EXTERN boolean _Context_Switch_necessary;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Context_Initialize
|
* _Context_Initialize
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef SCORE_INIT
|
||||||
|
|
||||||
const char _Copyright_Notice[] =
|
const char _Copyright_Notice[] =
|
||||||
"COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.\n\
|
"COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.\n\
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ typedef unsigned32 rtems_debug_control;
|
|||||||
* This variable contains the current debug level.
|
* This variable contains the current debug level.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_debug_control _Debug_Level;
|
SCORE_EXTERN rtems_debug_control _Debug_Level;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Debug_Manager_initialization
|
* _Debug_Manager_initialization
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ typedef struct {
|
|||||||
* When a fatal error occurs, the error information is stored here.
|
* When a fatal error occurs, the error information is stored here.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Internal_errors_Information Internal_errors_What_happened;
|
SCORE_EXTERN Internal_errors_Information Internal_errors_What_happened;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Internal_error_Occurred
|
* _Internal_error_Occurred
|
||||||
|
|||||||
@@ -68,21 +68,21 @@ typedef ISR_Handler ( *ISR_Handler_entry )(
|
|||||||
* executing thread by an ISR handler.
|
* executing thread by an ISR handler.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN boolean _ISR_Signals_to_thread_executing;
|
SCORE_EXTERN boolean _ISR_Signals_to_thread_executing;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the interrupt service routine nest level.
|
* The following contains the interrupt service routine nest level.
|
||||||
* When this variable is zero, a thread is executing.
|
* When this variable is zero, a thread is executing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _ISR_Nest_level;
|
SCORE_EXTERN unsigned32 _ISR_Nest_level;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following declares the Vector Table. Application
|
* The following declares the Vector Table. Application
|
||||||
* interrupt service routines are vectored by the ISR Handler via this table.
|
* interrupt service routines are vectored by the ISR Handler via this table.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN ISR_Handler_entry _ISR_Vector_table[ ISR_NUMBER_OF_VECTORS ];
|
SCORE_EXTERN ISR_Handler_entry _ISR_Vector_table[ ISR_NUMBER_OF_VECTORS ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _ISR_Handler_initialization
|
* _ISR_Handler_initialization
|
||||||
|
|||||||
@@ -127,33 +127,34 @@ typedef struct {
|
|||||||
* This is the core semaphore which the MPCI Receive Server blocks on.
|
* This is the core semaphore which the MPCI Receive Server blocks on.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN CORE_semaphore_Control _MPCI_Semaphore;
|
SCORE_EXTERN CORE_semaphore_Control _MPCI_Semaphore;
|
||||||
/*
|
/*
|
||||||
* The following thread queue is used to maintain a list of tasks
|
* The following thread queue is used to maintain a list of tasks
|
||||||
* which currently have outstanding remote requests.
|
* which currently have outstanding remote requests.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_queue_Control _MPCI_Remote_blocked_threads;
|
SCORE_EXTERN Thread_queue_Control _MPCI_Remote_blocked_threads;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following define the internal pointers to the user's
|
* The following define the internal pointers to the user's
|
||||||
* configuration information.
|
* configuration information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN MPCI_Control *_MPCI_table;
|
SCORE_EXTERN MPCI_Control *_MPCI_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the MPCI Receive Server.
|
* The following points to the MPCI Receive Server.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_MPCI_Receive_server_tcb;
|
SCORE_EXTERN Thread_Control *_MPCI_Receive_server_tcb;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following table contains the process packet routines provided
|
* The following table contains the process packet routines provided
|
||||||
* by each object that supports MP operations.
|
* by each object that supports MP operations.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN MPCI_Packet_processor _MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1];
|
SCORE_EXTERN MPCI_Packet_processor
|
||||||
|
_MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _MPCI_Handler_initialization
|
* _MPCI_Handler_initialization
|
||||||
|
|||||||
@@ -151,8 +151,8 @@ typedef struct {
|
|||||||
* node number of the local node.
|
* node number of the local node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Objects_Local_node;
|
SCORE_EXTERN unsigned32 _Objects_Local_node;
|
||||||
EXTERN unsigned32 _Objects_Maximum_nodes;
|
SCORE_EXTERN unsigned32 _Objects_Maximum_nodes;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is the list of information blocks for each object
|
* The following is the list of information blocks for each object
|
||||||
@@ -160,7 +160,7 @@ EXTERN unsigned32 _Objects_Maximum_nodes;
|
|||||||
* and obtain a pointer to the appropriate object control block.
|
* and obtain a pointer to the appropriate object control block.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information
|
SCORE_EXTERN Objects_Information
|
||||||
*_Objects_Information_table[OBJECTS_CLASSES_LAST + 1];
|
*_Objects_Information_table[OBJECTS_CLASSES_LAST + 1];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -137,8 +137,8 @@ void _Objects_MP_Is_remote (
|
|||||||
* inactive global object control blocks.
|
* inactive global object control blocks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Objects_MP_Maximum_global_objects;
|
SCORE_EXTERN unsigned32 _Objects_MP_Maximum_global_objects;
|
||||||
EXTERN Chain_Control _Objects_MP_Inactive_global_objects;
|
SCORE_EXTERN Chain_Control _Objects_MP_Inactive_global_objects;
|
||||||
|
|
||||||
#ifndef __RTEMS_APPLICATION__
|
#ifndef __RTEMS_APPLICATION__
|
||||||
#include <rtems/score/objectmp.inl>
|
#include <rtems/score/objectmp.inl>
|
||||||
|
|||||||
@@ -58,8 +58,9 @@ typedef struct {
|
|||||||
* threads are ready at that priority.
|
* threads are ready at that priority.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN volatile Priority_Bit_map_control _Priority_Major_bit_map;
|
SCORE_EXTERN volatile Priority_Bit_map_control _Priority_Major_bit_map;
|
||||||
EXTERN Priority_Bit_map_control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT;
|
SCORE_EXTERN Priority_Bit_map_control
|
||||||
|
_Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The definition of the Priority_Bit_map_control type is CPU dependent.
|
* The definition of the Priority_Bit_map_control type is CPU dependent.
|
||||||
|
|||||||
@@ -44,13 +44,13 @@ typedef enum {
|
|||||||
* an multiprocessing system.
|
* an multiprocessing system.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN boolean _System_state_Is_multiprocessing;
|
SCORE_EXTERN boolean _System_state_Is_multiprocessing;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following variable contains the current system state.
|
* The following variable contains the current system state.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN System_state_Codes _System_state_Current;
|
SCORE_EXTERN System_state_Codes _System_state_Current;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make it possible for the application to get the system state information.
|
* Make it possible for the application to get the system state information.
|
||||||
|
|||||||
@@ -36,16 +36,41 @@ extern "C" {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* The following insures that all data is declared in the space
|
* The following insures that all data is declared in the space
|
||||||
* of the Initialization Manager. It is referenced as "external"
|
* of the initialization routine for either the Initialization Manager
|
||||||
* in every other file.
|
* or the initialization file for the appropriate API. It is
|
||||||
|
* referenced as "external" in every other file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef SCORE_INIT
|
||||||
#undef EXTERN
|
#undef SCORE_EXTERN
|
||||||
#define EXTERN
|
#define SCORE_EXTERN
|
||||||
#else
|
#else
|
||||||
#undef EXTERN
|
#undef SCORE_EXTERN
|
||||||
#define EXTERN extern
|
#define SCORE_EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SAPI_INIT
|
||||||
|
#undef SAPI_EXTERN
|
||||||
|
#define SAPI_EXTERN
|
||||||
|
#else
|
||||||
|
#undef SAPI_EXTERN
|
||||||
|
#define SAPI_EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RTEMS_API_INIT
|
||||||
|
#undef RTEMS_EXTERN
|
||||||
|
#define RTEMS_EXTERN
|
||||||
|
#else
|
||||||
|
#undef RTEMS_EXTERN
|
||||||
|
#define RTEMS_EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef POSIX_API_INIT
|
||||||
|
#undef POSIX_EXTERN
|
||||||
|
#define POSIX_EXTERN
|
||||||
|
#else
|
||||||
|
#undef POSIX_EXTERN
|
||||||
|
#define POSIX_EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -118,7 +143,7 @@ extern const char _Copyright_Notice[]; /* RTEMS copyright string */
|
|||||||
* The following defines the CPU dependent information table.
|
* The following defines the CPU dependent information table.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_cpu_table _CPU_Table; /* CPU dependent info */
|
SCORE_EXTERN rtems_cpu_table _CPU_Table; /* CPU dependent info */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX weird RTEMS stuff
|
* XXX weird RTEMS stuff
|
||||||
|
|||||||
@@ -173,14 +173,14 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Thread_Internal_information;
|
SCORE_EXTERN Objects_Information _Thread_Internal_information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following define the thread control pointers used to access
|
* The following define the thread control pointers used to access
|
||||||
* and manipulate the idle thread.
|
* and manipulate the idle thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Idle;
|
SCORE_EXTERN Thread_Control *_Thread_Idle;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following context area contains the context of the "thread"
|
* The following context area contains the context of the "thread"
|
||||||
@@ -190,7 +190,7 @@ EXTERN Thread_Control *_Thread_Idle;
|
|||||||
* which initiated the system.
|
* which initiated the system.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Context_Control _Thread_BSP_context;
|
SCORE_EXTERN Context_Control _Thread_BSP_context;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following declares the dispatch critical section nesting
|
* The following declares the dispatch critical section nesting
|
||||||
@@ -198,7 +198,7 @@ EXTERN Context_Control _Thread_BSP_context;
|
|||||||
* moments.
|
* moments.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Thread_Dispatch_disable_level;
|
SCORE_EXTERN unsigned32 _Thread_Dispatch_disable_level;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following holds how many user extensions are in the system. This
|
* The following holds how many user extensions are in the system. This
|
||||||
@@ -206,28 +206,28 @@ EXTERN unsigned32 _Thread_Dispatch_disable_level;
|
|||||||
* per thread.
|
* per thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Thread_Maximum_extensions;
|
SCORE_EXTERN unsigned32 _Thread_Maximum_extensions;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following data items are used to manage timeslicing.
|
* The following data items are used to manage timeslicing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Thread_Ticks_remaining_in_timeslice;
|
SCORE_EXTERN unsigned32 _Thread_Ticks_remaining_in_timeslice;
|
||||||
EXTERN unsigned32 _Thread_Ticks_per_timeslice;
|
SCORE_EXTERN unsigned32 _Thread_Ticks_per_timeslice;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the array of FIFOs used to manage the
|
* The following points to the array of FIFOs used to manage the
|
||||||
* set of ready threads.
|
* set of ready threads.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control *_Thread_Ready_chain;
|
SCORE_EXTERN Chain_Control *_Thread_Ready_chain;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the thread which is currently executing.
|
* The following points to the thread which is currently executing.
|
||||||
* This thread is implicitly manipulated by numerous directives.
|
* This thread is implicitly manipulated by numerous directives.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Executing;
|
SCORE_EXTERN Thread_Control *_Thread_Executing;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the highest priority ready thread
|
* The following points to the highest priority ready thread
|
||||||
@@ -236,14 +236,14 @@ EXTERN Thread_Control *_Thread_Executing;
|
|||||||
* dispatch occurs.
|
* dispatch occurs.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Heir;
|
SCORE_EXTERN Thread_Control *_Thread_Heir;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the thread whose floating point
|
* The following points to the thread whose floating point
|
||||||
* context is currently loaded.
|
* context is currently loaded.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Allocated_fp;
|
SCORE_EXTERN Thread_Control *_Thread_Allocated_fp;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Thread_Handler_initialization
|
* _Thread_Handler_initialization
|
||||||
|
|||||||
@@ -68,14 +68,14 @@ Thread_Control *_Thread_MP_Find_proxy (
|
|||||||
* blocking the multiprocessing receive thread.
|
* blocking the multiprocessing receive thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_MP_Receive;
|
SCORE_EXTERN Thread_Control *_Thread_MP_Receive;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following chains are used to manage proxies.
|
* The following chains are used to manage proxies.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _Thread_MP_Active_proxies;
|
SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies;
|
||||||
EXTERN Chain_Control _Thread_MP_Inactive_proxies;
|
SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies;
|
||||||
|
|
||||||
#ifndef __RTEMS_APPLICATION__
|
#ifndef __RTEMS_APPLICATION__
|
||||||
#include <rtems/score/threadmp.inl>
|
#include <rtems/score/threadmp.inl>
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ typedef void ( *Thread_queue_Extract_callout )(
|
|||||||
Thread_Control *
|
Thread_Control *
|
||||||
);
|
);
|
||||||
|
|
||||||
EXTERN Thread_queue_Extract_callout
|
SCORE_EXTERN Thread_queue_Extract_callout
|
||||||
_Thread_queue_Extract_table[ OBJECTS_CLASSES_LAST + 1 ];
|
_Thread_queue_Extract_table[ OBJECTS_CLASSES_LAST + 1 ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -69,27 +69,27 @@ typedef struct { /* RTEID style time/date */
|
|||||||
* The following contains the current time of day.
|
* The following contains the current time of day.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN TOD_Control _TOD_Current;
|
SCORE_EXTERN TOD_Control _TOD_Current;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of seconds from 00:00:00
|
* The following contains the number of seconds from 00:00:00
|
||||||
* January 1, TOD_BASE_YEAR until the current time of day.
|
* January 1, TOD_BASE_YEAR until the current time of day.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Watchdog_Interval _TOD_Seconds_since_epoch;
|
SCORE_EXTERN Watchdog_Interval _TOD_Seconds_since_epoch;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of ticks since the
|
* The following contains the number of ticks since the
|
||||||
* system was booted.
|
* system was booted.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Watchdog_Interval _TOD_Ticks_since_boot;
|
SCORE_EXTERN Watchdog_Interval _TOD_Ticks_since_boot;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of microseconds per tick.
|
* The following contains the number of microseconds per tick.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _TOD_Microseconds_per_tick;
|
SCORE_EXTERN unsigned32 _TOD_Microseconds_per_tick;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of clock ticks per second.
|
* The following contains the number of clock ticks per second.
|
||||||
@@ -102,16 +102,16 @@ EXTERN unsigned32 _TOD_Microseconds_per_tick;
|
|||||||
* can be a source of error in the current time of day.
|
* can be a source of error in the current time of day.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _TOD_Ticks_per_second;
|
SCORE_EXTERN unsigned32 _TOD_Ticks_per_second;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the control structure for the watchdog timer which
|
* This is the control structure for the watchdog timer which
|
||||||
* fires to service the seconds chain.
|
* fires to service the seconds chain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Watchdog_Control _TOD_Seconds_watchdog;
|
SCORE_EXTERN Watchdog_Control _TOD_Seconds_watchdog;
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef SCORE_INIT
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following array contains the number of days in all months.
|
* The following array contains the number of days in all months.
|
||||||
|
|||||||
@@ -100,13 +100,13 @@ typedef struct {
|
|||||||
* configured by the application.
|
* configured by the application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN User_extensions_Control _User_extensions_Initial;
|
SCORE_EXTERN User_extensions_Control _User_extensions_Initial;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is used to manage the list of active extensions.
|
* The following is used to manage the list of active extensions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _User_extensions_List;
|
SCORE_EXTERN Chain_Control _User_extensions_List;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _User_extensions_Thread_create
|
* _User_extensions_Thread_create
|
||||||
|
|||||||
@@ -92,16 +92,16 @@ typedef struct {
|
|||||||
* during an insert on a watchdog delta chain.
|
* during an insert on a watchdog delta chain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN volatile unsigned32 _Watchdog_Sync_level;
|
SCORE_EXTERN volatile unsigned32 _Watchdog_Sync_level;
|
||||||
EXTERN volatile unsigned32 _Watchdog_Sync_count;
|
SCORE_EXTERN volatile unsigned32 _Watchdog_Sync_count;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following defines the watchdog chains which are managed
|
* The following defines the watchdog chains which are managed
|
||||||
* on ticks and second boundaries.
|
* on ticks and second boundaries.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _Watchdog_Ticks_chain;
|
SCORE_EXTERN Chain_Control _Watchdog_Ticks_chain;
|
||||||
EXTERN Chain_Control _Watchdog_Seconds_chain;
|
SCORE_EXTERN Chain_Control _Watchdog_Seconds_chain;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Watchdog_Handler_initialization
|
* _Watchdog_Handler_initialization
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Heap_Control _Workspace_Area; /* executive heap header */
|
SCORE_EXTERN Heap_Control _Workspace_Area; /* executive heap header */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Workspace_Handler_initialization
|
* _Workspace_Handler_initialization
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ typedef unsigned32 rtems_debug_control;
|
|||||||
* This variable contains the current debug level.
|
* This variable contains the current debug level.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_debug_control _Debug_Level;
|
SCORE_EXTERN rtems_debug_control _Debug_Level;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Debug_Manager_initialization
|
* _Debug_Manager_initialization
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ typedef struct {
|
|||||||
* This is the list of API extensions to the system initialization.
|
* This is the list of API extensions to the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _API_extensions_List;
|
SCORE_EXTERN Chain_Control _API_extensions_List;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _API_extensions_Initialization
|
* _API_extensions_Initialization
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ extern "C" {
|
|||||||
|
|
||||||
#if ( CPU_USE_GENERIC_BITFIELD_DATA == TRUE )
|
#if ( CPU_USE_GENERIC_BITFIELD_DATA == TRUE )
|
||||||
|
|
||||||
#ifndef INIT
|
#ifndef SCORE_INIT
|
||||||
extern const unsigned char __log2table[256];
|
extern const unsigned char __log2table[256];
|
||||||
#else
|
#else
|
||||||
const unsigned char __log2table[256] = {
|
const unsigned char __log2table[256] = {
|
||||||
7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
|
7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ extern "C" {
|
|||||||
* currently executing thread and given to the heir thread.
|
* currently executing thread and given to the heir thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN boolean _Context_Switch_necessary;
|
SCORE_EXTERN boolean _Context_Switch_necessary;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Context_Initialize
|
* _Context_Initialize
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef SCORE_INIT
|
||||||
|
|
||||||
const char _Copyright_Notice[] =
|
const char _Copyright_Notice[] =
|
||||||
"COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.\n\
|
"COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.\n\
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ typedef struct {
|
|||||||
* When a fatal error occurs, the error information is stored here.
|
* When a fatal error occurs, the error information is stored here.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Internal_errors_Information Internal_errors_What_happened;
|
SCORE_EXTERN Internal_errors_Information Internal_errors_What_happened;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Internal_error_Occurred
|
* _Internal_error_Occurred
|
||||||
|
|||||||
@@ -68,21 +68,21 @@ typedef ISR_Handler ( *ISR_Handler_entry )(
|
|||||||
* executing thread by an ISR handler.
|
* executing thread by an ISR handler.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN boolean _ISR_Signals_to_thread_executing;
|
SCORE_EXTERN boolean _ISR_Signals_to_thread_executing;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the interrupt service routine nest level.
|
* The following contains the interrupt service routine nest level.
|
||||||
* When this variable is zero, a thread is executing.
|
* When this variable is zero, a thread is executing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _ISR_Nest_level;
|
SCORE_EXTERN unsigned32 _ISR_Nest_level;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following declares the Vector Table. Application
|
* The following declares the Vector Table. Application
|
||||||
* interrupt service routines are vectored by the ISR Handler via this table.
|
* interrupt service routines are vectored by the ISR Handler via this table.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN ISR_Handler_entry _ISR_Vector_table[ ISR_NUMBER_OF_VECTORS ];
|
SCORE_EXTERN ISR_Handler_entry _ISR_Vector_table[ ISR_NUMBER_OF_VECTORS ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _ISR_Handler_initialization
|
* _ISR_Handler_initialization
|
||||||
|
|||||||
@@ -127,33 +127,34 @@ typedef struct {
|
|||||||
* This is the core semaphore which the MPCI Receive Server blocks on.
|
* This is the core semaphore which the MPCI Receive Server blocks on.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN CORE_semaphore_Control _MPCI_Semaphore;
|
SCORE_EXTERN CORE_semaphore_Control _MPCI_Semaphore;
|
||||||
/*
|
/*
|
||||||
* The following thread queue is used to maintain a list of tasks
|
* The following thread queue is used to maintain a list of tasks
|
||||||
* which currently have outstanding remote requests.
|
* which currently have outstanding remote requests.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_queue_Control _MPCI_Remote_blocked_threads;
|
SCORE_EXTERN Thread_queue_Control _MPCI_Remote_blocked_threads;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following define the internal pointers to the user's
|
* The following define the internal pointers to the user's
|
||||||
* configuration information.
|
* configuration information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN MPCI_Control *_MPCI_table;
|
SCORE_EXTERN MPCI_Control *_MPCI_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the MPCI Receive Server.
|
* The following points to the MPCI Receive Server.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_MPCI_Receive_server_tcb;
|
SCORE_EXTERN Thread_Control *_MPCI_Receive_server_tcb;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following table contains the process packet routines provided
|
* The following table contains the process packet routines provided
|
||||||
* by each object that supports MP operations.
|
* by each object that supports MP operations.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN MPCI_Packet_processor _MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1];
|
SCORE_EXTERN MPCI_Packet_processor
|
||||||
|
_MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _MPCI_Handler_initialization
|
* _MPCI_Handler_initialization
|
||||||
|
|||||||
@@ -151,8 +151,8 @@ typedef struct {
|
|||||||
* node number of the local node.
|
* node number of the local node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Objects_Local_node;
|
SCORE_EXTERN unsigned32 _Objects_Local_node;
|
||||||
EXTERN unsigned32 _Objects_Maximum_nodes;
|
SCORE_EXTERN unsigned32 _Objects_Maximum_nodes;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is the list of information blocks for each object
|
* The following is the list of information blocks for each object
|
||||||
@@ -160,7 +160,7 @@ EXTERN unsigned32 _Objects_Maximum_nodes;
|
|||||||
* and obtain a pointer to the appropriate object control block.
|
* and obtain a pointer to the appropriate object control block.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information
|
SCORE_EXTERN Objects_Information
|
||||||
*_Objects_Information_table[OBJECTS_CLASSES_LAST + 1];
|
*_Objects_Information_table[OBJECTS_CLASSES_LAST + 1];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -137,8 +137,8 @@ void _Objects_MP_Is_remote (
|
|||||||
* inactive global object control blocks.
|
* inactive global object control blocks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Objects_MP_Maximum_global_objects;
|
SCORE_EXTERN unsigned32 _Objects_MP_Maximum_global_objects;
|
||||||
EXTERN Chain_Control _Objects_MP_Inactive_global_objects;
|
SCORE_EXTERN Chain_Control _Objects_MP_Inactive_global_objects;
|
||||||
|
|
||||||
#ifndef __RTEMS_APPLICATION__
|
#ifndef __RTEMS_APPLICATION__
|
||||||
#include <rtems/score/objectmp.inl>
|
#include <rtems/score/objectmp.inl>
|
||||||
|
|||||||
@@ -58,8 +58,9 @@ typedef struct {
|
|||||||
* threads are ready at that priority.
|
* threads are ready at that priority.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN volatile Priority_Bit_map_control _Priority_Major_bit_map;
|
SCORE_EXTERN volatile Priority_Bit_map_control _Priority_Major_bit_map;
|
||||||
EXTERN Priority_Bit_map_control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT;
|
SCORE_EXTERN Priority_Bit_map_control
|
||||||
|
_Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The definition of the Priority_Bit_map_control type is CPU dependent.
|
* The definition of the Priority_Bit_map_control type is CPU dependent.
|
||||||
|
|||||||
@@ -44,13 +44,13 @@ typedef enum {
|
|||||||
* an multiprocessing system.
|
* an multiprocessing system.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN boolean _System_state_Is_multiprocessing;
|
SCORE_EXTERN boolean _System_state_Is_multiprocessing;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following variable contains the current system state.
|
* The following variable contains the current system state.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN System_state_Codes _System_state_Current;
|
SCORE_EXTERN System_state_Codes _System_state_Current;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make it possible for the application to get the system state information.
|
* Make it possible for the application to get the system state information.
|
||||||
|
|||||||
@@ -173,14 +173,14 @@ typedef struct {
|
|||||||
* manage this class of objects.
|
* manage this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _Thread_Internal_information;
|
SCORE_EXTERN Objects_Information _Thread_Internal_information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following define the thread control pointers used to access
|
* The following define the thread control pointers used to access
|
||||||
* and manipulate the idle thread.
|
* and manipulate the idle thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Idle;
|
SCORE_EXTERN Thread_Control *_Thread_Idle;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following context area contains the context of the "thread"
|
* The following context area contains the context of the "thread"
|
||||||
@@ -190,7 +190,7 @@ EXTERN Thread_Control *_Thread_Idle;
|
|||||||
* which initiated the system.
|
* which initiated the system.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Context_Control _Thread_BSP_context;
|
SCORE_EXTERN Context_Control _Thread_BSP_context;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following declares the dispatch critical section nesting
|
* The following declares the dispatch critical section nesting
|
||||||
@@ -198,7 +198,7 @@ EXTERN Context_Control _Thread_BSP_context;
|
|||||||
* moments.
|
* moments.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Thread_Dispatch_disable_level;
|
SCORE_EXTERN unsigned32 _Thread_Dispatch_disable_level;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following holds how many user extensions are in the system. This
|
* The following holds how many user extensions are in the system. This
|
||||||
@@ -206,28 +206,28 @@ EXTERN unsigned32 _Thread_Dispatch_disable_level;
|
|||||||
* per thread.
|
* per thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Thread_Maximum_extensions;
|
SCORE_EXTERN unsigned32 _Thread_Maximum_extensions;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following data items are used to manage timeslicing.
|
* The following data items are used to manage timeslicing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _Thread_Ticks_remaining_in_timeslice;
|
SCORE_EXTERN unsigned32 _Thread_Ticks_remaining_in_timeslice;
|
||||||
EXTERN unsigned32 _Thread_Ticks_per_timeslice;
|
SCORE_EXTERN unsigned32 _Thread_Ticks_per_timeslice;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the array of FIFOs used to manage the
|
* The following points to the array of FIFOs used to manage the
|
||||||
* set of ready threads.
|
* set of ready threads.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control *_Thread_Ready_chain;
|
SCORE_EXTERN Chain_Control *_Thread_Ready_chain;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the thread which is currently executing.
|
* The following points to the thread which is currently executing.
|
||||||
* This thread is implicitly manipulated by numerous directives.
|
* This thread is implicitly manipulated by numerous directives.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Executing;
|
SCORE_EXTERN Thread_Control *_Thread_Executing;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the highest priority ready thread
|
* The following points to the highest priority ready thread
|
||||||
@@ -236,14 +236,14 @@ EXTERN Thread_Control *_Thread_Executing;
|
|||||||
* dispatch occurs.
|
* dispatch occurs.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Heir;
|
SCORE_EXTERN Thread_Control *_Thread_Heir;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following points to the thread whose floating point
|
* The following points to the thread whose floating point
|
||||||
* context is currently loaded.
|
* context is currently loaded.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_Allocated_fp;
|
SCORE_EXTERN Thread_Control *_Thread_Allocated_fp;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Thread_Handler_initialization
|
* _Thread_Handler_initialization
|
||||||
|
|||||||
@@ -68,14 +68,14 @@ Thread_Control *_Thread_MP_Find_proxy (
|
|||||||
* blocking the multiprocessing receive thread.
|
* blocking the multiprocessing receive thread.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Thread_Control *_Thread_MP_Receive;
|
SCORE_EXTERN Thread_Control *_Thread_MP_Receive;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following chains are used to manage proxies.
|
* The following chains are used to manage proxies.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _Thread_MP_Active_proxies;
|
SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies;
|
||||||
EXTERN Chain_Control _Thread_MP_Inactive_proxies;
|
SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies;
|
||||||
|
|
||||||
#ifndef __RTEMS_APPLICATION__
|
#ifndef __RTEMS_APPLICATION__
|
||||||
#include <rtems/score/threadmp.inl>
|
#include <rtems/score/threadmp.inl>
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ typedef void ( *Thread_queue_Extract_callout )(
|
|||||||
Thread_Control *
|
Thread_Control *
|
||||||
);
|
);
|
||||||
|
|
||||||
EXTERN Thread_queue_Extract_callout
|
SCORE_EXTERN Thread_queue_Extract_callout
|
||||||
_Thread_queue_Extract_table[ OBJECTS_CLASSES_LAST + 1 ];
|
_Thread_queue_Extract_table[ OBJECTS_CLASSES_LAST + 1 ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -69,27 +69,27 @@ typedef struct { /* RTEID style time/date */
|
|||||||
* The following contains the current time of day.
|
* The following contains the current time of day.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN TOD_Control _TOD_Current;
|
SCORE_EXTERN TOD_Control _TOD_Current;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of seconds from 00:00:00
|
* The following contains the number of seconds from 00:00:00
|
||||||
* January 1, TOD_BASE_YEAR until the current time of day.
|
* January 1, TOD_BASE_YEAR until the current time of day.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Watchdog_Interval _TOD_Seconds_since_epoch;
|
SCORE_EXTERN Watchdog_Interval _TOD_Seconds_since_epoch;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of ticks since the
|
* The following contains the number of ticks since the
|
||||||
* system was booted.
|
* system was booted.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Watchdog_Interval _TOD_Ticks_since_boot;
|
SCORE_EXTERN Watchdog_Interval _TOD_Ticks_since_boot;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of microseconds per tick.
|
* The following contains the number of microseconds per tick.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _TOD_Microseconds_per_tick;
|
SCORE_EXTERN unsigned32 _TOD_Microseconds_per_tick;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following contains the number of clock ticks per second.
|
* The following contains the number of clock ticks per second.
|
||||||
@@ -102,16 +102,16 @@ EXTERN unsigned32 _TOD_Microseconds_per_tick;
|
|||||||
* can be a source of error in the current time of day.
|
* can be a source of error in the current time of day.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN unsigned32 _TOD_Ticks_per_second;
|
SCORE_EXTERN unsigned32 _TOD_Ticks_per_second;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the control structure for the watchdog timer which
|
* This is the control structure for the watchdog timer which
|
||||||
* fires to service the seconds chain.
|
* fires to service the seconds chain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Watchdog_Control _TOD_Seconds_watchdog;
|
SCORE_EXTERN Watchdog_Control _TOD_Seconds_watchdog;
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef SCORE_INIT
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following array contains the number of days in all months.
|
* The following array contains the number of days in all months.
|
||||||
|
|||||||
@@ -100,13 +100,13 @@ typedef struct {
|
|||||||
* configured by the application.
|
* configured by the application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN User_extensions_Control _User_extensions_Initial;
|
SCORE_EXTERN User_extensions_Control _User_extensions_Initial;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is used to manage the list of active extensions.
|
* The following is used to manage the list of active extensions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _User_extensions_List;
|
SCORE_EXTERN Chain_Control _User_extensions_List;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _User_extensions_Thread_create
|
* _User_extensions_Thread_create
|
||||||
|
|||||||
@@ -92,16 +92,16 @@ typedef struct {
|
|||||||
* during an insert on a watchdog delta chain.
|
* during an insert on a watchdog delta chain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN volatile unsigned32 _Watchdog_Sync_level;
|
SCORE_EXTERN volatile unsigned32 _Watchdog_Sync_level;
|
||||||
EXTERN volatile unsigned32 _Watchdog_Sync_count;
|
SCORE_EXTERN volatile unsigned32 _Watchdog_Sync_count;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following defines the watchdog chains which are managed
|
* The following defines the watchdog chains which are managed
|
||||||
* on ticks and second boundaries.
|
* on ticks and second boundaries.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Chain_Control _Watchdog_Ticks_chain;
|
SCORE_EXTERN Chain_Control _Watchdog_Ticks_chain;
|
||||||
EXTERN Chain_Control _Watchdog_Seconds_chain;
|
SCORE_EXTERN Chain_Control _Watchdog_Seconds_chain;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Watchdog_Handler_initialization
|
* _Watchdog_Handler_initialization
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Heap_Control _Workspace_Area; /* executive heap header */
|
SCORE_EXTERN Heap_Control _Workspace_Area; /* executive heap header */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _Workspace_Handler_initialization
|
* _Workspace_Handler_initialization
|
||||||
|
|||||||
@@ -36,16 +36,41 @@ extern "C" {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* The following insures that all data is declared in the space
|
* The following insures that all data is declared in the space
|
||||||
* of the Initialization Manager. It is referenced as "external"
|
* of the initialization routine for either the Initialization Manager
|
||||||
* in every other file.
|
* or the initialization file for the appropriate API. It is
|
||||||
|
* referenced as "external" in every other file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef INIT
|
#ifdef SCORE_INIT
|
||||||
#undef EXTERN
|
#undef SCORE_EXTERN
|
||||||
#define EXTERN
|
#define SCORE_EXTERN
|
||||||
#else
|
#else
|
||||||
#undef EXTERN
|
#undef SCORE_EXTERN
|
||||||
#define EXTERN extern
|
#define SCORE_EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SAPI_INIT
|
||||||
|
#undef SAPI_EXTERN
|
||||||
|
#define SAPI_EXTERN
|
||||||
|
#else
|
||||||
|
#undef SAPI_EXTERN
|
||||||
|
#define SAPI_EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RTEMS_API_INIT
|
||||||
|
#undef RTEMS_EXTERN
|
||||||
|
#define RTEMS_EXTERN
|
||||||
|
#else
|
||||||
|
#undef RTEMS_EXTERN
|
||||||
|
#define RTEMS_EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef POSIX_API_INIT
|
||||||
|
#undef POSIX_EXTERN
|
||||||
|
#define POSIX_EXTERN
|
||||||
|
#else
|
||||||
|
#undef POSIX_EXTERN
|
||||||
|
#define POSIX_EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -118,7 +143,7 @@ extern const char _Copyright_Notice[]; /* RTEMS copyright string */
|
|||||||
* The following defines the CPU dependent information table.
|
* The following defines the CPU dependent information table.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN rtems_cpu_table _CPU_Table; /* CPU dependent info */
|
SCORE_EXTERN rtems_cpu_table _CPU_Table; /* CPU dependent info */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX weird RTEMS stuff
|
* XXX weird RTEMS stuff
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Condition_variables_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Condition_variables_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Condition_variables_Manager_initialization
|
* _POSIX_Condition_variables_Manager_initialization
|
||||||
|
|||||||
@@ -53,14 +53,15 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is an array which is used to manage the set of
|
* The following is an array which is used to manage the set of
|
||||||
* interrupt handlers installed on each vector.
|
* interrupt handlers installed on each vector.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN POSIX_Interrupt_Control _POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ];
|
POSIX_EXTERN POSIX_Interrupt_Control
|
||||||
|
_POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Interrupt_Manager_initialization
|
* _POSIX_Interrupt_Manager_initialization
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Keys_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Keys_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Keys_Manager_initialization
|
* _POSIX_Keys_Manager_initialization
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Message_queue_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Message_queue_Manager_initialization
|
* _POSIX_Message_queue_Manager_initialization
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <rtems/score/coremutex.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Data Structure used to manage a POSIX mutex
|
* Data Structure used to manage a POSIX mutex
|
||||||
*/
|
*/
|
||||||
@@ -36,7 +39,7 @@ typedef struct {
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Mutex_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Mutex_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _POSIX_Mutex_Manager_initialization
|
* _POSIX_Mutex_Manager_initialization
|
||||||
|
|||||||
34
cpukit/posix/include/rtems/posix/posixapi.h
Normal file
34
cpukit/posix/include/rtems/posix/posixapi.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* POSIX API Support
|
||||||
|
*
|
||||||
|
* NOTE:
|
||||||
|
*
|
||||||
|
* 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 __POSIX_API_h
|
||||||
|
#define __POSIX_API_h
|
||||||
|
|
||||||
|
#include <rtems/config.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _POSIX_API_Initialize
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _POSIX_API_Initialize(
|
||||||
|
rtems_configuration_table *configuration_table
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
@@ -35,15 +35,15 @@ typedef Thread_Control POSIX_Threads_Control;
|
|||||||
* this class of objects.
|
* this class of objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN Objects_Information _POSIX_Threads_Information;
|
POSIX_EXTERN Objects_Information _POSIX_Threads_Information;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are used to manage the user initialization tasks.
|
* These are used to manage the user initialization tasks.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN posix_initialization_tasks_table
|
POSIX_EXTERN posix_initialization_tasks_table
|
||||||
*_POSIX_Threads_User_initialization_tasks;
|
*_POSIX_Threads_User_initialization_tasks;
|
||||||
EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_tasks;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user