summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-03-06 21:34:57 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-03-06 21:34:57 +0000
commit1a8fde6ca27afea19faf9bf6487d8aa20b4a8d41 (patch)
tree209ab42fa9bc98774d5290d670af14886390d269 /cpukit/score/include
parentRemoved prototyes for static inline rgutines and moved the comments into (diff)
downloadrtems-1a8fde6ca27afea19faf9bf6487d8aa20b4a8d41.tar.bz2
Removed prototyes for static inline routines and moved the comments into
the inline implementation. The impetus for this was twofold. First, it is incorrect to have static inline prototypes when using the macro implementation. Second, this reduced the number of lines in the include files seen by rtems.h by about 2000 lines. Next we restricted visibility for the inline routines to inside the executive itself EXCEPT for a handful of objects. This reduced the number of include files included by rtems.h by 40 files and reduced the lines in the include files seen by rtems.h by about 6000 lines. In total, these reduced the compile time of the entire RTEMS tree by 20%. This results in about 8 minutes savings on the SparcStation 10 morgana.
Diffstat (limited to 'cpukit/score/include')
-rw-r--r--cpukit/score/include/rtems/score/address.h78
-rw-r--r--cpukit/score/include/rtems/score/chain.h278
-rw-r--r--cpukit/score/include/rtems/score/coremsg.h174
-rw-r--r--cpukit/score/include/rtems/score/coremutex.h80
-rw-r--r--cpukit/score/include/rtems/score/coresem.h27
-rw-r--r--cpukit/score/include/rtems/score/heap.h184
-rw-r--r--cpukit/score/include/rtems/score/isr.h41
-rw-r--r--cpukit/score/include/rtems/score/mppkt.h28
-rw-r--r--cpukit/score/include/rtems/score/object.h169
-rw-r--r--cpukit/score/include/rtems/score/objectmp.h38
-rw-r--r--cpukit/score/include/rtems/score/priority.h150
-rw-r--r--cpukit/score/include/rtems/score/stack.h49
-rw-r--r--cpukit/score/include/rtems/score/states.h280
-rw-r--r--cpukit/score/include/rtems/score/sysstate.h98
-rw-r--r--cpukit/score/include/rtems/score/thread.h270
-rw-r--r--cpukit/score/include/rtems/score/threadmp.h31
-rw-r--r--cpukit/score/include/rtems/score/tod.h46
-rw-r--r--cpukit/score/include/rtems/score/tqdata.h60
-rw-r--r--cpukit/score/include/rtems/score/userext.h66
-rw-r--r--cpukit/score/include/rtems/score/watchdog.h222
20 files changed, 58 insertions, 2311 deletions
diff --git a/cpukit/score/include/rtems/score/address.h b/cpukit/score/include/rtems/score/address.h
index be056f220a..ec5ec6b03e 100644
--- a/cpukit/score/include/rtems/score/address.h
+++ b/cpukit/score/include/rtems/score/address.h
@@ -21,83 +21,9 @@
extern "C" {
#endif
-/*
- * _Addresses_Add_offset
- *
- * DESCRIPTION:
- *
- * This function is used to add an offset to a base address.
- * It returns the resulting address. This address is typically
- * converted to an access type before being used further.
- */
-
-STATIC INLINE void *_Addresses_Add_offset (
- void *base,
- unsigned32 offset
-);
-
-/*
- * _Addresses_Subtract_offset
- *
- * DESCRIPTION:
- *
- * This function is used to subtract an offset from a base
- * address. It returns the resulting address. This address is
- * typically converted to an access type before being used further.
- */
-
-STATIC INLINE void *_Addresses_Subtract_offset(
- void *base,
- unsigned32 offset
-);
-
-/*
- * _Addresses_Subtract
- *
- * DESCRIPTION:
- *
- * This function is used to subtract two addresses. It returns the
- * resulting offset.
- */
-
-STATIC INLINE unsigned32 _Addresses_Subtract (
- void *left,
- void *right
-);
-
-/*
- * _Addresses_Is_aligned
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the given address is correctly
- * aligned for this processor and FALSE otherwise. Proper alignment
- * is based on correctness and efficiency.
- */
-
-STATIC INLINE boolean _Addresses_Is_aligned (
- void *address
-);
-
-/*
- * _Addresses_Is_in_range
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the given address is within the
- * memory range specified and FALSE otherwise. base is the address
- * of the first byte in the memory range and limit is the address
- * of the last byte in the memory range. The base address is
- * assumed to be lower than the limit address.
- */
-
-STATIC INLINE boolean _Addresses_Is_in_range (
- void *address,
- void *base,
- void *limit
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/address.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h
index 1d6c8f1db4..6eed361e88 100644
--- a/cpukit/score/include/rtems/score/chain.h
+++ b/cpukit/score/include/rtems/score/chain.h
@@ -84,49 +84,6 @@ void _Chain_Initialize(
);
/*
- * _Chain_Initialize_empty
- *
- * DESCRIPTION:
- *
- * This routine initializes the specified chain to contain zero nodes.
- *
- */
-
-STATIC INLINE void _Chain_Initialize_empty(
- Chain_Control *the_chain
-);
-
-/*
- * _Chain_Are_nodes_equal
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if LEFT and RIGHT are equal,
- * and FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Are_nodes_equal(
- Chain_Node *left,
- Chain_Node *right
-);
-
-/*
- * _Chain_Extract_unprotected
- *
- * DESCRIPTION:
- *
- * This routine extracts the_node from the chain on which it resides.
- * It does NOT disable interrupts to insure the atomicity of the
- * extract operation.
- *
- */
-
-STATIC INLINE void _Chain_Extract_unprotected(
- Chain_Node *the_node
-);
-
-/*
* _Chain_Extract
*
* DESCRIPTION:
@@ -142,22 +99,6 @@ void _Chain_Extract(
);
/*
- * _Chain_Get_unprotected
- *
- * DESCRIPTION:
- *
- * This function removes the first node from the_chain and returns
- * a pointer to that node. If the_chain is empty, then NULL is returned.
- * It does NOT disable interrupts to insure the atomicity of the
- * get operation.
- *
- */
-
-STATIC INLINE Chain_Node *_Chain_Get_unprotected(
- Chain_Control *the_chain
-);
-
-/*
* _Chain_Get
*
* DESCRIPTION:
@@ -174,37 +115,6 @@ Chain_Node *_Chain_Get(
);
/*
- * _Chain_Get_first_unprotected
- *
- * DESCRIPTION:
- *
- * This function removes the first node from the_chain and returns
- * a pointer to that node. It does NOT disable interrupts to insure
- * the atomicity of the get operation.
- *
- */
-
-STATIC INLINE Chain_Node *_Chain_Get_first_unprotected(
- Chain_Control *the_chain
-);
-
-/*
- * _Chain_Insert_unprotected
- *
- * DESCRIPTION:
- *
- * This routine inserts the_node on a chain immediately following
- * after_node. It does NOT disable interrupts to insure the atomicity
- * of the extract operation.
- *
- */
-
-STATIC INLINE void _Chain_Insert_unprotected(
- Chain_Node *after_node,
- Chain_Node *the_node
-);
-
-/*
* _Chain_Insert
*
* DESCRIPTION:
@@ -221,22 +131,6 @@ void _Chain_Insert(
);
/*
- * _Chain_Append_unprotected
- *
- * DESCRIPTION:
- *
- * This routine appends the_node onto the end of the_chain.
- * It does NOT disable interrupts to insure the atomicity of the
- * append operation.
- *
- */
-
-STATIC INLINE void _Chain_Append_unprotected(
- Chain_Control *the_chain,
- Chain_Node *the_node
-);
-
-/*
* _Chain_Append
*
* DESCRIPTION:
@@ -252,177 +146,9 @@ void _Chain_Append(
Chain_Node *the_node
);
-/*
- * _Chain_Prepend_unprotected
- *
- * DESCRIPTION:
- *
- * This routine prepends the_node onto the front of the_chain.
- * It does NOT disable interrupts to insure the atomicity of the
- * prepend operation.
- *
- */
-
-STATIC INLINE void _Chain_Prepend_unprotected(
- Chain_Control *the_chain,
- Chain_Node *the_node
-);
-
-/*
- * _Chain_Prepend
- *
- * DESCRIPTION:
- *
- * This routine prepends the_node onto the front of the_chain.
- * It disables interrupts to insure the atomicity of the
- * prepend operation.
- *
- */
-
-STATIC INLINE void _Chain_Prepend(
- Chain_Control *the_chain,
- Chain_Node *the_node
-);
-
-/*
- * _Chain_Head
- *
- * DESCRIPTION:
- *
- * This function returns a pointer to the first node on the chain.
- *
- */
-
-STATIC INLINE Chain_Node *_Chain_Head(
- Chain_Control *the_chain
-);
-
-/*
- * _Chain_Tail
- *
- * DESCRIPTION:
- *
- * This function returns a pointer to the last node on the chain.
- *
- */
-
-STATIC INLINE Chain_Node *_Chain_Tail(
- Chain_Control *the_chain
-);
-
-/*
- * _Chain_Is_head
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_node is the head of the_chain and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Is_head(
- Chain_Control *the_chain,
- Chain_Node *the_node
-);
-
-/*
- * _Chain_Is_tail
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_node is the tail of the_chain and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Is_tail(
- Chain_Control *the_chain,
- Chain_Node *the_node
-);
-
-/*
- * _Chain_Is_first
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_node is the first node on a chain and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Is_first(
- Chain_Node *the_node
-);
-
-/*
- * _Chain_Is_last
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_node is the last node on a chain and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Is_last(
- Chain_Node *the_node
-);
-
-/*
- * _Chain_Is_empty
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if there a no nodes on the_chain and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Is_empty(
- Chain_Control *the_chain
-);
-
-/*
- * _Chain_Has_only_one_node
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if there is only one node on the_chain and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Has_only_one_node(
- Chain_Control *the_chain
-);
-
-/*
- * _Chain_Is_null
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_chain is NULL and FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Is_null(
- Chain_Control *the_chain
-);
-
-/*
- * _Chain_Is_null_node
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_node is NULL and FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Chain_Is_null_node(
- Chain_Node *the_node
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/chain.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/coremsg.h b/cpukit/score/include/rtems/score/coremsg.h
index 737004aeb8..b51e07ef61 100644
--- a/cpukit/score/include/rtems/score/coremsg.h
+++ b/cpukit/score/include/rtems/score/coremsg.h
@@ -196,41 +196,6 @@ unsigned32 _CORE_message_queue_Flush_support(
);
/*
- * _CORE_message_queue_send
- *
- * DESCRIPTION:
- *
- * This routine sends a message to the end of the specified message queue.
- *
- */
-
-STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send(
- CORE_message_queue_Control *the_message_queue,
- void *buffer,
- unsigned32 size,
- Objects_Id id,
- CORE_message_queue_API_mp_support_callout api_message_queue_mp_support
-);
-
-/*
- *
- * _CORE_message_queue_Urgent
- *
- * DESCRIPTION:
- *
- * This routine sends a message to the front of the specified message queue.
- *
- */
-
-STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent(
- CORE_message_queue_Control *the_message_queue,
- void *buffer,
- unsigned32 size,
- Objects_Id id,
- CORE_message_queue_API_mp_support_callout api_message_queue_mp_support
-);
-
-/*
*
* _CORE_message_queue_Broadcast
*
@@ -296,144 +261,9 @@ void _CORE_message_queue_Seize(
Watchdog_Interval timeout
);
-/*
- * _CORE_message_queue_Allocate_message_buffer
- *
- * DESCRIPTION:
- *
- * This function allocates a message buffer from the inactive
- * message buffer chain.
- */
-
-STATIC INLINE CORE_message_queue_Buffer_control *
- _CORE_message_queue_Allocate_message_buffer (
- CORE_message_queue_Control *the_message_queue
-);
-
-/*
- * _CORE_message_queue_Free_message_buffer
- *
- * DESCRIPTION:
- *
- * This routine frees a message buffer to the inactive
- * message buffer chain.
- */
-
-STATIC INLINE void _CORE_message_queue_Free_message_buffer (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Buffer_control *the_message
-);
-
-/*
- * _CORE_message_queue_Copy_buffer
- *
- * DESCRIPTION:
- *
- * This routine copies the contents of the source message buffer
- * to the destination message buffer.
- */
-
-STATIC INLINE void _CORE_message_queue_Copy_buffer (
- void *source,
- void *destination,
- unsigned32 size
-);
-
-/*
- * _CORE_message_queue_Get_pending_message
- *
- * DESCRIPTION:
- *
- * This function removes the first message from the_message_queue
- * and returns a pointer to it.
- */
-
-STATIC INLINE
- CORE_message_queue_Buffer_control *_CORE_message_queue_Get_pending_message (
- CORE_message_queue_Control *the_message_queue
-);
-
-/*
- * _CORE_message_queue_Is_priority
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the priority attribute is
- * enabled in the attribute_set and FALSE otherwise.
- */
-
-STATIC INLINE boolean _CORE_message_queue_Is_priority(
- CORE_message_queue_Attributes *the_attribute
-);
-
-/*
- * _CORE_message_queue_Append
- *
- * DESCRIPTION:
- *
- * This routine places the_message at the rear of the outstanding
- * messages on the_message_queue.
- */
-
-STATIC INLINE void _CORE_message_queue_Append (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Buffer_control *the_message
-);
-
-/*
- * _CORE_message_queue_Prepend
- *
- * DESCRIPTION:
- *
- * This routine places the_message at the rear of the outstanding
- * messages on the_message_queue.
- */
-
-STATIC INLINE void _CORE_message_queue_Prepend (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Buffer_control *the_message
-);
-
-/*
- * _CORE_message_queue_Is_null
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_message_queue is TRUE and FALSE otherwise.
- */
-
-STATIC INLINE boolean _CORE_message_queue_Is_null (
- CORE_message_queue_Control *the_message_queue
-);
-
-/*
- * _CORE_message_queue_Is_notify_enabled
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if notification is enabled on this message
- * queue and FALSE otherwise.
- */
-
-STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled (
- CORE_message_queue_Control *the_message_queue
-);
-
-/*
- * _CORE_message_queue_Set_notify
- *
- * DESCRIPTION:
- *
- * This routine initializes the notification information for the_message_queue.
- */
-
-STATIC INLINE void _CORE_message_queue_Set_notify (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Notify_Handler the_handler,
- void *the_argument
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/coremsg.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/coremutex.h b/cpukit/score/include/rtems/score/coremutex.h
index 2e8d16a0c1..73b7e34417 100644
--- a/cpukit/score/include/rtems/score/coremutex.h
+++ b/cpukit/score/include/rtems/score/coremutex.h
@@ -158,85 +158,9 @@ void _CORE_mutex_Flush(
unsigned32 status
);
-/*
- * _CORE_mutex_Is_locked
- *
- * DESCRIPTION:
- *
- * This routine returns TRUE if the mutex specified is locked and FALSE
- * otherwise.
- */
-
-STATIC INLINE boolean _CORE_mutex_Is_locked(
- CORE_mutex_Control *the_mutex
-);
-
-/*
- * _CORE_mutex_Is_fifo
- *
- * DESCRIPTION:
- *
- * This routine returns TRUE if the mutex's wait discipline is FIFO and FALSE
- * otherwise.
- */
-
-STATIC INLINE boolean _CORE_mutex_Is_fifo(
- CORE_mutex_Attributes *the_attribute
-);
-
-/*
- * _CORE_mutex_Is_priority
- *
- * DESCRIPTION:
- *
- * This routine returns TRUE if the mutex's wait discipline is PRIORITY and
- * FALSE otherwise.
- */
-
-STATIC INLINE boolean _CORE_mutex_Is_priority(
- CORE_mutex_Attributes *the_attribute
-);
-
-/*
- * _CORE_mutex_Is_inherit_priority
- *
- * DESCRIPTION:
- *
- * This routine returns TRUE if the mutex's wait discipline is
- * INHERIT_PRIORITY and FALSE otherwise.
- */
-
-STATIC INLINE boolean _CORE_mutex_Is_inherit_priority(
- CORE_mutex_Attributes *the_attribute
-);
-
-/*
- * _CORE_mutex_Is_priority_ceiling
- *
- * DESCRIPTION:
- *
- * This routine returns TRUE if the mutex's wait discipline is
- * PRIORITY_CEILING and FALSE otherwise.
- */
-
-STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling(
- CORE_mutex_Attributes *the_attribute
-);
-
-/*
- * _CORE_mutex_Is_nesting_allowed
- *
- * DESCRIPTION:
- *
- * This routine returns TRUE if the mutex allows a task to obtain a
- * semaphore more than once and nest.
- */
-
-STATIC INLINE boolean _CORE_mutex_Is_nesting_allowed(
- CORE_mutex_Attributes *the_attribute
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/coremutex.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/coresem.h b/cpukit/score/include/rtems/score/coresem.h
index cf40da4783..88f712be5d 100644
--- a/cpukit/score/include/rtems/score/coresem.h
+++ b/cpukit/score/include/rtems/score/coresem.h
@@ -143,32 +143,9 @@ void _CORE_semaphore_Flush(
unsigned32 status
);
-/*
- * _CORE_semaphore_Get_count
- *
- * DESCRIPTION:
- *
- * This routine returns the current count associated with the semaphore.
- */
-
-STATIC INLINE unsigned32 _CORE_semaphore_Get_count(
- CORE_semaphore_Control *the_semaphore
-);
-
-/*
- * _CORE_semaphore_Is_priority
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the priority attribute is
- * enabled in the attribute_set and FALSE otherwise.
- */
-
-STATIC INLINE boolean _CORE_semaphore_Is_priority(
- CORE_semaphore_Attributes *the_attribute
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/coresem.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/heap.h b/cpukit/score/include/rtems/score/heap.h
index dd50a0de8a..c1a0650d0a 100644
--- a/cpukit/score/include/rtems/score/heap.h
+++ b/cpukit/score/include/rtems/score/heap.h
@@ -214,189 +214,9 @@ void _Heap_Walk(
boolean do_dump
);
-/*
- * _Heap_Head
- *
- * DESCRIPTION:
- *
- * This function returns the head of the specified heap.
- */
-
-STATIC INLINE Heap_Block *_Heap_Head (
- Heap_Control *the_heap
-);
-
-/*
- * _Heap_Tail
- *
- * DESCRIPTION:
- *
- * This function returns the tail of the specified heap.
- */
-
-STATIC INLINE Heap_Block *_Heap_Tail (
- Heap_Control *the_heap
-);
-
-/*
- * _Heap_Previous_block
- *
- * DESCRIPTION:
- *
- * This function returns the address of the block which physically
- * precedes the_block in memory.
- */
-
-STATIC INLINE Heap_Block *_Heap_Previous_block (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Next_block
- *
- * DESCRIPTION:
- *
- * This function returns the address of the block which physically
- * follows the_block in memory.
- */
-
-STATIC INLINE Heap_Block *_Heap_Next_block (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Block_at
- *
- * DESCRIPTION:
- *
- * This function calculates and returns a block's location (address)
- * in the heap based upad a base address and an offset.
- */
-
-STATIC INLINE Heap_Block *_Heap_Block_at(
- void *base,
- unsigned32 offset
-);
-
-/*PAGE
- *
- * _Heap_User_block_at
- *
- */
-
-STATIC INLINE Heap_Block *_Heap_User_block_at(
- void *base
-);
-
-/*
- * _Heap_Is_previous_block_free
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the previous block of the_block
- * is free, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Heap_Is_previous_block_free (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Is_block_free
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the block is free, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Heap_Is_block_free (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Is_block_used
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the block is currently allocated,
- * and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Heap_Is_block_used (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Block_size
- *
- * DESCRIPTION:
- *
- * This function returns the size of the_block in bytes.
- */
-
-STATIC INLINE unsigned32 _Heap_Block_size (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Start_of_user_area
- *
- * DESCRIPTION:
- *
- * This function returns the starting address of the portion of the block
- * which the user may access.
- */
-
-STATIC INLINE void *_Heap_Start_of_user_area (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Is_block_in
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_block is within the memory area
- * managed by the_heap, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Heap_Is_block_in (
- Heap_Control *the_heap,
- Heap_Block *the_block
-);
-
-
-/*
- * _Heap_Is_page_size_valid
- *
- * DESCRIPTION:
- *
- * This function validates a specified heap page size. If the page size
- * is 0 or if lies outside a page size alignment boundary it is invalid
- * and FALSE is returned. Otherwise, the page size is valid and TRUE is
- * returned.
- */
-
-STATIC INLINE boolean _Heap_Is_page_size_valid(
- unsigned32 page_size
-);
-
-/*
- * _Heap_Build_flag
- *
- * DESCRIPTION:
- *
- * This function returns the block flag composed of size and in_use_flag.
- * The flag returned is suitable for use as a back or front flag in a
- * heap block.
- */
-
-STATIC INLINE unsigned32 _Heap_Build_flag (
- unsigned32 size,
- unsigned32 in_use_flag
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/heap.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h
index bb80823cfb..e42d7b888e 100644
--- a/cpukit/score/include/rtems/score/isr.h
+++ b/cpukit/score/include/rtems/score/isr.h
@@ -141,19 +141,6 @@ void _ISR_Handler_initialization ( void );
_CPU_ISR_Flash( _level )
/*
- * _ISR_Is_in_progress
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the processor is currently servicing
- * and interrupt and FALSE otherwise. A return value of TRUE indicates
- * that the caller is an interrupt service routine, NOT a thread. The
- * directives available to an interrupt service routine are restricted.
- */
-
-STATIC INLINE boolean _ISR_Is_in_progress( void );
-
-/*
* _ISR_Install_vector
*
* DESCRIPTION:
@@ -191,32 +178,6 @@ STATIC INLINE boolean _ISR_Is_in_progress( void );
_CPU_ISR_Set_level( _new_level )
/*
- * _ISR_Is_vector_number_valid
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the vector is a valid vector number
- * for this processor and FALSE otherwise.
- */
-
-STATIC INLINE boolean _ISR_Is_vector_number_valid (
- ISR_Vector_number vector
-);
-
-/*
- * _ISR_Is_valid_user_handler
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if handler is the entry point of a valid
- * use interrupt service routine and FALSE otherwise.
- */
-
-STATIC INLINE boolean _ISR_Is_valid_user_handler (
- void *handler
-);
-
-/*
* _ISR_Handler
*
* DESCRIPTION:
@@ -253,7 +214,9 @@ void _ISR_Handler( void );
void _ISR_Dispatch( void );
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/isr.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/mppkt.h b/cpukit/score/include/rtems/score/mppkt.h
index 37469d93b8..0c651bc4e8 100644
--- a/cpukit/score/include/rtems/score/mppkt.h
+++ b/cpukit/score/include/rtems/score/mppkt.h
@@ -88,33 +88,9 @@ typedef struct {
#define MP_PACKET_MINIMUN_HETERO_CONVERSION ( sizeof( MP_packet_Prefix ) / 4 )
-/*
- * _Mp_packet_Is_valid_packet_class
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the the_packet_class is valid,
- * and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Mp_packet_Is_valid_packet_class (
- MP_packet_Classes the_packet_class
-);
-
-/*
- * _Mp_packet_Is_null
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the the_packet_class is null,
- * and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Mp_packet_Is_null (
- MP_packet_Prefix *the_packet
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/mppkt.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h
index 2c93a44379..d70009c3c9 100644
--- a/cpukit/score/include/rtems/score/object.h
+++ b/cpukit/score/include/rtems/score/object.h
@@ -383,176 +383,9 @@ Objects_Information *_Objects_Get_information(
);
/*
- * _Objects_Build_id
- *
- * DESCRIPTION:
- *
- * This function builds an object's id from the processor node and index
- * values specified.
- *
- */
-
-STATIC INLINE Objects_Id _Objects_Build_id(
- Objects_Classes the_class,
- unsigned32 node,
- unsigned32 index
-);
-
-/*
- * _Objects_Get_class
- *
- * DESCRIPTION:
- *
- * This function returns the class portion of the ID.
- *
- */
-
-STATIC INLINE Objects_Classes _Objects_Get_class(
- Objects_Id id
-);
-
-/*
- * _Objects_Get_node
- *
- * DESCRIPTION:
- *
- * This function returns the node portion of the ID.
- *
- */
-
-STATIC INLINE unsigned32 _Objects_Get_node(
- Objects_Id id
-);
-
-/*
- * _Objects_Get_index
- *
- * DESCRIPTION:
- *
- * This function returns the index portion of the ID.
- *
- */
-
-STATIC INLINE unsigned32 _Objects_Get_index(
- Objects_Id id
-);
-
-/*
- * _Objects_Is_class_valid
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the class is valid.
- *
- */
-
-STATIC INLINE boolean _Objects_Is_class_valid(
- Objects_Classes the_class
-);
-
-/*
- * _Objects_Is_local_node
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the node is of the local object, and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Objects_Is_local_node(
- unsigned32 node
-);
-
-/*
- * _Objects_Is_local_id
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the id is of a local object, and
- * FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Objects_Is_local_id(
- Objects_Id id
-);
-
-/*
- * _Objects_Are_ids_equal
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if left and right are equal,
- * and FALSE otherwise.
- *
- */
-
-STATIC INLINE boolean _Objects_Are_ids_equal(
- Objects_Id left,
- Objects_Id right
-);
-
-/*
- * _Objects_Allocate
- *
- * DESCRIPTION:
- *
- * This function allocates a object control block from
- * the inactive chain of free object control blocks.
- *
- */
-
-STATIC INLINE Objects_Control *_Objects_Allocate(
- Objects_Information *information
-);
-
-/*
- * _Objects_Free
- *
- * DESCRIPTION:
- *
- * This function frees a object control block to the
- * inactive chain of free object control blocks.
- *
- */
-
-STATIC INLINE void _Objects_Free(
- Objects_Information *information,
- Objects_Control *the_object
-);
-
-/*
- * _Objects_Open
- *
- * DESCRIPTION:
- *
- * This function places the_object control pointer and object name
- * in the Local Pointer and Local Name Tables, respectively.
- *
+ * Pieces of object.inl are promoted out to the user
*/
-STATIC INLINE void _Objects_Open(
- Objects_Information *information,
- Objects_Control *the_object,
- Objects_Name name
-);
-
-/*
- * _Objects_Close
- *
- * DESCRIPTION:
- *
- * This function removes the_object control pointer and object name
- * in the Local Pointer and Local Name Tables.
- *
- */
-
-STATIC INLINE void _Objects_Close(
- Objects_Information *information,
- Objects_Control *the_object
-);
-
#include <rtems/score/object.inl>
#include <rtems/score/objectmp.h>
diff --git a/cpukit/score/include/rtems/score/objectmp.h b/cpukit/score/include/rtems/score/objectmp.h
index dbd468e169..96496656df 100644
--- a/cpukit/score/include/rtems/score/objectmp.h
+++ b/cpukit/score/include/rtems/score/objectmp.h
@@ -47,42 +47,6 @@ void _Objects_MP_Handler_initialization (
unsigned32 maximum_global_objects
);
-/*
- * _Objects_MP_Allocate_global_object
- *
- * DESCRIPTION:
- *
- * This function allocates a Global Object control block.
- */
-
-STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object (
- void
-);
-
-/*
- * _Objects_MP_Free_global_object
- *
- * DESCRIPTION:
- *
- * This routine deallocates a Global Object control block.
- */
-
-STATIC INLINE void _Objects_MP_Free_global_object (
- Objects_MP_Control *the_object
-);
-
-/*
- * _Objects_MP_Is_null_global_object
- *
- * DESCRIPTION:
- *
- * This function returns whether the global object is NULL or not.
- */
-
-STATIC INLINE boolean _Objects_MP_Is_null_global_object (
- Objects_MP_Control *the_object
-);
-
/*PAGE
*
* _Objects_MP_Open
@@ -176,7 +140,9 @@ void _Objects_MP_Is_remote (
EXTERN unsigned32 _Objects_MP_Maximum_global_objects;
EXTERN Chain_Control _Objects_MP_Inactive_global_objects;
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/objectmp.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/priority.h b/cpukit/score/include/rtems/score/priority.h
index a4a96045d5..b7de14f0f9 100644
--- a/cpukit/score/include/rtems/score/priority.h
+++ b/cpukit/score/include/rtems/score/priority.h
@@ -67,164 +67,26 @@ EXTERN Priority_Bit_map_control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT;
*/
/*
- * _Priority_Handler_initialization
+ * Priority Bitfield Manipulation Routines
*
- * DESCRIPTION:
+ * NOTE:
*
- * This routine performs the initialization necessary for this handler.
- */
-
-STATIC INLINE void _Priority_Handler_initialization( void );
-
-/*
- * _Priority_Is_valid
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_priority if valid for a
- * user task, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Priority_Is_valid (
- Priority_Control the_priority
-);
-
-/*
- * _Priority_Major
- *
- * DESCRIPTION:
- *
- * This function returns the major portion of the_priority.
- */
-
-STATIC INLINE unsigned32 _Priority_Major (
- Priority_Control the_priority
-);
-
-/*
- * _Priority_Minor
- *
- * DESCRIPTION:
- *
- * This function returns the minor portion of the_priority.
- */
-
-STATIC INLINE unsigned32 _Priority_Minor (
- Priority_Control the_priority
-);
-
-/*
- * _Priority_Mask
- *
- * DESCRIPTION:
- *
- * This function returns the mask associated with the major or minor
- * number passed to it.
+ * These may simply be pass throughs to CPU dependent routines.
*/
-#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE )
-
-STATIC INLINE unsigned32 _Priority_Mask (
- unsigned32 bit_number
-);
-
-#else
+#if ( CPU_USE_GENERIC_BITFIELD_CODE == FALSE )
#define _Priority_Mask( _bit_number ) \
_CPU_Priority_Mask( _bit_number )
-#endif
-
-/*
- * _Priority_Bits_index
- *
- * DESCRIPTION:
- *
- * This function translates the bit numbers returned by the bit scan
- * of a priority bit field into something suitable for use as
- * a major or minor component of a priority.
- */
-
-#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE )
-
-STATIC INLINE unsigned32 _Priority_Bits_index (
- unsigned32 bit_number
-);
-
-#else
-
#define _Priority_Bits_index( _priority ) \
_CPU_Priority_bits_index( _priority )
#endif
-/*
- * _Priority_Add_to_bit_map
- *
- * DESCRIPTION:
- *
- * This routine uses the_priority_map to update the priority
- * bit maps to indicate that a thread has been readied.
- */
-
-STATIC INLINE void _Priority_Add_to_bit_map (
- Priority_Information *the_priority_map
-);
-
-/*
- * _Priority_Remove_from_bit_map
- *
- * DESCRIPTION:
- *
- * This routine uses the_priority_map to update the priority
- * bit maps to indicate that a thread has been removed from the
- * ready state.
- */
-
-STATIC INLINE void _Priority_Remove_from_bit_map (
- Priority_Information *the_priority_map
-);
-
-/*
- * _Priority_Get_highest
- *
- * DESCRIPTION:
- *
- * This function returns the priority of the highest priority
- * ready thread.
- */
-
-STATIC INLINE Priority_Control _Priority_Get_highest( void );
-
-/*
- * _Priority_Initialize_information
- *
- * DESCRIPTION:
- *
- * This routine initializes the_priority_map so that it
- * contains the information necessary to manage a thread
- * at new_priority.
- */
-
-STATIC INLINE void _Priority_Initialize_information(
- Priority_Information *the_priority_map,
- Priority_Control new_priority
-);
-
-/*
- * _Priority_Is_group_empty
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the priority GROUP is empty, and
- * FALSE otherwise.
- */
-
-STATIC INLINE boolean _Priority_Is_group_empty (
- Priority_Control the_priority
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/priority.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/stack.h b/cpukit/score/include/rtems/score/stack.h
index a054dae3df..bf72782b42 100644
--- a/cpukit/score/include/rtems/score/stack.h
+++ b/cpukit/score/include/rtems/score/stack.h
@@ -38,54 +38,9 @@ typedef struct {
void *area; /* low memory addr of stack */
} Stack_Control;
-/*
- * _Stack_Initialize
- *
- * DESCRIPTION:
- *
- * This routine initializes the_stack record to indicate that
- * size bytes of memory starting at starting_address have been
- * reserved for a stack.
- */
-
-STATIC INLINE void _Stack_Initialize (
- Stack_Control *the_stack,
- void *starting_address,
- unsigned32 size
-);
-
-/*
- * _Stack_Is_enough
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if size bytes is enough memory for
- * a valid stack area on this processor, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Stack_Is_enough (
- unsigned32 size
-);
-
-/*
- * _Stack_Adjust_size
- *
- * DESCRIPTION:
- *
- * This function increases the stack size to insure that the thread
- * has the desired amount of stack space after the initial stack
- * pointer is determined based on alignment restrictions.
- *
- * NOTE:
- *
- * The amount of adjustment for alignment is CPU dependent.
- */
-
-STATIC INLINE unsigned32 _Stack_Adjust_size (
- unsigned32 size
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/stack.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/states.h b/cpukit/score/include/rtems/score/states.h
index a120cadae3..1f8fd49fae 100644
--- a/cpukit/score/include/rtems/score/states.h
+++ b/cpukit/score/include/rtems/score/states.h
@@ -66,285 +66,9 @@ typedef unsigned32 States_Control;
STATES_WAITING_FOR_EVENT | \
STATES_WAITING_ON_THREAD_QUEUE )
-/*
- * _States_Set
- *
- * DESCRIPTION:
- *
- * This function sets the given states_to_set into the current_state
- * passed in. The result is returned to the user in current_state.
- */
-
-STATIC INLINE States_Control _States_Set (
- States_Control states_to_set,
- States_Control current_state
-);
-
-/*
- * _States_Clear
- *
- * DESCRIPTION:
- *
- * This function clears the given states_to_clear into the current_state
- * passed in. The result is returned to the user in current_state.
- */
-
-STATIC INLINE States_Control _States_Clear (
- States_Control states_to_clear,
- States_Control current_state
-);
-
-/*
- * _States_Is_ready
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_states indicates that the
- * state is READY, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_ready (
- States_Control the_states
-);
-
-/*
- * _States_Is_only_dormant
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the DORMANT state is the ONLY state
- * set in the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_only_dormant (
- States_Control the_states
-);
-
-/*
- * _States_Is_dormant
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the DORMANT state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_dormant (
- States_Control the_states
-);
-
-/*
- * _States_Is_suspended
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the SUSPENDED state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_suspended (
- States_Control the_states
-);
-
-/*
- * _States_Is_Transient
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the TRANSIENT state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_transient (
- States_Control the_states
-);
-
-/*
- * _States_Is_delaying
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the DELAYING state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_delaying (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_buffer
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_BUFFER state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_buffer (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_segment
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_SEGMENT state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_segment (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_message
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_MESSAGE state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_message (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_event
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_EVENT state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_event (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_mutex
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_MUTEX state
- * is set in the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_mutex (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_semaphore
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_SEMAPHORE state
- * is set in the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_semaphore (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_time
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_TIME state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_time (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_rpc_reply
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_TIME state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_rpc_reply (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_for_period
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the WAITING_FOR_PERIOD state is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_for_period (
- States_Control the_states
-);
-
-/*
- * _States_Is_locally_blocked
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if one of the states which indicates
- * that a task is blocked waiting for a local resource is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_locally_blocked (
- States_Control the_states
-);
-
-/*
- * _States_Is_waiting_on_thread_queue
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if one of the states which indicates
- * that a task is blocked waiting for a local resource is set in
- * the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_waiting_on_thread_queue (
- States_Control the_states
-);
-
-/*
- * _States_Is_blocked
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if one of the states which indicates
- * that a task is blocked is set in the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Is_blocked (
- States_Control the_states
-);
-
-/*
- * _States_Are_set
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if any of the states in the mask
- * are set in the_states, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _States_Are_set (
- States_Control the_states,
- States_Control mask
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/states.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/sysstate.h b/cpukit/score/include/rtems/score/sysstate.h
index c5d8562001..d7e43b2356 100644
--- a/cpukit/score/include/rtems/score/sysstate.h
+++ b/cpukit/score/include/rtems/score/sysstate.h
@@ -53,105 +53,9 @@ EXTERN boolean _System_state_Is_multiprocessing;
EXTERN System_state_Codes _System_state_Current;
/*
- * _System_state_Handler_initialization
- *
- * DESCRIPTION:
- *
- * This routine initializes the system state handler.
- */
-
-STATIC INLINE void _System_state_Handler_initialization (
- boolean is_multiprocessing
-);
-
-/*
- * _System_state_Set
- *
- * DESCRIPTION:
- *
- * This routine sets the current system state to that specified by
- * the called.
+ * Make it possible for the application to get the system state information.
*/
-STATIC INLINE void _System_state_Set (
- System_state_Codes state
-);
-
-/*
- * _System_state_Get
- *
- * DESCRIPTION:
- *
- * This function returns the current system state.
- */
-
-STATIC INLINE System_state_Codes _System_state_Get ( void );
-
-/*
- * _System_state_Is_before_initialization
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the state is equal to the
- * "before initialization" state, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _System_state_Is_before_initialization (
- System_state_Codes state
-);
-
-/*
- * _System_state_Is_before_multitasking
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the state is equal to the
- * "before multitasking" state, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _System_state_Is_before_multitasking (
- System_state_Codes state
-);
-
-/*
- * _System_state_Is_begin_multitasking
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the state is equal to the
- * "begin multitasking" state, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _System_state_Is_begin_multitasking (
- System_state_Codes state
-);
-
-/*
- * _System_state_Is_up
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the state is equal to the
- * "up" state, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _System_state_Is_up (
- System_state_Codes state
-);
-
-/*
- * _System_state_Is_failed
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the state is equal to the
- * "failed" state, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _System_state_Is_failed (
- System_state_Codes state
-);
-
#include <rtems/score/sysstate.inl>
#ifdef __cplusplus
diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h
index d904df439b..8abf7c3584 100644
--- a/cpukit/score/include/rtems/score/thread.h
+++ b/cpukit/score/include/rtems/score/thread.h
@@ -284,28 +284,6 @@ void _Thread_Create_idle( void );
void _Thread_Start_multitasking( void );
/*
- * _Thread_Stop_multitasking
- *
- * DESCRIPTION:
- *
- * This routine halts multitasking and returns control to
- * the "thread" (i.e. the BSP) which initially invoked the
- * routine which initialized the system.
- */
-
-STATIC INLINE void _Thread_Stop_multitasking( void );
-
-/*
- * _Thread_Dispatch_initialization
- *
- * DESCRIPTION:
- *
- * This routine initializes the thread dispatching subsystem.
- */
-
-STATIC INLINE void _Thread_Dispatch_initialization( void );
-
-/*
* _Thread_Dispatch
*
* DESCRIPTION:
@@ -487,43 +465,6 @@ void _Thread_Tickle_timeslice( void );
void _Thread_Yield_processor( void );
/*
- * _Thread_Is_executing
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_thread is the currently executing
- * thread, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_executing (
- Thread_Control *the_thread
-);
-
-/*
- * _Thread_Is_heir
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_thread is the heir
- * thread, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_executing (
- Thread_Control *the_thread
-);
-
-/*
- * _Thread_Is_executing_also_the_heir
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the currently executing thread
- * is also the heir thread, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void );
-
-/*
* _Thread_Load_environment
*
* DESCRIPTION:
@@ -604,215 +545,6 @@ void _Thread_Set_priority(
boolean _Thread_Evaluate_mode( void );
/*
- * _Thread_Resume
- *
- * DESCRIPTION:
- *
- * This routine clears the SUSPENDED state for the_thread. It performs
- * any necessary scheduling operations including the selection of
- * a new heir thread.
- */
-
-STATIC INLINE void _Thread_Resume (
- Thread_Control *the_thread
-);
-
-/*
- * _Thread_Unblock
- *
- * DESCRIPTION:
- *
- * This routine clears any blocking state for the_thread. It performs
- * any necessary scheduling operations including the selection of
- * a new heir thread.
- */
-
-STATIC INLINE void _Thread_Unblock (
- Thread_Control *the_thread
-);
-
-/*
- * _Thread_Restart_self
- *
- * DESCRIPTION:
- *
- * This routine resets the current context of the calling thread
- * to that of its initial state.
- */
-
-STATIC INLINE void _Thread_Restart_self( void );
-
-/*
- * _Thread_Calculate_heir
- *
- * DESCRIPTION:
- *
- * This function returns a pointer to the highest priority
- * ready thread.
- */
-
-STATIC INLINE void _Thread_Calculate_heir( void );
-
-/*
- * _Thread_Is_allocated_fp
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the floating point context of
- * the_thread is currently loaded in the floating point unit, and
- * FALSE otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_allocated_fp (
- Thread_Control *the_thread
-);
-
-/*
- * _Thread_Deallocate_fp
- *
- * DESCRIPTION:
- *
- * This routine is invoked when the currently loaded floating
- * point context is now longer associated with an active thread.
- */
-
-STATIC INLINE void _Thread_Deallocate_fp( void );
-
-/*
- * _Thread_Disable_dispatch
- *
- * DESCRIPTION:
- *
- * This routine prevents dispatching.
- */
-
-STATIC INLINE void _Thread_Disable_dispatch( void );
-
-/*
- * _Thread_Enable_dispatch
- *
- * DESCRIPTION:
- *
- * This routine allows dispatching to occur again. If this is
- * the outer most dispatching critical section, then a dispatching
- * operation will be performed and, if necessary, control of the
- * processor will be transferred to the heir thread.
- */
-
-#if ( CPU_INLINE_ENABLE_DISPATCH == TRUE )
-
-STATIC INLINE void _Thread_Enable_dispatch();
-
-#endif
-
-#if ( CPU_INLINE_ENABLE_DISPATCH == FALSE )
-
-void _Thread_Enable_dispatch( void );
-
-#endif
-
-/*
- * _Thread_Unnest_dispatch
- *
- * DESCRIPTION:
- *
- * This routine allows dispatching to occur again. However,
- * no dispatching operation is performed even if this is the outer
- * most dispatching critical section.
- */
-
-STATIC INLINE void _Thread_Unnest_dispatch( void );
-
-/*
- * _Thread_Is_dispatching_enabled
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if dispatching is disabled, and FALSE
- * otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_dispatching_enabled( void );
-
-/*
- * _Thread_Is_context_switch_necessary
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if dispatching is disabled, and FALSE
- * otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_context_switch_necessary( void );
-
-/*
- * _Thread_Is_null
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_thread is NULL and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_null (
- Thread_Control *the_thread
-);
-
-/*
- * _Thread_Get
- *
- * DESCRIPTION:
- *
- * This function maps thread IDs to thread control
- * blocks. If ID corresponds to a local thread, then it
- * returns the_thread control pointer which maps to ID
- * and location is set to OBJECTS_LOCAL. If the thread ID is
- * global and resides on a remote node, then location is set
- * to OBJECTS_REMOTE, and the_thread is undefined.
- * Otherwise, location is set to OBJECTS_ERROR and
- * the_thread is undefined.
- */
-
-STATIC INLINE Thread_Control *_Thread_Get (
- Objects_Id id,
- Objects_Locations *location
-);
-
-/*
- * _Thread_Is_proxy_blocking
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the status code is equal to the
- * status which indicates that a proxy is blocking, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Thread_Is_proxy_blocking (
- unsigned32 code
-);
-
-/*
- * _Thread_Internal_allocate
- *
- * DESCRIPTION:
- *
- * This routine allocates an internal thread.
- */
-
-STATIC INLINE Thread_Control *_Thread_Internal_allocate( void );
-
-/*
- * _Thread_Internal_free
- *
- * DESCRIPTION:
- *
- * This routine frees an internal thread.
- */
-
-STATIC INLINE void _Thread_Internal_free (
- Thread_Control *the_task
-);
-
-/*
* _Thread_Idle_body
*
* DESCRIPTION:
@@ -826,7 +558,9 @@ Thread _Thread_Idle_body(
);
#endif
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/thread.inl>
+#endif
#include <rtems/score/threadmp.h>
#ifdef __cplusplus
diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h
index 4afc965381..0466a04065 100644
--- a/cpukit/score/include/rtems/score/threadmp.h
+++ b/cpukit/score/include/rtems/score/threadmp.h
@@ -26,8 +26,7 @@ extern "C" {
*
* DESCRIPTION:
*
- * This package is the specification for the Thread Handler's
- * multiprocessing specific support routines.
+ * This routine initializes the multiprocessing portion of the Thread Handler.
*/
void _Thread_MP_Handler_initialization (
@@ -35,19 +34,6 @@ void _Thread_MP_Handler_initialization (
);
/*
- * _Thread_MP_Is_receive
- *
- * DESCRIPTION:
- *
- * This function returns true if the thread in question is the
- * multiprocessing receive thread.
- */
-
-STATIC INLINE boolean _Thread_MP_Is_receive (
- Thread_Control *the_thread
-);
-
-/*
* _Thread_MP_Allocate_proxy
*
* DESCRIPTION:
@@ -64,19 +50,6 @@ Thread_Control *_Thread_MP_Allocate_proxy (
);
/*
- * _Thread_MP_Free_proxy
- *
- * DESCRIPTION:
- *
- * This routine frees a proxy control block to the
- * inactive chain of free proxy control blocks.
- */
-
-STATIC INLINE void _Thread_MP_Free_proxy (
- Thread_Control *the_thread
-);
-
-/*
* _Thread_MP_Find_proxy
*
* DESCRIPTION:
@@ -104,7 +77,9 @@ EXTERN Thread_Control *_Thread_MP_Receive;
EXTERN Chain_Control _Thread_MP_Active_proxies;
EXTERN Chain_Control _Thread_MP_Inactive_proxies;
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/threadmp.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/tod.h b/cpukit/score/include/rtems/score/tod.h
index 89ff118c33..b0fb686014 100644
--- a/cpukit/score/include/rtems/score/tod.h
+++ b/cpukit/score/include/rtems/score/tod.h
@@ -205,50 +205,6 @@ Watchdog_Interval _TOD_To_seconds(
);
/*
- * _TOD_Is_set
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the application has set the current
- * time of day, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _TOD_Is_set( void );
-
-/*
- * _TOD_Tickle_ticks
- *
- * DESCRIPTION:
- *
- * This routine increments the ticks field of the current time of
- * day at each clock tick.
- */
-
-STATIC INLINE void _TOD_Tickle_ticks( void );
-
-/*
- * _TOD_Deactivate
- *
- * DESCRIPTION:
- *
- * This routine deactivates updating of the current time of day.
- */
-
-STATIC INLINE void _TOD_Deactivate( void );
-
-/*
- * _TOD_Activate
- *
- * DESCRIPTION:
- *
- * This routine deactivates updating of the current time of day.
- */
-
-STATIC INLINE void _TOD_Activate(
- Watchdog_Interval ticks
-);
-
-/*
* _TOD_Tickle
*
* DESCRIPTION:
@@ -292,7 +248,9 @@ void _TOD_Tickle(
#define TOD_MILLISECONDS_TO_TICKS(_ms) \
(TOD_MILLISECONDS_TO_MICROSECONDS(_ms) / _TOD_Microseconds_per_tick)
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/tod.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/tqdata.h b/cpukit/score/include/rtems/score/tqdata.h
index a4a5551dfd..c9c9585f7f 100644
--- a/cpukit/score/include/rtems/score/tqdata.h
+++ b/cpukit/score/include/rtems/score/tqdata.h
@@ -48,11 +48,23 @@ typedef enum {
} Thread_queue_States;
/*
- * The following record defines the control block used
- * to manage each thread.
+ * The following constants are used to manage the priority queues.
+ *
+ * There are four chains used to maintain a priority -- each chain
+ * manages a distinct set of task priorities. The number of chains
+ * is determined by TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS.
+ * The following set must be consistent.
+ *
+ * The set below configures 4 headers -- each contains 64 priorities.
+ * Header x manages priority range (x*64) through ((x*64)+63). If
+ * the priority is more than half way through the priority range it
+ * is in, then the search is performed from the rear of the chain.
+ * This halves the search time to find the insertion point.
*/
-#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4 /* # of pri groups */
+#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4
+#define TASK_QUEUE_DATA_PRIORITIES_PER_HEADER 64
+#define TASK_QUEUE_DATA_REVERSE_SEARCH_MASK 0x20
typedef struct {
union {
@@ -67,47 +79,9 @@ typedef struct {
unsigned32 count;
} Thread_queue_Control;
-/*
- * _Thread_queue_Header_number
- *
- * DESCRIPTION:
- *
- * This function returns the index of the priority chain on which
- * a thread of the_priority should be placed.
- */
-
-STATIC INLINE unsigned32 _Thread_queue_Header_number (
- Priority_Control the_priority
-);
-
-/*
- * _Thread_queue_Is_reverse_search
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the_priority indicates that the
- * enqueue search should start at the front of this priority
- * group chain, and FALSE if the search should start at the rear.
- */
-
-STATIC INLINE boolean _Thread_queue_Is_reverse_search (
- Priority_Control the_priority
-);
-
-/*
- * _Thread_queue_Enter_critical_section
- *
- * DESCRIPTION:
- *
- * This routine is invoked to indicate that the specified thread queue is
- * entering a critical section.
- */
-
-STATIC INLINE void _Thread_queue_Enter_critical_section (
- Thread_queue_Control *the_thread_queue
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/tqdata.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/userext.h b/cpukit/score/include/rtems/score/userext.h
index 58fa087780..1a6ac3437e 100644
--- a/cpukit/score/include/rtems/score/userext.h
+++ b/cpukit/score/include/rtems/score/userext.h
@@ -108,56 +108,6 @@ EXTERN User_extensions_Control _User_extensions_Initial;
EXTERN Chain_Control _User_extensions_List;
-
-/*
- * _User_extensions_Handler_initialization
- *
- * DESCRIPTION:
- *
- * This routine performs the initialization necessary for this handler.
- */
-
-STATIC INLINE void _User_extensions_Handler_initialization (
- User_extensions_Table *initial_extensions
-);
-
-/*
- * _User_extensions_Add_set
- *
- * DESCRIPTION:
- *
- * This routine is used to add a user extension set to the active list.
- */
-
-STATIC INLINE void _User_extensions_Add_set (
- User_extensions_Control *the_extension,
- User_extensions_Table *extension_table
-);
-
-/*
- * _User_extensions_Add_API_set
- *
- * DESCRIPTION:
- *
- * This routine is used to add an API extension set to the active list.
- */
-
-STATIC INLINE void _User_extensions_Add_API_set (
- User_extensions_Control *the_extension
-);
-
-/*
- * _User_extensions_Remove_set
- *
- * DESCRIPTION:
- *
- * This routine is used to remove a user extension set from the active list.
- */
-
-STATIC INLINE void _User_extensions_Remove_set (
- User_extensions_Control *the_extension
-);
-
/*
* _User_extensions_Thread_create
*
@@ -211,20 +161,6 @@ void _User_extensions_Thread_restart (
);
/*
- * _User_extensions_Thread_switch
- *
- * DESCRIPTION:
- *
- * This routine is used to invoke the user extension which
- * is invoked when a context switch occurs.
- */
-
-STATIC INLINE void _User_extensions_Thread_switch (
- Thread_Control *executing,
- Thread_Control *heir
-);
-
-/*
* _User_extensions_Thread_begin
*
* DESCRIPTION:
@@ -265,7 +201,9 @@ void _User_extensions_Fatal (
unsigned32 the_error
);
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/userext.inl>
+#endif
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h
index 5ac7eee641..9b13407c8e 100644
--- a/cpukit/score/include/rtems/score/watchdog.h
+++ b/cpukit/score/include/rtems/score/watchdog.h
@@ -116,24 +116,6 @@ EXTERN Chain_Control _Watchdog_Seconds_chain;
void _Watchdog_Handler_initialization( void );
/*
- *
- * _Watchdog_Initialize
- *
- * DESCRIPTION:
- *
- * This routine initializes the specified watchdog. The watchdog is
- * made inactive, the watchdog id and handler routine are set to the
- * specified values.
- */
-
-STATIC INLINE void _Watchdog_Initialize(
- Watchdog_Control *the_watchdog,
- Watchdog_Service_routine_entry routine,
- Objects_Id id,
- void *user_data
-);
-
-/*
* _Watchdog_Remove
*
* DESCRIPTION:
@@ -147,208 +129,6 @@ Watchdog_States _Watchdog_Remove (
);
/*
- *
- * _Watchdog_Is_active
- *
- * DESCRIPTION:
- *
- * This routine returns TRUE if the watchdog timer is in the ACTIVE
- * state, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Watchdog_Is_active(
- Watchdog_Control *the_watchdog
-);
-
-/*
- *
- * _Watchdog_Activate
- *
- * DESCRIPTION:
- *
- * This routine activates THE_WATCHDOG timer which is already
- * on a watchdog chain.
- */
-
-STATIC INLINE void _Watchdog_Activate(
- Watchdog_Control *the_watchdog
-);
-
-/*
- *
- * _Watchdog_Deactivate
- *
- * DESCRIPTION:
- *
- * This routine deactivates THE_WATCHDOG timer which will remain
- * on a watchdog chain.
- */
-
-STATIC INLINE void _Watchdog_Deactivate(
- Watchdog_Control *the_watchdog
-);
-
-/*
- *
- * _Watchdog_Tickle_ticks
- *
- * DESCRIPTION:
- *
- * This routine is invoked at each clock tick to update the ticks
- * watchdog chain.
- */
-
-STATIC INLINE void _Watchdog_Tickle_ticks( void );
-
-/*
- *
- * _Watchdog_Tickle_seconds
- *
- * DESCRIPTION:
- *
- * This routine is invoked at each clock tick to update the seconds
- * watchdog chain.
- */
-
-STATIC INLINE void _Watchdog_Tickle_seconds( void );
-
-/*
- *
- * _Watchdog_Insert_ticks
- *
- * DESCRIPTION:
- *
- * This routine inserts THE_WATCHDOG into the ticks watchdog chain
- * for a time of UNITS ticks. The INSERT_MODE indicates whether
- * THE_WATCHDOG is to be activated automatically or later, explicitly
- * by the caller.
- */
-
-STATIC INLINE void _Watchdog_Insert_ticks(
- Watchdog_Control *the_watchdog,
- Watchdog_Interval units
-);
-
-/*
- *
- * _Watchdog_Insert_seconds
- *
- * DESCRIPTION:
- *
- * This routine inserts THE_WATCHDOG into the seconds watchdog chain
- * for a time of UNITS seconds. The INSERT_MODE indicates whether
- * THE_WATCHDOG is to be activated automatically or later, explicitly
- * by the caller.
- */
-
-STATIC INLINE void _Watchdog_Insert_seconds(
- Watchdog_Control *the_watchdog,
- Watchdog_Interval units
-);
-
-/*
- *
- * _Watchdog_Adjust_seconds
- *
- * DESCRIPTION:
- *
- * This routine adjusts the seconds watchdog chain in the forward
- * or backward DIRECTION for UNITS seconds. This is invoked when the
- * current time of day is changed.
- */
-
-STATIC INLINE void _Watchdog_Adjust_seconds(
- Watchdog_Adjust_directions direction,
- Watchdog_Interval units
-);
-
-/*
- *
- * _Watchdog_Adjust_ticks
- *
- * DESCRIPTION:
- *
- * This routine adjusts the ticks watchdog chain in the forward
- * or backward DIRECTION for UNITS ticks.
- */
-
-STATIC INLINE void _Watchdog_Adjust_ticks(
- Watchdog_Adjust_directions direction,
- Watchdog_Interval units
-);
-
-/*
- *
- * _Watchdog_Reset
- *
- * DESCRIPTION:
- *
- * This routine resets THE_WATCHDOG timer to its state at INSERT
- * time. This routine is valid only on interval watchdog timers
- * and is used to make an interval watchdog timer fire "every" so
- * many ticks.
- */
-
-STATIC INLINE void _Watchdog_Reset(
- Watchdog_Control *the_watchdog
-);
-
-/*
- *
- * _Watchdog_Next
- *
- * DESCRIPTION:
- *
- * This routine returns a pointer to the watchdog timer following
- * THE_WATCHDOG on the watchdog chain.
- */
-
-STATIC INLINE Watchdog_Control *_Watchdog_Next(
- Watchdog_Control *the_watchdog
-);
-
-/*
- *
- * _Watchdog_Previous
- *
- * DESCRIPTION:
- *
- * This routine returns a pointer to the watchdog timer preceding
- * THE_WATCHDOG on the watchdog chain.
- */
-
-STATIC INLINE Watchdog_Control *_Watchdog_Previous(
- Watchdog_Control *the_watchdog
-);
-
-/*
- *
- * _Watchdog_First
- *
- * DESCRIPTION:
- *
- * This routine returns a pointer to the first watchdog timer
- * on the watchdog chain HEADER.
- */
-
-STATIC INLINE Watchdog_Control *_Watchdog_First(
- Chain_Control *header
-);
-
-/*
- *
- * _Watchdog_Last
- *
- * DESCRIPTION:
- *
- * This routine returns a pointer to the last watchdog timer
- * on the watchdog chain HEADER.
- */
-STATIC INLINE Watchdog_Control *_Watchdog_Last(
- Chain_Control *header
-);
-
-/*
* _Watchdog_Adjust
*
* DESCRIPTION:
@@ -393,7 +173,9 @@ void _Watchdog_Tickle (
Chain_Control *header
);
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/watchdog.inl>
+#endif
#ifdef __cplusplus
}