diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/inline/rtems/score/address.inl | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/cpukit/score/inline/rtems/score/address.inl b/cpukit/score/inline/rtems/score/address.inl index e8e260910f..19cf03699c 100644 --- a/cpukit/score/inline/rtems/score/address.inl +++ b/cpukit/score/inline/rtems/score/address.inl @@ -6,7 +6,7 @@ */ /* - * COPYRIGHT (c) 1989-2004. + * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -24,12 +24,17 @@ * @{ */ -/** - * This function is used to add an offset to a base address. +/** @brief Add Offset to Address + * + * This function is used to add an @a offset to a @a base address. * It returns the resulting address. This address is typically * converted to an access type before being used further. + * + * @param[in] base is the base address. + * @param[in] offset is the offset to add to @a base. + * + * @return This method returns the resulting address. */ - RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset ( void *base, uint32_t offset @@ -38,10 +43,16 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset ( return (void *)((char *)base + offset); } -/** - * This function is used to subtract an offset from a base +/** @brief Subtract Offset from Offset + * + * This function is used to subtract an @a offset from a @a base * address. It returns the resulting address. This address is * typically converted to an access type before being used further. + * + * @param[in] base is the base address. + * @param[in] offset is the offset to subtract to @a base. + * + * @return This method returns the resulting address. */ RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset ( @@ -52,14 +63,19 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset ( return (void *)((char *)base - offset); } -/** +/** @brief Subtract Two Offsets + * * This function is used to subtract two addresses. It returns the * resulting offset. * - * @note The cast of an address to an uint32_t makes this code + * @param[in] left is the address on the left hand side of the subtraction. + * @param[in] right is the address on the right hand side of the subtraction. + * + * @return This method returns the resulting address. + * + * @note The cast of an address to an uint32_t makes this code * dependent on an addresses being thirty two bits. */ - RTEMS_INLINE_ROUTINE uint32_t _Addresses_Subtract ( void *left, void *right @@ -68,12 +84,17 @@ RTEMS_INLINE_ROUTINE uint32_t _Addresses_Subtract ( return ((char *) left - (char *) right); } -/** +/** @brief Is Address Aligned + * * 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. + * + * @param[in] address is the address being checked for alignment. + * + * @return This method returns TRUE if the address is aligned and + * FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Addresses_Is_aligned ( void *address ) @@ -81,25 +102,32 @@ RTEMS_INLINE_ROUTINE boolean _Addresses_Is_aligned ( #if (CPU_ALIGNMENT == 0) return TRUE; #else - return ( ( (uintptr_t)address % CPU_ALIGNMENT ) == 0 ); + return (((uintptr_t)address % CPU_ALIGNMENT) == 0); #endif } -/** +/** @brief Is Address In Range + * * 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. + * + * @param[in] address is the address to check. + * @param[in] base is the lowest address of the range to check against. + * @param[in] limit is the highest address of the range to check against. + * + * @return This method returns TRUE if the given @a address is within the + * memory range specified and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Addresses_Is_in_range ( void *address, void *base, void *limit ) { - return ( address >= base && address <= limit ); + return (address >= base && address <= limit); } /**@}*/ |