mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-21 23:06:27 +08:00
Split Classic API data instantiation into individual files. This reduces the size of the BSS section when an optional manageer stub is used. Some tests showed about a 600 byte reduction in BSS size. Also eliminated the variables _RTEMS_tasks_User_initialization_tasks and _RTEMS_tasks_Number_of_initialization_tasks because they were only used in one place after initialized. It was a waste of space.
This commit is contained in:
+12
-10
@@ -60,14 +60,15 @@ librtems_a_SOURCES += src/tasks.c src/taskcreate.c src/taskdelete.c \
|
||||
src/taskissuspended.c src/taskmode.c src/taskrestart.c src/taskresume.c \
|
||||
src/tasksetnote.c src/tasksetpriority.c src/taskstart.c \
|
||||
src/tasksuspend.c src/taskwakeafter.c src/taskwakewhen.c \
|
||||
src/taskvariableadd.c src/taskvariabledelete.c src/taskvariableget.c
|
||||
src/taskvariableadd.c src/taskvariabledelete.c src/taskvariableget.c \
|
||||
src/taskdata.c
|
||||
|
||||
## RATEMON_C_FILES
|
||||
librtems_a_SOURCES += src/ratemon.c src/ratemoncancel.c src/ratemoncreate.c \
|
||||
src/ratemondelete.c src/ratemongetstatus.c src/ratemongetstatistics.c \
|
||||
src/ratemonresetstatistics.c src/ratemonresetall.c \
|
||||
src/ratemonreportstatistics.c src/ratemonident.c \
|
||||
src/ratemonperiod.c src/ratemontimeout.c
|
||||
src/ratemonperiod.c src/ratemontimeout.c src/ratemondata.c
|
||||
|
||||
## INTR_C_FILES
|
||||
librtems_a_SOURCES += src/intr.c src/intrbody.c src/intrcatch.c
|
||||
@@ -75,7 +76,7 @@ librtems_a_SOURCES += src/intr.c src/intrbody.c src/intrcatch.c
|
||||
## BARRIER_C_FILES
|
||||
librtems_a_SOURCES += src/barrier.c src/barriercreate.c src/barrierdelete.c \
|
||||
src/barrierident.c src/barriertranslatereturncode.c src/barrierrelease.c \
|
||||
src/barrierwait.c
|
||||
src/barrierwait.c src/barrierdata.c
|
||||
|
||||
## CLOCK_C_FILES
|
||||
librtems_a_SOURCES += src/rtclock.c src/clockget.c src/clockset.c \
|
||||
@@ -86,22 +87,23 @@ librtems_a_SOURCES += src/rtclock.c src/clockget.c src/clockset.c \
|
||||
librtems_a_SOURCES += src/rtemstimer.c src/timercancel.c src/timercreate.c \
|
||||
src/timerdelete.c src/timerfireafter.c src/timerfirewhen.c \
|
||||
src/timergetinfo.c src/timerident.c src/timerreset.c src/timerserver.c \
|
||||
src/timerserverfireafter.c src/timerserverfirewhen.c
|
||||
src/timerserverfireafter.c src/timerserverfirewhen.c src/rtemstimerdata.c
|
||||
|
||||
## MESSAGE_QUEUE_C_FILES
|
||||
librtems_a_SOURCES += src/msg.c src/msgqallocate.c src/msgqbroadcast.c \
|
||||
src/msgqcreate.c src/msgqdelete.c src/msgqflush.c \
|
||||
src/msgqgetnumberpending.c src/msgqident.c src/msgqreceive.c \
|
||||
src/msgqsend.c c src/msgqtranslatereturncode.c src/msgqurgent.c
|
||||
src/msgqsend.c c src/msgqtranslatereturncode.c src/msgqurgent.c \
|
||||
src/msgdata.c
|
||||
|
||||
## SEMAPHORE_C_FILES
|
||||
librtems_a_SOURCES += src/sem.c src/semcreate.c src/semdelete.c src/semident.c \
|
||||
src/semobtain.c src/semrelease.c src/semflush.c \
|
||||
src/semtranslatereturncode.c
|
||||
src/semtranslatereturncode.c src/semdata.c
|
||||
|
||||
## EVENT_C_FILES
|
||||
librtems_a_SOURCES += src/event.c src/eventreceive.c src/eventseize.c \
|
||||
src/eventsend.c src/eventsurrender.c src/eventtimeout.c
|
||||
src/eventsend.c src/eventsurrender.c src/eventtimeout.c src/eventdata.c
|
||||
|
||||
## SIGNAL_C_FILES
|
||||
librtems_a_SOURCES += src/signal.c src/signalcatch.c src/signalsend.c
|
||||
@@ -111,16 +113,16 @@ librtems_a_SOURCES += src/region.c src/regioncreate.c src/regiondelete.c \
|
||||
src/regionextend.c src/regiongetsegment.c src/regiongetsegmentsize.c \
|
||||
src/regionident.c src/regionreturnsegment.c src/regiongetinfo.c \
|
||||
src/regiongetfreeinfo.c src/regionresizesegment.c \
|
||||
src/regionprocessqueue.c
|
||||
src/regionprocessqueue.c src/regiondata.c
|
||||
|
||||
## PARTITION_C_FILES
|
||||
librtems_a_SOURCES += src/part.c src/partcreate.c src/partdelete.c \
|
||||
src/partgetbuffer.c src/partident.c src/partreturnbuffer.c
|
||||
src/partgetbuffer.c src/partident.c src/partreturnbuffer.c src/partdata.c
|
||||
|
||||
## DPMEM_C_FILES
|
||||
librtems_a_SOURCES += src/dpmem.c src/dpmemcreate.c src/dpmemdelete.c \
|
||||
src/dpmemexternal2internal.c src/dpmemident.c \
|
||||
src/dpmeminternal2external.c
|
||||
src/dpmeminternal2external.c src/dpmemdata.c
|
||||
|
||||
librtems_a_SOURCES += src/attr.c src/rtemsidtoname.c
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* + wait for a barrier
|
||||
* + signal a barrier
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2006.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -27,6 +27,10 @@
|
||||
#ifndef _RTEMS_RTEMS_BARRIER_H
|
||||
#define _RTEMS_RTEMS_BARRIER_H
|
||||
|
||||
#ifndef RTEMS_BARRIER_EXTERN
|
||||
#define RTEMS_BARRIER_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -34,6 +38,7 @@ extern "C" {
|
||||
#include <rtems/rtems/types.h>
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/rtems/attr.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/corebarrier.h>
|
||||
|
||||
@@ -55,7 +60,7 @@ typedef struct {
|
||||
* this class of objects.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Barrier_Information;
|
||||
RTEMS_BARRIER_EXTERN Objects_Information _Barrier_Information;
|
||||
|
||||
/**
|
||||
* @brief _Barrier_Manager_initialization
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
* + convert internal to external address
|
||||
*
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -30,11 +30,17 @@
|
||||
#ifndef _RTEMS_RTEMS_DPMEM_H
|
||||
#define _RTEMS_RTEMS_DPMEM_H
|
||||
|
||||
#ifndef RTEMS_DPMEM_EXTERN
|
||||
#define RTEMS_DPMEM_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
|
||||
/*
|
||||
* The following structure defines the port control block. Each port
|
||||
@@ -53,7 +59,7 @@ typedef struct {
|
||||
* The following define the internal Dual Ported Memory information.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Dual_ported_memory_Information;
|
||||
RTEMS_DPMEM_EXTERN Objects_Information _Dual_ported_memory_Information;
|
||||
|
||||
/*
|
||||
* _Dual_ported_memory_Manager_initialization
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* + receive event condition
|
||||
*
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -26,11 +26,16 @@
|
||||
#ifndef _RTEMS_RTEMS_EVENT_H
|
||||
#define _RTEMS_RTEMS_EVENT_H
|
||||
|
||||
#ifndef RTEMS_EVENT_EXTERN
|
||||
#define RTEMS_EVENT_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/rtems/types.h>
|
||||
#include <rtems/rtems/options.h>
|
||||
#include <rtems/score/thread.h>
|
||||
@@ -161,7 +166,7 @@ void _Event_Timeout (
|
||||
* executing thread are received properly.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN volatile Event_Sync_states _Event_Sync_state;
|
||||
RTEMS_EVENT_EXTERN volatile Event_Sync_states _Event_Sync_state;
|
||||
|
||||
#if defined(RTEMS_MULTIPROCESSING)
|
||||
#include <rtems/rtems/eventmp.h>
|
||||
|
||||
@@ -18,8 +18,7 @@
|
||||
* + receive message from a queue
|
||||
* + flush all messages on a queue
|
||||
*
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -32,11 +31,16 @@
|
||||
#ifndef _RTEMS_RTEMS_MESSAGE_H
|
||||
#define _RTEMS_RTEMS_MESSAGE_H
|
||||
|
||||
#ifndef RTEMS_MESSAGE_EXTERN
|
||||
#define RTEMS_MESSAGE_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtems/rtems/types.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/score/chain.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/rtems/attr.h>
|
||||
@@ -69,7 +73,7 @@ typedef struct {
|
||||
* manage this class of objects.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Message_queue_Information;
|
||||
RTEMS_MESSAGE_EXTERN Objects_Information _Message_queue_Information;
|
||||
|
||||
/*
|
||||
* _Message_queue_Manager_initialization
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
* + get a buffer from a partition
|
||||
* + return a buffer to a partition
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -29,6 +29,10 @@
|
||||
#ifndef _RTEMS_RTEMS_PART_H
|
||||
#define _RTEMS_RTEMS_PART_H
|
||||
|
||||
#ifndef RTEMS_PART_EXTERN
|
||||
#define RTEMS_PART_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -36,6 +40,8 @@ extern "C" {
|
||||
#include <rtems/score/address.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/rtems/attr.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/rtems/types.h>
|
||||
|
||||
/*
|
||||
@@ -57,7 +63,7 @@ typedef struct {
|
||||
* manage this class of objects.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Partition_Information;
|
||||
RTEMS_PART_EXTERN Objects_Information _Partition_Information;
|
||||
|
||||
/*
|
||||
* _Partition_Manager_initialization
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
#ifndef _RTEMS_RTEMS_RATEMON_H
|
||||
#define _RTEMS_RTEMS_RATEMON_H
|
||||
|
||||
#ifndef RTEMS_RATEMON_EXTERN
|
||||
#define RTEMS_RATEMON_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -50,6 +54,7 @@ extern "C" {
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/score/watchdog.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/rtems/support.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@@ -145,7 +150,7 @@ typedef struct {
|
||||
rtems_rate_monotonic_period_statistics Statistics;
|
||||
} Rate_monotonic_Control;
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Rate_monotonic_Information;
|
||||
RTEMS_RATEMON_EXTERN Objects_Information _Rate_monotonic_Information;
|
||||
|
||||
/*
|
||||
* _Rate_monotonic_Manager_initialization
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* + get a segment from a region
|
||||
* + return a segment to a region
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -28,6 +28,10 @@
|
||||
#ifndef _RTEMS_RTEMS_REGION_H
|
||||
#define _RTEMS_RTEMS_REGION_H
|
||||
|
||||
#ifndef RTEMS_REGION_EXTERN
|
||||
#define RTEMS_REGION_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -39,6 +43,9 @@ extern "C" {
|
||||
#include <rtems/score/heap.h>
|
||||
#include <rtems/debug.h>
|
||||
#include <rtems/rtems/attr.h>
|
||||
#include <rtems/rtems/options.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/rtems/types.h>
|
||||
|
||||
/*
|
||||
@@ -63,7 +70,7 @@ typedef struct {
|
||||
* manage this class of objects.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Region_Information;
|
||||
RTEMS_REGION_EXTERN Objects_Information _Region_Information;
|
||||
|
||||
/*
|
||||
* _Region_Manager_initialization
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
* + acquire a semaphore
|
||||
* + release a semaphore
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -29,6 +29,10 @@
|
||||
#ifndef _RTEMS_RTEMS_SEM_H
|
||||
#define _RTEMS_RTEMS_SEM_H
|
||||
|
||||
#ifndef RTEMS_SEM_EXTERN
|
||||
#define RTEMS_SEM_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -59,7 +63,7 @@ typedef struct {
|
||||
* this class of objects.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Semaphore_Information;
|
||||
RTEMS_SEM_EXTERN Objects_Information _Semaphore_Information;
|
||||
|
||||
/*
|
||||
* _Semaphore_Manager_initialization
|
||||
|
||||
@@ -36,6 +36,10 @@
|
||||
#ifndef _RTEMS_RTEMS_TASKS_H
|
||||
#define _RTEMS_RTEMS_TASKS_H
|
||||
|
||||
#ifndef RTEMS_TASKS_EXTERN
|
||||
#define RTEMS_TASKS_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -166,15 +170,7 @@ typedef struct {
|
||||
* manage this class of objects.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _RTEMS_tasks_Information;
|
||||
|
||||
/*
|
||||
* These are used to manage the user initialization tasks.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN rtems_initialization_tasks_table
|
||||
*_RTEMS_tasks_User_initialization_tasks;
|
||||
RTEMS_EXTERN uint32_t _RTEMS_tasks_Number_of_initialization_tasks;
|
||||
RTEMS_TASKS_EXTERN Objects_Information _RTEMS_tasks_Information;
|
||||
|
||||
/*
|
||||
* _RTEMS_tasks_Manager_initialization
|
||||
@@ -185,9 +181,7 @@ RTEMS_EXTERN uint32_t _RTEMS_tasks_Number_of_initialization_tasks;
|
||||
*/
|
||||
|
||||
void _RTEMS_tasks_Manager_initialization(
|
||||
uint32_t maximum_tasks,
|
||||
uint32_t number_of_initialization_tasks,
|
||||
rtems_initialization_tasks_table *user_tasks
|
||||
uint32_t maximum_tasks
|
||||
);
|
||||
|
||||
/*
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* + reset a timer
|
||||
* + cancel a time
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2002.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -36,12 +36,17 @@
|
||||
#ifndef _RTEMS_RTEMS_TIMER_H
|
||||
#define _RTEMS_RTEMS_TIMER_H
|
||||
|
||||
#ifndef RTEMS_TIMER_EXTERN
|
||||
#define RTEMS_TIMER_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/watchdog.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/clock.h>
|
||||
#include <rtems/rtems/attr.h>
|
||||
|
||||
@@ -74,7 +79,7 @@ typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )(
|
||||
* this class of objects.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Objects_Information _Timer_Information;
|
||||
RTEMS_TIMER_EXTERN Objects_Information _Timer_Information;
|
||||
|
||||
/*
|
||||
* Pointer to TCB of the Timer Server. This is NULL before the
|
||||
@@ -82,7 +87,7 @@ RTEMS_EXTERN Objects_Information _Timer_Information;
|
||||
* initiated until the server is started.
|
||||
*/
|
||||
|
||||
RTEMS_EXTERN Thread_Control *_Timer_Server;
|
||||
RTEMS_TIMER_EXTERN Thread_Control *_Timer_Server;
|
||||
|
||||
/*
|
||||
* The following chains contain the list of interval timers that are
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Barrier Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate barrier data */
|
||||
#define RTEMS_BARRIER_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/barrier.h>
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include <rtems/rtems/dpmem.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/dpmem.h>
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Dual Port Memory Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate semaphore data */
|
||||
#define RTEMS_DPMEM_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/dpmem.h>
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Event Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate RTEMS event data */
|
||||
#define RTEMS_EVENT_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/event.h>
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Barrier Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate message queue data */
|
||||
#define RTEMS_MESSAGE_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/message.h>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Partition Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate RTEMS partition data */
|
||||
#define RTEMS_PART_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/part.h>
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Rate Monotonic Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate RTEMS period data */
|
||||
#define RTEMS_RATEMON_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/ratemon.h>
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Region Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate RTEMS Region data */
|
||||
#define RTEMS_REGION_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/region.h>
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Timer Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate RTEMS timer data */
|
||||
#define RTEMS_TIMER_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Semaphore Manager -- Data Instantiation
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate semaphore data */
|
||||
#define RTEMS_SEM_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/sem.h>
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* RTEMS Task Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate RTEMS Classic API tasks data */
|
||||
#define RTEMS_TASKS_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/tasks.h>
|
||||
@@ -17,6 +17,7 @@
|
||||
#endif
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/config.h>
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/rtems/modes.h>
|
||||
@@ -51,13 +52,17 @@ void _RTEMS_tasks_Initialize_user_tasks_body( void )
|
||||
rtems_id id;
|
||||
rtems_status_code return_value;
|
||||
rtems_initialization_tasks_table *user_tasks;
|
||||
rtems_api_configuration_table *api_configuration;
|
||||
|
||||
|
||||
api_configuration = _Configuration_Table->RTEMS_api_configuration;
|
||||
|
||||
/*
|
||||
* NOTE: This is slightly different from the Ada implementation.
|
||||
*/
|
||||
|
||||
user_tasks = _RTEMS_tasks_User_initialization_tasks;
|
||||
maximum = _RTEMS_tasks_Number_of_initialization_tasks;
|
||||
user_tasks = api_configuration->User_initialization_tasks_table;
|
||||
maximum = api_configuration->number_of_initialization_tasks;
|
||||
|
||||
if ( !user_tasks || maximum == 0 )
|
||||
return;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
/*
|
||||
* RTEMS Task Manager
|
||||
* RTEMS Task Manager -- Initialize Manager
|
||||
*
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -243,19 +242,10 @@ User_extensions_Control _RTEMS_tasks_User_extensions = {
|
||||
*/
|
||||
|
||||
void _RTEMS_tasks_Manager_initialization(
|
||||
uint32_t maximum_tasks,
|
||||
uint32_t number_of_initialization_tasks,
|
||||
rtems_initialization_tasks_table *user_tasks
|
||||
uint32_t maximum_tasks
|
||||
)
|
||||
{
|
||||
|
||||
_RTEMS_tasks_Number_of_initialization_tasks = number_of_initialization_tasks;
|
||||
_RTEMS_tasks_User_initialization_tasks = user_tasks;
|
||||
|
||||
/*
|
||||
* There may not be any RTEMS initialization tasks configured.
|
||||
*/
|
||||
|
||||
_Objects_Initialize_information(
|
||||
&_RTEMS_tasks_Information, /* object information table */
|
||||
OBJECTS_CLASSIC_API, /* object API */
|
||||
|
||||
@@ -22,7 +22,8 @@ AM_CPPFLAGS += -D__RTEMS_INSIDE__
|
||||
noinst_LIBRARIES = libsapi.a
|
||||
libsapi_a_SOURCES = src/debug.c src/extension.c src/extensioncreate.c \
|
||||
src/extensiondelete.c src/extensionident.c src/fatal.c src/exinit.c \
|
||||
src/exshutdown.c src/io.c src/itronapi.c src/posixapi.c src/rtemsapi.c
|
||||
src/exshutdown.c src/io.c src/itronapi.c src/posixapi.c src/rtemsapi.c \
|
||||
src/extensiondata.c
|
||||
libsapi_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
|
||||
include $(srcdir)/preinstall.am
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* + get ID of user extension set
|
||||
* + delete user extension set
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -26,14 +26,18 @@
|
||||
#ifndef _RTEMS_EXTENSION_H
|
||||
#define _RTEMS_EXTENSION_H
|
||||
|
||||
#ifndef SAPI_EXT_EXTERN
|
||||
#define SAPI_EXT_EXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/userext.h>
|
||||
#include <rtems/rtems/status.h> /* XXX */
|
||||
#include <rtems/rtems/types.h> /* XXX */
|
||||
#include <rtems/rtems/status.h>
|
||||
#include <rtems/rtems/types.h>
|
||||
|
||||
/*
|
||||
* Extension related types
|
||||
@@ -58,7 +62,7 @@ typedef User_extensions_Table rtems_extensions_table;
|
||||
* this class of objects.
|
||||
*/
|
||||
|
||||
SAPI_EXTERN Objects_Information _Extension_Information;
|
||||
SAPI_EXT_EXTERN Objects_Information _Extension_Information;
|
||||
|
||||
/*
|
||||
* The following records define the control block used to manage
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Extension Manager -- Instantiate Data
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* instantiate extension data */
|
||||
#define SAPI_EXT_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/extension.h>
|
||||
|
||||
@@ -72,11 +72,7 @@ void _RTEMS_API_Initialize(
|
||||
_Multiprocessing_Manager_initialization();
|
||||
#endif
|
||||
|
||||
_RTEMS_tasks_Manager_initialization(
|
||||
api_configuration->maximum_tasks,
|
||||
api_configuration->number_of_initialization_tasks,
|
||||
api_configuration->User_initialization_tasks_table
|
||||
);
|
||||
_RTEMS_tasks_Manager_initialization( api_configuration->maximum_tasks );
|
||||
|
||||
_Timer_Manager_initialization( api_configuration->maximum_timers );
|
||||
|
||||
|
||||
@@ -344,8 +344,6 @@ uninitialized =
|
||||
#endif
|
||||
|
||||
/*tasks.h*/ (sizeof _RTEMS_tasks_Information) +
|
||||
(sizeof _RTEMS_tasks_User_initialization_tasks) +
|
||||
(sizeof _RTEMS_tasks_Number_of_initialization_tasks) +
|
||||
|
||||
/*thread.h*/ (sizeof _Thread_BSP_context) +
|
||||
(sizeof _Thread_Dispatch_disable_level) +
|
||||
|
||||
Reference in New Issue
Block a user