summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/rtems
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include/rtems/rtems')
-rw-r--r--cpukit/include/rtems/rtems/barrierdata.h25
-rw-r--r--cpukit/include/rtems/rtems/barrierimpl.h6
-rw-r--r--cpukit/include/rtems/rtems/config.h55
-rw-r--r--cpukit/include/rtems/rtems/dpmemdata.h25
-rw-r--r--cpukit/include/rtems/rtems/dpmemimpl.h6
-rw-r--r--cpukit/include/rtems/rtems/messagedata.h39
-rw-r--r--cpukit/include/rtems/rtems/messageimpl.h6
-rw-r--r--cpukit/include/rtems/rtems/msgmp.h12
-rw-r--r--cpukit/include/rtems/rtems/partdata.h39
-rw-r--r--cpukit/include/rtems/rtems/partimpl.h6
-rw-r--r--cpukit/include/rtems/rtems/partmp.h12
-rw-r--r--cpukit/include/rtems/rtems/ratemondata.h25
-rw-r--r--cpukit/include/rtems/rtems/ratemonimpl.h8
-rw-r--r--cpukit/include/rtems/rtems/regiondata.h25
-rw-r--r--cpukit/include/rtems/rtems/regionimpl.h6
-rw-r--r--cpukit/include/rtems/rtems/semdata.h39
-rw-r--r--cpukit/include/rtems/rtems/semimpl.h6
-rw-r--r--cpukit/include/rtems/rtems/semmp.h12
-rw-r--r--cpukit/include/rtems/rtems/tasksdata.h6
-rw-r--r--cpukit/include/rtems/rtems/tasksimpl.h6
-rw-r--r--cpukit/include/rtems/rtems/timerdata.h25
-rw-r--r--cpukit/include/rtems/rtems/timerimpl.h6
22 files changed, 248 insertions, 147 deletions
diff --git a/cpukit/include/rtems/rtems/barrierdata.h b/cpukit/include/rtems/rtems/barrierdata.h
index 12b2eab2d8..1598bbf6db 100644
--- a/cpukit/include/rtems/rtems/barrierdata.h
+++ b/cpukit/include/rtems/rtems/barrierdata.h
@@ -44,6 +44,31 @@ typedef struct {
rtems_attribute attribute_set;
} Barrier_Control;
+/**
+ * @brief The Classic Barrier objects information.
+ */
+extern Objects_Information _Barrier_Information;
+
+/**
+ * @brief Macro to define the objects information for the Classic Barrier
+ * objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define BARRIER_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Barrier, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_BARRIERS, \
+ Barrier_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ NULL \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/barrierimpl.h b/cpukit/include/rtems/rtems/barrierimpl.h
index 0acef05af3..5494191610 100644
--- a/cpukit/include/rtems/rtems/barrierimpl.h
+++ b/cpukit/include/rtems/rtems/barrierimpl.h
@@ -35,12 +35,6 @@ extern "C" {
*/
/**
- * The following defines the information control block used to manage
- * this class of objects.
- */
-extern Objects_Information _Barrier_Information;
-
-/**
* @brief _Barrier_Allocate
*
* This function allocates a barrier control block from
diff --git a/cpukit/include/rtems/rtems/config.h b/cpukit/include/rtems/rtems/config.h
index 51b3dbe30f..a3e3988cd6 100644
--- a/cpukit/include/rtems/rtems/config.h
+++ b/cpukit/include/rtems/rtems/config.h
@@ -47,61 +47,6 @@ extern "C" {
* + required number of each object type
*/
typedef struct {
- /**
- * This field contains the maximum number of Classic API
- * Tasks which are configured for this application.
- */
- uint32_t maximum_tasks;
-
- /**
- * This field contains the maximum number of Classic API
- * Timers which are configured for this application.
- */
- uint32_t maximum_timers;
-
- /**
- * This field contains the maximum number of Classic API
- * Semaphores which are configured for this application.
- */
- uint32_t maximum_semaphores;
-
- /**
- * This field contains the maximum number of Classic API
- * Message Queues which are configured for this application.
- */
- uint32_t maximum_message_queues;
-
- /**
- * This field contains the maximum number of Classic API
- * Partitions which are configured for this application.
- */
- uint32_t maximum_partitions;
-
- /**
- * This field contains the maximum number of Classic API
- * Regions which are configured for this application.
- */
- uint32_t maximum_regions;
-
- /**
- * This field contains the maximum number of Classic API
- * Dual Ported Memory Areas which are configured for this
- * application.
- */
- uint32_t maximum_ports;
-
- /**
- * This field contains the maximum number of Classic API
- * Rate Monotonic Periods which are configured for this
- * application.
- */
- uint32_t maximum_periods;
-
- /**
- * This field contains the maximum number of Classic API
- * Barriers which are configured for this application.
- */
- uint32_t maximum_barriers;
/**
* This field contains the number of Classic API Initialization
diff --git a/cpukit/include/rtems/rtems/dpmemdata.h b/cpukit/include/rtems/rtems/dpmemdata.h
index 86302f9089..3727297482 100644
--- a/cpukit/include/rtems/rtems/dpmemdata.h
+++ b/cpukit/include/rtems/rtems/dpmemdata.h
@@ -46,6 +46,31 @@ typedef struct {
uint32_t length;
} Dual_ported_memory_Control;
+/**
+ * @brief The Classic Dual Ported Memory objects information.
+ */
+extern Objects_Information _Dual_ported_memory_Information;
+
+/**
+ * @brief Macro to define the objects information for the Classic Dual Ported
+ * Memory objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define DUAL_PORTED_MEMORY_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Dual_ported_memory, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_PORTS, \
+ Dual_ported_memory_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ NULL \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/dpmemimpl.h b/cpukit/include/rtems/rtems/dpmemimpl.h
index 2b3fefd199..3da0d5237b 100644
--- a/cpukit/include/rtems/rtems/dpmemimpl.h
+++ b/cpukit/include/rtems/rtems/dpmemimpl.h
@@ -33,12 +33,6 @@ extern "C" {
*/
/**
- * @brief Define the internal Dual Ported Memory information
- * The following define the internal Dual Ported Memory information.
- */
-extern Objects_Information _Dual_ported_memory_Information;
-
-/**
* @brief Allocates a port control block from the inactive chain
* of free port control blocks.
*
diff --git a/cpukit/include/rtems/rtems/messagedata.h b/cpukit/include/rtems/rtems/messagedata.h
index b035dff97b..fa1f681473 100644
--- a/cpukit/include/rtems/rtems/messagedata.h
+++ b/cpukit/include/rtems/rtems/messagedata.h
@@ -44,6 +44,45 @@ typedef struct {
rtems_attribute attribute_set;
} Message_queue_Control;
+/**
+ * @brief The Classic Message Queue objects information.
+ */
+extern Objects_Information _Message_queue_Information;
+
+#if defined(RTEMS_MULTIPROCESSING)
+/**
+ * @brief _Message_queue_MP_Send_extract_proxy
+ *
+ * This routine is invoked when a task is deleted and it
+ * has a proxy which must be removed from a thread queue and
+ * the remote node must be informed of this.
+ */
+void _Message_queue_MP_Send_extract_proxy (
+ Thread_Control *the_thread,
+ Objects_Id id
+);
+#endif
+
+/**
+ * @brief Macro to define the objects information for the Classic Message Queue
+ * objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define MESSAGE_QUEUE_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Message_queue, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_MESSAGE_QUEUES, \
+ Message_queue_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ _Message_queue_MP_Send_extract_proxy \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/messageimpl.h b/cpukit/include/rtems/rtems/messageimpl.h
index 098e310804..5872b67e04 100644
--- a/cpukit/include/rtems/rtems/messageimpl.h
+++ b/cpukit/include/rtems/rtems/messageimpl.h
@@ -52,12 +52,6 @@ typedef enum {
} Message_queue_Submit_types;
/**
- * The following defines the information control block used to
- * manage this class of objects.
- */
-extern Objects_Information _Message_queue_Information;
-
-/**
* @brief Message_queue_Submit
*
* This routine implements the directives rtems_message_queue_send
diff --git a/cpukit/include/rtems/rtems/msgmp.h b/cpukit/include/rtems/rtems/msgmp.h
index 3dabd8d46b..1c5818b44e 100644
--- a/cpukit/include/rtems/rtems/msgmp.h
+++ b/cpukit/include/rtems/rtems/msgmp.h
@@ -189,18 +189,6 @@ void _Message_queue_MP_Send_object_was_deleted (
Objects_Id mp_id
);
-/**
- * @brief _Message_queue_MP_Send_extract_proxy
- *
- * This routine is invoked when a task is deleted and it
- * has a proxy which must be removed from a thread queue and
- * the remote node must be informed of this.
- */
-void _Message_queue_MP_Send_extract_proxy (
- Thread_Control *the_thread,
- Objects_Id id
-);
-
/**@}*/
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/partdata.h b/cpukit/include/rtems/rtems/partdata.h
index 3b030c8f34..3be94b6cd1 100644
--- a/cpukit/include/rtems/rtems/partdata.h
+++ b/cpukit/include/rtems/rtems/partdata.h
@@ -53,6 +53,45 @@ typedef struct {
Chain_Control Memory;
} Partition_Control;
+/**
+ * @brief The Classic Partition objects information.
+ */
+extern Objects_Information _Partition_Information;
+
+#if defined(RTEMS_MULTIPROCESSING)
+/**
+ * @brief Partition_MP_Send_extract_proxy
+ *
+ * This routine is invoked when a task is deleted and it
+ * has a proxy which must be removed from a thread queue and
+ * the remote node must be informed of this.
+ */
+void _Partition_MP_Send_extract_proxy (
+ Thread_Control *the_thread,
+ Objects_Id id
+);
+#endif
+
+/**
+ * @brief Macro to define the objects information for the Classic Partition
+ * objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define PARTITION_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Partition, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_PARTITIONS, \
+ Partition_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ _Partition_MP_Send_extract_proxy \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/partimpl.h b/cpukit/include/rtems/rtems/partimpl.h
index d795748723..0160d4add6 100644
--- a/cpukit/include/rtems/rtems/partimpl.h
+++ b/cpukit/include/rtems/rtems/partimpl.h
@@ -34,12 +34,6 @@ extern "C" {
*/
/**
- * The following defines the information control block used to
- * manage this class of objects.
- */
-extern Objects_Information _Partition_Information;
-
-/**
* @brief Allocate a buffer from the_partition.
*
* This function attempts to allocate a buffer from the_partition.
diff --git a/cpukit/include/rtems/rtems/partmp.h b/cpukit/include/rtems/rtems/partmp.h
index b9eaa08b8c..5fffd68480 100644
--- a/cpukit/include/rtems/rtems/partmp.h
+++ b/cpukit/include/rtems/rtems/partmp.h
@@ -122,18 +122,6 @@ void _Partition_MP_Process_packet (
* cannot be deleted when buffers are in use.
*/
-/**
- * @brief Partition_MP_Send_extract_proxy
- *
- * This routine is invoked when a task is deleted and it
- * has a proxy which must be removed from a thread queue and
- * the remote node must be informed of this.
- */
-void _Partition_MP_Send_extract_proxy (
- Thread_Control *the_thread,
- Objects_Id id
-);
-
#ifdef __cplusplus
}
#endif
diff --git a/cpukit/include/rtems/rtems/ratemondata.h b/cpukit/include/rtems/rtems/ratemondata.h
index 898fc653c1..0e4415237b 100644
--- a/cpukit/include/rtems/rtems/ratemondata.h
+++ b/cpukit/include/rtems/rtems/ratemondata.h
@@ -130,6 +130,31 @@ typedef struct {
uint64_t latest_deadline;
} Rate_monotonic_Control;
+/**
+ * @brief The Classic Rate Monotonic objects information.
+ */
+extern Objects_Information _Rate_monotonic_Information;
+
+/**
+ * @brief Macro to define the objects information for the Classic Rate
+ * Monotonic objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define RATE_MONOTONIC_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Rate_monotonic, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_PERIODS, \
+ Rate_monotonic_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ NULL \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/ratemonimpl.h b/cpukit/include/rtems/rtems/ratemonimpl.h
index 2a417f66c6..eb359b17c8 100644
--- a/cpukit/include/rtems/rtems/ratemonimpl.h
+++ b/cpukit/include/rtems/rtems/ratemonimpl.h
@@ -49,14 +49,6 @@ extern "C" {
( THREAD_WAIT_CLASS_PERIOD | THREAD_WAIT_STATE_READY_AGAIN )
/**
- * @brief Rate Monotonic Period Class Management Structure
- *
- * This instance of Objects_Information is used to manage the
- * set of rate monotonic period instances.
- */
-extern Objects_Information _Rate_monotonic_Information;
-
-/**
* @brief Allocates a period control block from
* the inactive chain of free period control blocks.
*
diff --git a/cpukit/include/rtems/rtems/regiondata.h b/cpukit/include/rtems/rtems/regiondata.h
index cfbc07f713..c64f623c1d 100644
--- a/cpukit/include/rtems/rtems/regiondata.h
+++ b/cpukit/include/rtems/rtems/regiondata.h
@@ -46,6 +46,31 @@ typedef struct {
Heap_Control Memory;
} Region_Control;
+/**
+ * @brief The Classic Region objects information.
+ */
+extern Objects_Information _Region_Information;
+
+/**
+ * @brief Macro to define the objects information for the Classic Region
+ * objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define REGION_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Region, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_REGIONS, \
+ Region_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ NULL \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/regionimpl.h b/cpukit/include/rtems/rtems/regionimpl.h
index 8a7ee258cc..35775671e6 100644
--- a/cpukit/include/rtems/rtems/regionimpl.h
+++ b/cpukit/include/rtems/rtems/regionimpl.h
@@ -39,12 +39,6 @@ extern "C" {
RTEMS_CONTAINER_OF( queue, Region_Control, Wait_queue.Queue )
/**
- * The following defines the information control block used to
- * manage this class of objects.
- */
-extern Objects_Information _Region_Information;
-
-/**
* @brief Region_Allocate
*
* This function allocates a region control block from
diff --git a/cpukit/include/rtems/rtems/semdata.h b/cpukit/include/rtems/rtems/semdata.h
index 04db07d6a0..d2275e5dfe 100644
--- a/cpukit/include/rtems/rtems/semdata.h
+++ b/cpukit/include/rtems/rtems/semdata.h
@@ -92,6 +92,45 @@ typedef struct {
#endif
} Semaphore_Control;
+/**
+ * @brief The Classic Semaphore objects information.
+ */
+extern Objects_Information _Semaphore_Information;
+
+#if defined(RTEMS_MULTIPROCESSING)
+/**
+ * @brief Semaphore MP Send Extract Proxy
+ *
+ * This routine is invoked when a task is deleted and it
+ * has a proxy which must be removed from a thread queue and
+ * the remote node must be informed of this.
+ */
+void _Semaphore_MP_Send_extract_proxy (
+ Thread_Control *the_thread,
+ Objects_Id id
+);
+#endif
+
+/**
+ * @brief Macro to define the objects information for the Classic Semaphore
+ * objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define SEMAPHORE_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Semaphore, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_SEMAPHORES, \
+ Semaphore_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ _Semaphore_MP_Send_extract_proxy \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/semimpl.h b/cpukit/include/rtems/rtems/semimpl.h
index 1028879f39..743a4a9c6b 100644
--- a/cpukit/include/rtems/rtems/semimpl.h
+++ b/cpukit/include/rtems/rtems/semimpl.h
@@ -56,12 +56,6 @@ typedef enum {
SEMAPHORE_DISCIPLINE_FIFO
} Semaphore_Discipline;
-/**
- * The following defines the information control block used to manage
- * this class of objects.
- */
-extern Objects_Information _Semaphore_Information;
-
RTEMS_INLINE_ROUTINE const Thread_queue_Operations *_Semaphore_Get_operations(
const Semaphore_Control *the_semaphore
)
diff --git a/cpukit/include/rtems/rtems/semmp.h b/cpukit/include/rtems/rtems/semmp.h
index 9d7669f43e..31774c39ba 100644
--- a/cpukit/include/rtems/rtems/semmp.h
+++ b/cpukit/include/rtems/rtems/semmp.h
@@ -120,18 +120,6 @@ void _Semaphore_MP_Send_object_was_deleted (
);
/**
- * @brief Semaphore MP Send Extract Proxy
- *
- * This routine is invoked when a task is deleted and it
- * has a proxy which must be removed from a thread queue and
- * the remote node must be informed of this.
- */
-void _Semaphore_MP_Send_extract_proxy (
- Thread_Control *the_thread,
- Objects_Id id
-);
-
-/**
* @brief Semaphore Core Mutex MP Support
*
* This function processes the global actions necessary for remote
diff --git a/cpukit/include/rtems/rtems/tasksdata.h b/cpukit/include/rtems/rtems/tasksdata.h
index 18562bf067..19e6a8a618 100644
--- a/cpukit/include/rtems/rtems/tasksdata.h
+++ b/cpukit/include/rtems/rtems/tasksdata.h
@@ -67,6 +67,12 @@ typedef struct {
extern void _RTEMS_tasks_Initialize_user_tasks_body( void );
+/**
+ * The following instantiates the information control block used to
+ * manage this class of objects.
+ */
+extern Thread_Information _RTEMS_tasks_Information;
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/tasksimpl.h b/cpukit/include/rtems/rtems/tasksimpl.h
index b6694cc416..c98f1a3ab0 100644
--- a/cpukit/include/rtems/rtems/tasksimpl.h
+++ b/cpukit/include/rtems/rtems/tasksimpl.h
@@ -35,12 +35,6 @@ extern "C" {
*/
/**
- * The following instantiates the information control block used to
- * manage this class of objects.
- */
-extern Thread_Information _RTEMS_tasks_Information;
-
-/**
* @brief RTEMS User Task Initialization
*
* This routine creates and starts all configured user
diff --git a/cpukit/include/rtems/rtems/timerdata.h b/cpukit/include/rtems/rtems/timerdata.h
index db32739488..ed00671b10 100644
--- a/cpukit/include/rtems/rtems/timerdata.h
+++ b/cpukit/include/rtems/rtems/timerdata.h
@@ -57,6 +57,31 @@ typedef struct {
Watchdog_Interval stop_time;
} Timer_Control;
+/**
+ * @brief The Classic Timer objects information.
+ */
+extern Objects_Information _Timer_Information;
+
+/**
+ * @brief Macro to define the objects information for the Classic Timer
+ * objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define TIMER_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _Timer, \
+ OBJECTS_CLASSIC_API, \
+ OBJECTS_RTEMS_TIMERS, \
+ Timer_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ NULL \
+ )
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/timerimpl.h b/cpukit/include/rtems/rtems/timerimpl.h
index d62db3b34a..59b2b9f816 100644
--- a/cpukit/include/rtems/rtems/timerimpl.h
+++ b/cpukit/include/rtems/rtems/timerimpl.h
@@ -53,12 +53,6 @@ typedef struct Timer_server_Control {
extern Timer_server_Control *volatile _Timer_server;
/**
- * The following defines the information control block used to manage
- * this class of objects.
- */
-extern Objects_Information _Timer_Information;
-
-/**
* @brief Timer_Allocate
*
* This function allocates a timer control block from