summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/inline
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-23 14:19:58 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-23 15:12:55 +0200
commit8695cae269f9c87a535e26180c5b2b5d370720fa (patch)
tree61e4e5f9884fc1f9d18222e8003e63c4fc1cb8ee /cpukit/rtems/inline
parentrtems: Create timer implementation header (diff)
downloadrtems-8695cae269f9c87a535e26180c5b2b5d370720fa.tar.bz2
rtems: Create part implementation header
Move implementation specific parts of part.h and part.inl into new header file partimpl.h. The part.h contains now only the application visible API.
Diffstat (limited to 'cpukit/rtems/inline')
-rw-r--r--cpukit/rtems/inline/rtems/rtems/part.inl177
1 files changed, 0 insertions, 177 deletions
diff --git a/cpukit/rtems/inline/rtems/rtems/part.inl b/cpukit/rtems/inline/rtems/rtems/part.inl
deleted file mode 100644
index 0a9bead9cf..0000000000
--- a/cpukit/rtems/inline/rtems/rtems/part.inl
+++ /dev/null
@@ -1,177 +0,0 @@
-/**
- * @file rtems/rtems/part.inl
- *
- * This file contains the macro implementation of all inlined routines
- * in the Partition Manager.
- */
-
-/* COPYRIGHT (c) 1989-2008.
- * 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.
- */
-
-#ifndef _RTEMS_RTEMS_PART_H
-# error "Never use <rtems/rtems/part.inl> directly; include <rtems/rtems/part.h> instead."
-#endif
-
-#ifndef _RTEMS_RTEMS_PART_INL
-#define _RTEMS_RTEMS_PART_INL
-
-#include <rtems/score/chainimpl.h>
-
-/**
- * @addtogroup ClassicPart
- * @{
- */
-
-/**
- * @brief Allocate a buffer from the_partition.
- *
- * This function attempts to allocate a buffer from the_partition.
- * If successful, it returns the address of the allocated buffer.
- * Otherwise, it returns NULL.
- */
-RTEMS_INLINE_ROUTINE void *_Partition_Allocate_buffer (
- Partition_Control *the_partition
-)
-{
- return _Chain_Get( &the_partition->Memory );
-}
-
-/**
- * @brief Frees the_buffer to the_partition.
- *
- * This routine frees the_buffer to the_partition.
- */
-RTEMS_INLINE_ROUTINE void _Partition_Free_buffer (
- Partition_Control *the_partition,
- Chain_Node *the_buffer
-)
-{
- _Chain_Append( &the_partition->Memory, the_buffer );
-}
-
-/**
- * @brief Checks whether is on a valid buffer boundary for the_partition.
- *
- * This function returns TRUE if the_buffer is on a valid buffer
- * boundary for the_partition, and FALSE otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_on_boundary (
- void *the_buffer,
- Partition_Control *the_partition
-)
-{
- uint32_t offset;
-
- offset = (uint32_t) _Addresses_Subtract(
- the_buffer,
- the_partition->starting_address
- );
-
- return ((offset % the_partition->buffer_size) == 0);
-}
-
-/**
- * @brief Checks whether the_buffer is a valid buffer from the_partition.
- *
- * This function returns TRUE if the_buffer is a valid buffer from
- * the_partition, otherwise FALSE is returned.
- */
-RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_valid (
- Chain_Node *the_buffer,
- Partition_Control *the_partition
-)
-{
- void *starting;
- void *ending;
-
- starting = the_partition->starting_address;
- ending = _Addresses_Add_offset( starting, the_partition->length );
-
- return (
- _Addresses_Is_in_range( the_buffer, starting, ending ) &&
- _Partition_Is_buffer_on_boundary( the_buffer, the_partition )
- );
-}
-
-/**
- * @brief Checks if partition is buffer size aligned.
- *
- * This function returns TRUE if the use of the specified buffer_size
- * will result in the allocation of buffers whose first byte is
- * properly aligned, and FALSE otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_size_aligned (
- uint32_t buffer_size
-)
-{
- return ((buffer_size % CPU_PARTITION_ALIGNMENT) == 0);
-}
-
-/**
- * @brief Allocates a partition control block from the
- * inactive chain of free partition control blocks.
- *
- * This function allocates a partition control block from
- * the inactive chain of free partition control blocks.
- */
-RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Allocate ( void )
-{
- return (Partition_Control *) _Objects_Allocate( &_Partition_Information );
-}
-
-/**
- * @brief Frees a partition control block to the
- * inactive chain of free partition control blocks.
- *
- * This routine frees a partition control block to the
- * inactive chain of free partition control blocks.
- */
-RTEMS_INLINE_ROUTINE void _Partition_Free (
- Partition_Control *the_partition
-)
-{
- _Objects_Free( &_Partition_Information, &the_partition->Object );
-}
-
-/**
- * @brief Maps partition IDs to partition control blocks.
- *
- * This function maps partition IDs to partition control blocks.
- * If ID corresponds to a local partition, then it returns
- * the_partition control pointer which maps to ID and location
- * is set to OBJECTS_LOCAL. If the partition ID is global and
- * resides on a remote node, then location is set to OBJECTS_REMOTE,
- * and the_partition is undefined. Otherwise, location is set
- * to OBJECTS_ERROR and the_partition is undefined.
- */
-RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get (
- Objects_Id id,
- Objects_Locations *location
-)
-{
- return (Partition_Control *)
- _Objects_Get( &_Partition_Information, id, location );
-}
-
-/**
- * @brief Checks if the_partition is NULL.
- *
- * This function returns TRUE if the_partition is NULL
- * and FALSE otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _Partition_Is_null (
- Partition_Control *the_partition
-)
-{
- return ( the_partition == NULL );
-}
-
-/**@}*/
-
-#endif
-/* end of include file */