score: Doxygen Clean Up Task #3

This commit is contained in:
Mathew Kallada
2013-01-04 09:01:21 -06:00
committed by Jennifer Averett
parent 455bd4eae2
commit a1f9934a8f
20 changed files with 350 additions and 231 deletions
+40 -27
View File
@@ -1,33 +1,46 @@
/*
Based upon IDT provided code with the following release:
This source code has been made available to you by IDT on an AS-IS
basis. Anyone receiving this source is licensed under IDT copyrights
to use it in any way he or she deems fit, including copying it,
modifying it, compiling it, and redistributing it either with or
without modifications. No license under IDT patents or patent
applications is to be implied by the copyright license.
Any user of this software should understand that IDT cannot provide
technical support for this software and will not be responsible for
any consequences resulting from the use of this software.
Any person who transfers this source code or any derivative work must
include the IDT copyright notice, this paragraph, and the preceeding
two paragraphs in the transferred software.
COPYRIGHT IDT CORPORATION 1996
LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
*/
/**
* @file idtcpu.h
*
* @brief CPU Related Definitions
*
* 950313: Ketan added sreg/lreg and R_SZ for 64-bit saves
* added Register definition for XContext reg.
* Look towards end of this file.
*/
/*
** idtcpu.h -- cpu related defines
*/
* Based upon IDT provided code with the following release:
*
* This source code has been made available to you by IDT on an AS-IS
* basis. Anyone receiving this source is licensed under IDT copyrights
* to use it in any way he or she deems fit, including copying it,
* modifying it, compiling it, and redistributing it either with or
* without modifications. No license under IDT patents or patent
* applications is to be implied by the copyright license.
*
* Any user of this software should understand that IDT cannot provide
* technical support for this software and will not be responsible for
* any consequences resulting from the use of this software.
*
* Any person who transfers this source code or any derivative work must
* include the IDT copyright notice, this paragraph, and the preceeding
* two paragraphs in the transferred software.
*
* COPYRIGHT IDT CORPORATION 1996
* LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
*/
#ifndef _RTEMS_MIPS_IDTCPU_H
#define _RTEMS_MIPS_IDTCPU_H
/**
* @defgroup MipsSet_idtcpu CPU Related Definitions
*
* @ingroup MIPS
*
*/
/**@{*/
/*
* 950313: Ketan added Register definition for XContext reg.
* added define for WAIT instruction.
@@ -92,7 +105,7 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
** Cache size constants
*/
#define MINCACHE 0x200 /* 512 For 3041. */
#define MAXCACHE 0x40000 /* 256*1024 256k */
#define MAXCACHE 0x40000 /* 256*1024 256k */
#if __mips == 32
/* R4000 configuration register definitions */
@@ -691,5 +704,5 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
#define CALG $17
#endif
#endif /* _RTEMS_MIPS_IDTCPU_H */
/**@}*/
#endif /* _RTEMS_MIPS_IDTCPU_H */
+45 -38
View File
@@ -1,44 +1,51 @@
/*
Based upon IDT provided code with the following release:
This source code has been made available to you by IDT on an AS-IS
basis. Anyone receiving this source is licensed under IDT copyrights
to use it in any way he or she deems fit, including copying it,
modifying it, compiling it, and redistributing it either with or
without modifications. No license under IDT patents or patent
applications is to be implied by the copyright license.
Any user of this software should understand that IDT cannot provide
technical support for this software and will not be responsible for
any consequences resulting from the use of this software.
Any person who transfers this source code or any derivative work must
include the IDT copyright notice, this paragraph, and the preceeding
two paragraphs in the transferred software.
COPYRIGHT IDT CORPORATION 1996
LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
/*
** iregdef.h - IDT R3000 register structure header file
**
** Copyright 1989 Integrated Device Technology, Inc
** All Rights Reserved
**
*/
#ifndef _RTEMS_MIPS_IREGDEF_H
#define _RTEMS_MIPS_IREGDEF_H
/*
/**
* @file iregdef.h
*
* @brief IDT R3000 Register Structure
*
* 950313: Ketan added sreg/lreg and R_SZ for 64-bit saves
* added Register definition for XContext reg.
* Look towards end of this file.
*/
/*
** register names
*/
* Copyright 1989 Integrated Device Technology, Inc
* All Rights Reserved
*
* Based upon IDT provided code with the following release:
*
* This source code has been made available to you by IDT on an AS-IS
* basis. Anyone receiving this source is licensed under IDT copyrights
* to use it in any way he or she deems fit, including copying it,
* modifying it, compiling it, and redistributing it either with or
* without modifications. No license under IDT patents or patent
* applications is to be implied by the copyright license.
*
* Any user of this software should understand that IDT cannot provide
* technical support for this software and will not be responsible for
* any consequences resulting from the use of this software.
*
* Any person who transfers this source code or any derivative work must
* include the IDT copyright notice, this paragraph, and the preceeding
* two paragraphs in the transferred software.
*
* COPYRIGHT IDT CORPORATION 1996
* LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
*/
#ifndef _RTEMS_MIPS_IREGDEF_H
#define _RTEMS_MIPS_IREGDEF_H
/**
* @defgroup MipsSet_iregdef Register Structure
*
* @ingroup MIPS
*
*/
/**@{*/
/* register names */
#define r0 $0
#define r1 $1
#define r2 $2
@@ -326,5 +333,5 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
/* Ketan till here */
#endif
#endif /* _RTEMS_MIPS_IREGDEF_H */
/**@}*/
#endif /* _RTEMS_MIPS_IREGDEF_H */
+13 -4
View File
@@ -1,7 +1,7 @@
/**
* @file
*
* Mips CPU Dependent Header File
*
* @brief Mips CPU Dependent Header File
*
* Conversion to MIPS port by Alan Cudmore <alanc@linuxstart.com> and
* Joel Sherrill <joel@OARcorp.com>.
@@ -42,6 +42,14 @@
#ifndef _RTEMS_SCORE_CPU_H
#define _RTEMS_SCORE_CPU_H
/**
* @defgroup ScoreCPU CPU CPU
*
* @ingroup Score
*
*/
/**@{*/
#ifdef __cplusplus
extern "C" {
#endif
@@ -211,7 +219,7 @@ extern "C" {
* all tasks floating point.
*/
#define CPU_ALL_TASKS_ARE_FP CPU_HARDWARE_FP
#define CPU_ALL_TASKS_ARE_FP CPU_HARDWARE_FP
/*
* Should the IDLE task have a floating point context?
@@ -1172,4 +1180,5 @@ static inline uint32_t CPU_swap_u32(
}
#endif
#endif
/**@}*/
#endif
+19 -1
View File
@@ -1,5 +1,14 @@
/**
* @file rtems/score/mips.h
*
* @brief Information to build RTEMS for a "no cpu" while in protected mode.
*
* This file contains the information required to build
* RTEMS for a particular member of the "no cpu"
* family when executing in protected mode. It does
* this by setting variables to indicate which implementation
* dependent features are present in a particular member
* of the family.
*/
/*
@@ -14,6 +23,14 @@
#ifndef _RTEMS_SCORE_MIPS_H
#define _RTEMS_SCORE_MIPS_H
/**
* @defgroup ScoreMips RTEMS no cpu Build Information
*
* @ingroup Score
*
*/
/**@{*/
#ifdef __cplusplus
extern "C" {
#endif
@@ -277,5 +294,6 @@ extern "C" {
}
#endif
/**@}*/
#endif /* _RTEMS_SCORE_MIPS_H */
/* end of include file */
/* end of include file */
+15 -4
View File
@@ -1,11 +1,13 @@
/**
* @file rtems/score/types.h
*
* @brief Type Definitions Pertaining to the MIPS Processor Family
*
* This include file contains type definitions pertaining to the MIPS
* processor family.
*/
/*
* This include file contains type definitions pertaining to the MIPS
* processor family.
*
* COPYRIGHT (c) 1989-2001.
* On-Line Applications Research Corporation (OAR).
*
@@ -18,6 +20,14 @@
#ifndef _RTEMS_SCORE_TYPES_H
#define _RTEMS_SCORE_TYPES_H
/**
* @defgroup ScoreTypes MIPS Processor Family Type Definitions
*
* @ingroup Score
*
*/
/**@{*/
#include <rtems/score/basedefs.h>
#ifndef ASM
@@ -40,4 +50,5 @@ typedef void ( *mips_isr_entry )( void );
#endif /* !ASM */
#endif
/**@}*/
#endif
+16 -13
View File
@@ -26,6 +26,8 @@
/**
* @defgroup RTEMS BSP SMP Interface
*
* @ingroup Score
*
* This defines the interface between RTEMS and the BSP for
* SMP support. The interface uses the term primary
* to refer to the "boot" processor and secondary to refer
@@ -47,7 +49,7 @@ extern "C" {
#ifndef ASM
/**
* @brief Maximum Number of CPUs in SMP System
* @brief Maximum number of CPUs in SMP system.
*
* This variable is set during the SMP initialization sequence to
* indicate the Maximum number of CPUs in this system.
@@ -55,7 +57,7 @@ extern "C" {
extern uint32_t rtems_configuration_smp_maximum_processors;
/**
* @brief Initialize Secondary CPUs
* @brief Initialize secondary CPUs.
*
* This method is invoked by RTEMS during initialization to bring the
* secondary CPUs out of reset.
@@ -63,7 +65,7 @@ extern uint32_t rtems_configuration_smp_maximum_processors;
* @param [in] maximum is the maximum number of CPU cores that RTEMS
* can handle
*
* @return This method returns the number of cores available in the
* @retval This method returns the number of cores available in the
* system.
*/
int bsp_smp_initialize(
@@ -71,17 +73,17 @@ int bsp_smp_initialize(
);
/**
* @brief Obtain Current CPU Index
* @brief Obtain current CPU index.
*
* This method is invoked by RTEMS when it needs to know the index
* of the CPU it is executing on.
*
* @return This method returns the current CPU index.
* @retval This method returns the current CPU index.
*/
int bsp_smp_processor_id(void) RTEMS_COMPILER_PURE_ATTRIBUTE;
/**
* @brief Make Request of Another CPU
* @brief Make request of another CPU.
*
* This method is invoked by RTEMS when it needs to make a request
* of another CPU. It should be implemented using some type of
@@ -96,7 +98,7 @@ void rtems_smp_send_message(
);
/**
* @brief Generate a Interprocessor Broadcast Interrupt
* @brief Generate an interprocessor broadcast interrupt.
*
* This method is invoked when RTEMS wants to let all of the other
* CPUs know that it has sent them message. CPUs not including
@@ -110,7 +112,7 @@ void rtems_smp_send_message(
void bsp_smp_broadcast_interrupt(void);
/**
* @brief Generate a Interprocessor Interrupt
* @brief Generate a interprocessor interrupt.
*
* This method is invoked by RTEMS to let @a cpu know that it
* has sent it a message.
@@ -122,7 +124,7 @@ void bsp_smp_interrupt_cpu(
);
/**
* @brief Obtain CPU Core Number
* @brief Obtain CPU core number.
*
* This method is invoked by RTEMS when it needs to know which core
* number it is executing on. This is used when it needs to perform
@@ -130,7 +132,7 @@ void bsp_smp_interrupt_cpu(
* the other cores. For example, it may need to realize it needs to
* preempt a thread on another node.
*
* @return This method returns the Id of the current CPU core.
* @retval This method returns the Id of the current CPU core.
*/
int bsp_smp_processor_id( void );
@@ -145,7 +147,7 @@ int bsp_smp_processor_id( void );
void bsp_smp_secondary_cpu_initialize(int cpu);
/**
* @brief RTEMS SMP Secondary CPU Initialize
* @brief Initialize secondary CPU and coordinates.
*
* This method is the C entry point which secondary CPUs should
* arrange to call. It performs OS initialization for the secondary
@@ -166,7 +168,7 @@ void rtems_smp_secondary_cpu_initialize(void);
void rtems_smp_initialize_per_cpu(int cpu);
/**
* @brief RTEMS SMP Proccess Interrupt
* @brief Process the incoming interprocessor request.
*
* This is the method called by the BSP's interrupt handler
* to process the incoming interprocessor request.
@@ -189,6 +191,7 @@ void bsp_smp_wait_for(
#define bsp_smp_processor_id() 0
#endif
/**@}*/
#endif
/* end of include file */
/* end of include file */
+3 -1
View File
@@ -1,6 +1,8 @@
/**
* @file rtems/score/address.h
*
* @brief Information Required to Manipulate Physical Addresses
*
* This include file contains the information required to manipulate
* physical addresses.
*/
@@ -40,4 +42,4 @@ extern "C" {
/**@}*/
#endif
/* end of include file */
/* end of include file */
+7 -7
View File
@@ -3,7 +3,7 @@
*
* @ingroup ScoreAPIMutex
*
* @brief API Mutex Handler API.
* @brief API Mutex Handler API
*/
/*
@@ -76,11 +76,11 @@ void _API_Mutex_Allocate( API_Mutex_Control **mutex );
* @brief Acquires the specified API mutex.
*/
void _API_Mutex_Lock(
API_Mutex_Control *mutex
API_Mutex_Control *mutex
);
/**
* @brief Releases the Specified API Mutex
* @brief Releases the specified API mutex.
*
* Releases the specified @a mutex.
*
@@ -105,7 +105,7 @@ void _API_Mutex_Unlock( API_Mutex_Control *mutex );
*/
/**
* @brief Memory Allocation Mutex
* @brief Memory allocation mutex.
*
* This points to the API Mutex instance used to ensure that only
* one thread at a time is allocating or freeing memory.
@@ -113,7 +113,7 @@ void _API_Mutex_Unlock( API_Mutex_Control *mutex );
SCORE_EXTERN API_Mutex_Control *_RTEMS_Allocator_Mutex;
/**
* @brief Macro to Ease Locking the Allocator Mutex
* @brief Macro to ease locking the allocator mutex.
*
* This macro makes it explicit that one is locking the allocator mutex.
*/
@@ -121,7 +121,7 @@ SCORE_EXTERN API_Mutex_Control *_RTEMS_Allocator_Mutex;
_API_Mutex_Lock( _RTEMS_Allocator_Mutex )
/**
* @brief Macro to Ease Unlocking the Allocator Mutex
* @brief Macro to ease unlocking the allocator mutex.
*
* This macro makes it explicit that one is unlocking the allocator mutex.
*/
@@ -135,4 +135,4 @@ SCORE_EXTERN API_Mutex_Control *_RTEMS_Allocator_Mutex;
#endif
#endif
/* end of include file */
/* end of include file */
+9 -9
View File
@@ -3,7 +3,7 @@
*
* @ingroup ScoreChain
*
* @brief Chain Handler API.
* @brief Chain Handler API
*/
/*
@@ -107,7 +107,7 @@ typedef union {
Chain_Control name = CHAIN_INITIALIZER_EMPTY(name)
/**
* @brief Initialize a Chain Header
* @brief Initialize a chain header.
*
* This routine initializes @a the_chain structure to manage the
* contiguous array of @a number_nodes nodes which starts at
@@ -127,7 +127,7 @@ void _Chain_Initialize(
);
/**
* @brief Extract the specified node from a chain
* @brief Extract the specified node from a chain.
*
* This routine extracts @a the_node from the chain on which it resides.
* It disables interrupts to ensure the atomicity of the extract operation.
@@ -142,12 +142,12 @@ void _Chain_Extract(
);
/**
* @brief Obtain the first node on a chain
* @brief Obtain the first node on a chain.
*
* This function removes the first node from @a the_chain and returns
* a pointer to that node. If @a the_chain is empty, then NULL is returned.
*
* @return This method returns a pointer a node. If a node was removed,
* @retval This method returns a pointer a node. If a node was removed,
* then a pointer to that node is returned. If @a the_chain was
* empty, then NULL is returned.
*
@@ -158,7 +158,7 @@ Chain_Node *_Chain_Get(
);
/**
* @brief Insert a node on a chain
* @brief Insert a node on a chain.
*
* This routine inserts @a the_node on a chain immediately following
* @a after_node.
@@ -179,7 +179,7 @@ void _Chain_Insert(
);
/**
* @brief Append a node on the end of a chain
* @brief Append a node on the end of a chain.
*
* This routine appends @a the_node onto the end of @a the_chain.
*
@@ -262,7 +262,7 @@ bool _Chain_Get_with_empty_check(
* @note It does NOT disable interrupts to ensure the atomicity of the
* operation.
*
* @return The node count of the chain.
* @retval The node count of the chain.
*/
size_t _Chain_Node_count_unprotected( const Chain_Control *chain );
@@ -277,4 +277,4 @@ size_t _Chain_Node_count_unprotected( const Chain_Control *chain );
/**@}*/
#endif
/* end of include file */
/* end of include file */
@@ -1,6 +1,8 @@
/**
* @file rtems/score/corespinlock.h
*
* @brief Constants and Structures Associated with the Spinlock Handler
*
* This include file contains all the constants and structures associated
* with the Spinlock Handler.
*/
@@ -110,7 +112,7 @@ typedef struct {
} CORE_spinlock_Control;
/**
* @brief Initialized a spinlock
* @brief Initialize the spinlock.
*
* This routine initializes the spinlock based on the parameters passed.
*
@@ -123,7 +125,8 @@ void _CORE_spinlock_Initialize(
);
/**
* @brief Wait for Spinlock
* @brief Wait for spinlock.
*
* This routine wait for the spinlock to be released. If the spinlock
* is set to automatic and this is the appropriate thread, then it returns
* immediately. Otherwise, the calling thread is blocked until the spinlock
@@ -133,7 +136,7 @@ void _CORE_spinlock_Initialize(
* @param[in] wait is true if willing to wait
* @param[in] timeout is the maximum number of ticks to spin (0 is forever)
*
* @return A status is returned which indicates the success or failure of
* @retval A status is returned which indicates the success or failure of
* this operation.
*/
CORE_spinlock_Status _CORE_spinlock_Wait(
@@ -143,8 +146,8 @@ CORE_spinlock_Status _CORE_spinlock_Wait(
);
/**
* @brief Manually release Spinlock
*
* @brief Manually release the spinlock.
*
* This routine manually releases the spinlock. All of the threads waiting
* for the spinlock will be readied.
*
@@ -165,4 +168,4 @@ CORE_spinlock_Status _CORE_spinlock_Release(
/**@}*/
#endif
/* end of include file */
/* end of include file */
+32 -30
View File
@@ -1,6 +1,8 @@
/**
* @file rtems/score/isr.h
*
* @brief Data Related to the Management of Processor Interrupt Levels
*
* This include file contains all the constants and structures associated
* with the management of processor interrupt levels. This handler
* supports interrupt critical sections, vectoring of user interrupt
@@ -87,19 +89,19 @@ SCORE_EXTERN ISR_Handler_entry *_ISR_Vector_table;
#endif
/**
* @brief Initialize the ISR Handler
* @brief Initialize the ISR handler.
*
* This routine performs the initialization necessary for the ISR handler.
*/
void _ISR_Handler_initialization ( void );
/**
* @brief Disable Interrupts on This Core
* @brief Disable interrupts on this core.
*
* This routine disables all interrupts so that a critical section
* of code can be executing without being interrupted.
*
* @return The argument @a _level will contain the previous interrupt
* @retval The argument @a _level will contain the previous interrupt
* mask level.
*/
#define _ISR_Disable_on_this_core( _level ) \
@@ -109,7 +111,7 @@ void _ISR_Handler_initialization ( void );
} while (0)
/**
* @brief Enable Interrupts on This Core
* @brief Enable interrupts on this core.
*
* This routine enables interrupts to the previous interrupt mask
* LEVEL. It is used at the end of a critical section of code to
@@ -125,7 +127,7 @@ void _ISR_Handler_initialization ( void );
} while (0)
/**
* @brief Temporarily Enable Interrupts on This Core
* @brief Temporarily enable interrupts on this core.
*
* This routine temporarily enables interrupts to the previous
* interrupt mask level and then disables all interrupts so that
@@ -153,7 +155,7 @@ void _ISR_Handler_initialization ( void );
#if defined(RTEMS_SMP)
/**
* @brief Initialize SMP Interrupt Critical Section Support
* @brief Initialize SMP interrupt critical section support.
*
* This method initializes the variables required by the SMP implementation
* of interrupt critical section management.
@@ -161,17 +163,17 @@ void _ISR_Handler_initialization ( void );
void _ISR_SMP_Initialize(void);
/**
* @brief Enter Interrupt Critical Section on SMP System
* @brief Enter interrupt critical section on SMP system.
*
* This method is used to enter an interrupt critical section that
* is honored across all cores in an SMP system.
*
* @return This method returns the previous interrupt mask level.
* @retval This method returns the previous interrupt mask level.
*/
ISR_Level _ISR_SMP_Disable(void);
/**
* @brief Exit Interrupt Critical Section on SMP System
* @brief Exit interrupt critical section on SMP system.
*
* This method is used to exit an interrupt critical section that
* is honored across all cores in an SMP system.
@@ -182,7 +184,7 @@ ISR_Level _ISR_SMP_Disable(void);
void _ISR_SMP_Enable(ISR_Level level);
/**
* @brief Temporarily Exit Interrupt Critical Section on SMP System
* @brief Temporarily exit interrupt critical section on SMP system.
*
* This method is used to temporarily exit an interrupt critical section
* that is honored across all cores in an SMP system.
@@ -193,20 +195,20 @@ void _ISR_SMP_Enable(ISR_Level level);
void _ISR_SMP_Flash(ISR_Level level);
/**
* @brief Enter SMP interrupt code
* @brief Enter SMP interrupt code.
*
* This method is used to enter the SMP interrupt section.
*
* @return This method returns the isr level.
* @retval This method returns the isr level.
*/
int _ISR_SMP_Enter(void);
/**
* @brief Exit SMP interrupt code
* @brief Exit SMP interrupt code.
*
* This method is used to exit the SMP interrupt.
*
* @return This method returns 0 on a simple return and returns 1 on a
* @retval This method returns 0 on a simple return and returns 1 on a
* dispatching return.
*/
int _ISR_SMP_Exit(void);
@@ -214,7 +216,7 @@ int _ISR_SMP_Exit(void);
#endif
/**
* @brief Enter Interrupt Disable Critical Section
* @brief Enter interrupt disable critical section.
*
* This routine enters an interrupt disable critical section. When
* in an SMP configuration, this involves obtaining a spinlock to ensure
@@ -222,7 +224,7 @@ int _ISR_SMP_Exit(void);
* When on a single core system, this only involves disabling local
* CPU interrupts.
*
* @return The argument @a _level will contain the previous interrupt
* @retval The argument @a _level will contain the previous interrupt
* mask level.
*/
#if defined(RTEMS_SMP)
@@ -234,14 +236,14 @@ int _ISR_SMP_Exit(void);
#endif
/**
* @brief Exits Interrupt Disable Critical Section
* @brief Exits interrupt disable critical section.
*
* This routine exits an interrupt disable critical section. When
* in an SMP configuration, this involves releasing a spinlock.
* When on a single core system, this only involves disabling local
* CPU interrupts.
*
* @return The argument @a _level will contain the previous interrupt
* @retval The argument @a _level will contain the previous interrupt
* mask level.
*/
#if defined(RTEMS_SMP)
@@ -253,7 +255,7 @@ int _ISR_SMP_Exit(void);
#endif
/**
* @brief Temporarily Exit Interrupt Disable Critical Section
* @brief Temporarily exit interrupt disable critical section.
*
* This routine is used to temporarily enable interrupts
* during a long critical section. It is used in long sections of
@@ -263,7 +265,7 @@ int _ISR_SMP_Exit(void);
* must be selected with care to ensure that the critical section
* properly protects itself.
*
* @return The argument @a _level will contain the previous interrupt
* @retval The argument @a _level will contain the previous interrupt
* mask level.
*/
#if defined(RTEMS_SMP)
@@ -275,7 +277,7 @@ int _ISR_SMP_Exit(void);
#endif
/**
* @brief Install Interrupt Handler Vector
* @brief Install interrupt handler vector.
*
* This routine installs new_handler as the interrupt service routine
* for the specified vector. The previous interrupt service routine is
@@ -289,26 +291,26 @@ int _ISR_SMP_Exit(void);
* @param[in] _old_handler is a pointer to a variable which will be set
* to the old handler
*
* @return *_old_handler will be set to the old ISR handler
* @retval *_old_handler will be set to the old ISR handler
*/
#define _ISR_Install_vector( _vector, _new_handler, _old_handler ) \
_CPU_ISR_install_vector( _vector, _new_handler, _old_handler )
/**
* @brief Return Current Interrupt Level
* @brief Return current interrupt level.
*
* This routine returns the current interrupt level.
*
* LM32 Specific Information:
* XXX document implementation including references if appropriate
*
* @return This method returns the current level.
* @retval This method returns the current level.
*/
#define _ISR_Get_level() \
_CPU_ISR_Get_level()
/**
* @brief Set Current Interrupt Level
* @brief Set current interrupt level.
*
* This routine sets the current interrupt level to that specified
* by @a _new_level. The new interrupt level is effective when the
@@ -324,7 +326,7 @@ int _ISR_SMP_Exit(void);
} while (0)
/**
* @brief ISR Handler or Dispatcher
* @brief ISR interrupt dispatcher.
*
* This routine is the interrupt dispatcher. ALL interrupts
* are vectored to this routine so that minimal context can be saved
@@ -340,7 +342,7 @@ int _ISR_SMP_Exit(void);
void _ISR_Handler( void );
/**
* @brief ISR Wrapper for Thread Dispatcher
* @brief ISR wrapper for thread dispatcher.
*
* This routine provides a wrapper so that the routine
* @ref _Thread_Dispatch can be invoked when a reschedule is necessary
@@ -355,13 +357,13 @@ void _ISR_Handler( void );
void _ISR_Dispatch( void );
/**
* @brief Is an ISR in Progress
* @brief Checks if an ISR in progress.
*
* 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.
*
* @return This methods returns true when called from an ISR.
* @retval This methods returns true when called from an ISR.
*/
#if (CPU_PROVIDES_ISR_IS_IN_PROGRESS == TRUE)
bool _ISR_Is_in_progress( void );
@@ -379,4 +381,4 @@ void _ISR_Dispatch( void );
/**@}*/
#endif
/* end of include file */
/* end of include file */
+25 -15
View File
@@ -1,6 +1,8 @@
/**
* @file rtems/score/scheduleredf.h
*
* @brief Data Related to the Manipulation of Threads for the EDF Scheduler
*
* This include file contains all the constants and structures associated
* with the manipulation of threads for the EDF scheduler.
*/
@@ -27,6 +29,10 @@ extern "C" {
#endif
/**
* @defgroup ScoreScheduler
*
* @ingroup Score
*
* @addtogroup ScoreScheduler
*
*/
@@ -98,14 +104,14 @@ typedef struct {
extern RBTree_Control _Scheduler_EDF_Ready_queue;
/**
* @brief Scheduler EDF Initialize
* @brief Initialize EDF scheduler.
*
* This routine initializes the EDF scheduler.
*/
void _Scheduler_EDF_Initialize( void );
/**
* @brief Removes Thread from Ready Queue
* @brief Removes thread from ready queue.
*
* This routine removes @a the_thread from the scheduling decision,
* that is, removes it from the ready queue. It performs
@@ -119,7 +125,8 @@ void _Scheduler_EDF_Block(
);
/**
* @brief Scheduler EDF Schedule
* @brief Sets the heir thread to be the next ready thread
* in the rbtree ready queue.
*
* This kernel routine sets the heir thread to be the next ready thread
* in the rbtree ready queue.
@@ -127,7 +134,7 @@ void _Scheduler_EDF_Block(
void _Scheduler_EDF_Schedule( void );
/**
* @brief Scheduler EDF Allocate
* @brief Allocates EDF specific information of @a the_thread.
*
* This routine allocates EDF specific information of @a the_thread.
*
@@ -139,7 +146,7 @@ void *_Scheduler_EDF_Allocate(
);
/**
* @brief Frees EDF information of a thread
* @brief Frees EDF information of a thread.
*
* This routine frees the EDF specific information of @a the_thread.
*
@@ -151,7 +158,7 @@ void _Scheduler_EDF_Free(
);
/**
* @brief Scheduler EDF Update
* @brief Updates position in the ready queue of @a the_thread.
*
* This routine updates position in the ready queue of @a the_thread.
*
@@ -163,7 +170,7 @@ void _Scheduler_EDF_Update(
);
/**
* @brief Scheduler EDF Unblock
* @brief Adds @a the_thread to the scheduling decision.
*
* This routine adds @a the_thread to the scheduling decision, that is,
* adds it to the ready queue and updates any appropriate scheduling
@@ -176,7 +183,9 @@ void _Scheduler_EDF_Unblock(
);
/**
* @brief Scheduler EDF Yield
* @brief invoked when a thread wishes to voluntarily
* transfer control of the processor to another thread
* with equal deadline.
*
* This routine is invoked when a thread wishes to voluntarily
* transfer control of the processor to another thread in the queue with
@@ -189,7 +198,7 @@ void _Scheduler_EDF_Unblock(
void _Scheduler_EDF_Yield( void );
/**
* @brief Scheduler EDF Enqueue
* @brief Put @a the_thread to the rbtree ready queue.
*
* This routine puts @a the_thread to the rbtree ready queue.
*
@@ -200,7 +209,7 @@ void _Scheduler_EDF_Enqueue(
);
/**
* @brief Enqueues a thread to the ready queue
* @brief Enqueue a thread to the ready queue.
*
* This routine puts @a the_thread to the rbtree ready queue.
* For the EDF scheduler this is the same as @a _Scheduler_EDF_Enqueue.
@@ -212,7 +221,8 @@ void _Scheduler_EDF_Enqueue_first(
);
/**
* @brief Scheduler EDF Extract
* @brief Remove a specific thread from the scheduler's set
* of ready threads.
*
* This routine removes a specific thread from the scheduler's set
* of ready threads.
@@ -224,12 +234,12 @@ void _Scheduler_EDF_Extract(
);
/**
* @brief Scheduler EDF Priority compare
* @brief Explicitly compare absolute dedlines (priorities) of threads.
*
* This routine explicitly compares absolute dedlines (priorities) of threads.
* In case of EDF scheduling time overflow is taken into account.
*
* @return >0 for p1 > p2; 0 for p1 == p2; <0 for p1 < p2.
* @retval >0 for p1 > p2; 0 for p1 == p2; <0 for p1 < p2.
*/
int _Scheduler_EDF_Priority_compare (
Priority_Control p1,
@@ -237,7 +247,7 @@ int _Scheduler_EDF_Priority_compare (
);
/**
* @brief Scheduler EDF Release job
* @brief Called when a new job of task is released.
*
* This routine is called when a new job of task is released.
* It is called only from Rate Monotonic manager in the beginning
@@ -260,4 +270,4 @@ void _Scheduler_EDF_Release_job (
/**@}*/
#endif
/* end of include file */
/* end of include file */
@@ -1,10 +1,13 @@
/**
* @file rtems/score/schedulersimple.h
*
* @brief Manipulation of Threads Simple-Priority-Based Ready Queue
*
* This include file contains all the constants and structures associated
* with the manipulation of threads on a simple-priority-based ready queue.
*
*
*/
/*
* Copyright (C) 2011 On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -16,8 +19,11 @@
#define _RTEMS_SCORE_SCHEDULERSIMPLE_H
/**
* @addtogroup ScoreScheduler
* @defgroup ScoreScheduler
*
* @ingroup Score
*
* @addtogroup ScoreScheduler
*/
/**@{*/
@@ -50,7 +56,7 @@ extern "C" {
}
/**
* @brief Initializes simple scheduler
* @brief Initialize simple scheduler.
*
* This routine initializes the simple scheduler.
*/
@@ -64,7 +70,8 @@ void _Scheduler_simple_Initialize( void );
void _Scheduler_simple_Schedule( void );
/**
* @brief Simple Schedule
* @brief Invoked when a thread wishes to voluntarily
* transfer control of the processor to another thread in the queue.
*
* This routine is invoked when a thread wishes to voluntarily
* transfer control of the processor to another thread in the queue.
@@ -79,7 +86,7 @@ void _Scheduler_simple_Schedule( void );
void _Scheduler_simple_Yield( void );
/**
* @brief Removes a thread from the queue
* @brief Remove a simple-priority-based thread from the queue.
*
* This routine removes @a the_thread from the scheduling decision,
* that is, removes it from the ready queue. It performs
@@ -93,7 +100,8 @@ void _Scheduler_simple_Block(
);
/**
* @brief Scheduler Simple Handler / Unblock
* @brief Unblock a simple-priority-based thread.
*
* This routine adds @a the_thread to the scheduling decision,
* that is, adds it to the ready queue and
* updates any appropriate scheduling variables, for example the heir thread.
@@ -105,7 +113,7 @@ void _Scheduler_simple_Unblock(
);
/**
* @brief Removes a thread from a simple queue
* @brief Removes a simple-priority-based thread from a simple queue.
*
* This routine removes a specific thread from the specified
* simple-based ready queue.
@@ -117,7 +125,7 @@ void _Scheduler_simple_Extract(
);
/**
* @brief Puts thread onto the ready queue
* @brief Puts simple-priority-based thread onto the ready queue.
*
* This routine puts @a the_thread on to the ready queue.
*
@@ -128,7 +136,8 @@ void _Scheduler_simple_Enqueue(
);
/**
* @brief Scheduler simple Enqueue first
* @brief Put simple-priority-based @a the_thread to
* the head of the ready queue.
*
* This routine puts @a the_thread to the head of the ready queue.
* The thread will be the first thread at its priority level.
@@ -140,7 +149,7 @@ void _Scheduler_simple_Enqueue_first(
);
/**
* @brief Returns empty placeholder for scheduler
* @brief Return empty placeholder for the simple scheduler.
*
* This routine is a place holder for any memeory allocation needed
* by the scheduler. For the simple scheduler the routine is an empty
@@ -149,7 +158,7 @@ void _Scheduler_simple_Enqueue_first(
* @param[in] the_thread is the thread the scheduler is allocating
* management memory for
*
* @return this routine returns -1 since this is just an empty placeholder
* @retval this routine returns -1 since this is just an empty placeholder
* and the return value may be defined differently by each scheduler.
*/
void *_Scheduler_simple_Allocate(
@@ -157,7 +166,7 @@ void *_Scheduler_simple_Allocate(
);
/**
* @breif Stub for schedule update
* @breif Stub for simple schedule update.
*
* This routine does nothing, and is used as a stub for Schedule update
* The overhead of a function call will still be imposed.
@@ -169,7 +178,7 @@ void _Scheduler_simple_Update(
);
/**
* @brief Stub for schedule free
* @brief Stub for simple schedule free.
*
* This routine does nothing, and is used as a stub for Schedule free
* The overhead of a function call will still be imposed.
@@ -193,7 +202,8 @@ void _Scheduler_simple_Ready_queue_enqueue(
);
/**
* @brief Scheduler Simple Ready Queue Enqueue First
* @brief Puts simple-priority-based @a the_thread on to the ready queue
* at the beginning of its priority group.
*
* This routine puts @a the_thread on to the ready queue
* at the beginning of its priority group.
@@ -215,4 +225,4 @@ void _Scheduler_simple_Ready_queue_enqueue_first(
/**@}*/
#endif
/* end of include file */
/* end of include file */
@@ -1,6 +1,8 @@
/**
* @file rtems/score/schedulersimplesmp.h
*
* @brief Manipulation of Threads on a Simple-Priority-Based Ready Queue
*
* This include file contains all the constants and structures associated
* with the manipulation of threads on a simple-priority-based ready queue.
* This implementation is SMP-aware and schedules across multiple cores.
@@ -21,6 +23,10 @@
#define _RTEMS_SCORE_SCHEDULERSIMPLE_SMP_H
/**
* @defgroup ScoreScheduler
*
* @ingroup Score
*
* @addtogroup ScoreScheduler
*
* The Simple SMP Scheduler attempts to faithfully implement the
@@ -62,7 +68,7 @@ extern "C" {
}
/**
* @brief Scheduler Simple SMP Schedule Method
* @brief Allocates ready SMP threads to individual cores in an SMP system.
*
* This routine allocates ready threads to individual cores in an SMP
* system. If the allocation results in a new heir which requires
@@ -71,7 +77,7 @@ extern "C" {
void _Scheduler_simple_smp_Schedule( void );
/**
* @brief Scheduler Simple SMP Block Method
* @brief Remove SMP @a the_thread from the ready queue.
*
* This routine removes @a the_thread from the scheduling decision,
* that is, removes it from the ready queue. It performs
@@ -85,7 +91,8 @@ void _Scheduler_simple_smp_Block(
);
/**
* @brief Scheduler Simple SMP Unblock Method
* @brief Adds SMP @a the_thread to the ready queue and updates any
* appropriate scheduling variables, for example the heir thread.
*
* This routine adds @a the_thread to the scheduling decision,
* that is, adds it to the ready queue and updates any appropriate
@@ -98,7 +105,7 @@ void _Scheduler_simple_smp_Unblock(
);
/**
* @brief Scheduler Simple SMP Tick Method
* @brief Invoked as part of processing each SMP clock tick.
*
* This routine is invoked as part of processing each clock tick.
* It is responsible for determining if the current thread allows
@@ -113,4 +120,4 @@ void _Scheduler_simple_smp_Tick( void );
/**@}*/
#endif
/* end of include file */
/* end of include file */
+12 -10
View File
@@ -1,6 +1,8 @@
/**
* @file rtems/score/smplock.h
*
* @brief Interface for Atomic Locks
*
* This include file defines the interface for atomic locks
* which can be used in multiprocessor configurations.
*/
@@ -54,7 +56,7 @@ typedef struct {
} SMP_lock_spinlock_nested_Control;
/**
* @brief Initialize a Lock
* @brief Initialize a lock.
*
* This method is used to initialize the lock at @a lock.
*
@@ -65,13 +67,13 @@ void _SMP_lock_spinlock_simple_Initialize(
);
/**
* @brief Obtain a Lock
* @brief Obtain a lock.
*
* This method is used to obtain the lock at @a lock.
*
* @param [in] lock is the address of the lock to obtain.
*
* @return This method returns with processor interrupts disabled.
* @retval This method returns with processor interrupts disabled.
* The previous level is returned.
*/
ISR_Level _SMP_lock_spinlock_simple_Obtain(
@@ -79,7 +81,7 @@ ISR_Level _SMP_lock_spinlock_simple_Obtain(
);
/**
* @brief Release a Lock
* @brief Release a lock.
*
* This method is used to release the lock at @a lock.
*
@@ -91,7 +93,7 @@ void _SMP_lock_spinlock_simple_Release(
);
/**
* @brief Initialize a Lock
* @brief Initialize a lock.
*
* This method is used to initialize the lock at @a lock.
*
@@ -102,7 +104,7 @@ void _SMP_lock_spinlock_nested_Initialize(
);
/**
* @brief Obtain a Lock
* @brief Obtain a lock.
*
* This method is used to obtain the lock at @a lock. ISR's are
* disabled when this routine returns and it is the callers responsibility
@@ -115,7 +117,7 @@ void _SMP_lock_spinlock_nested_Initialize(
*
* @param [in] lock is the address of the lock to obtain.
*
* @return This method returns with processor interrupts disabled.
* @retval This method returns with processor interrupts disabled.
* The previous level is returned.
*/
ISR_Level _SMP_lock_spinlock_nested_Obtain(
@@ -123,9 +125,9 @@ ISR_Level _SMP_lock_spinlock_nested_Obtain(
);
/**
* @brief Release a Lock
* @brief Release a lock.
*
* This method is used to release the lock at @a lock.
* This method is used to release the lock at @a lock.
*
* @note ISR's are reenabled by this method and are expected to be
* disabled upon entry to the method.
@@ -144,4 +146,4 @@ void _SMP_lock_spinlock_nested_Release(
/**@}*/
#endif
/* end of include file */
/* end of include file */
+12 -6
View File
@@ -1,6 +1,8 @@
/**
* @file rtems/score/threadmp.h
*
* @brief Multiprocessing Portion of the Thread Package
*
* This include file contains the specification for all routines
* and data specific to the multiprocessing portion of the thread package.
*/
@@ -20,6 +22,8 @@
/**
* @defgroup ScoreThreadMP Thread Handler Multiprocessing Support
*
* @ingroup Score
*
* This handler encapsulates functionality which is related to managing
* threads in a multiprocessor system configuration. This handler must
* manage proxies which represent remote threads blocking on local
@@ -32,7 +36,7 @@ extern "C" {
#endif
/**
* @brief MP Thread Handler Initialization
* @brief Initialize MP thread handler.
*
* This routine initializes the multiprocessing portion of the Thread Handler.
*/
@@ -41,7 +45,8 @@ void _Thread_MP_Handler_initialization (
);
/**
* @brief MP Thread Proxy Allocate
* @brief Allocate a MP proxy control block from
* the inactive chain of free proxy control blocks.
*
* This allocates a proxy control block from
* the inactive chain of free proxy control blocks.
@@ -54,7 +59,8 @@ Thread_Control *_Thread_MP_Allocate_proxy (
);
/**
* @brief MP Thread Proxy Find
* @brief Removes the MP proxy control block for the specified
* id from the active chain of proxy control blocks.
*
* This function removes the proxy control block for the specified
* id from the active chain of proxy control blocks.
@@ -64,14 +70,14 @@ Thread_Control *_Thread_MP_Find_proxy (
);
/**
* @brief Active Proxy Set
* @brief Manage the active set MP proxies.
*
* The following chain is used to manage the active set proxies.
*/
SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies;
/**
* @brief Inactive Proxy Set
* @brief Manage the inactive set of MP proxies.
*
* The following chain is used to manage the inactive set of proxies.
*/
@@ -88,4 +94,4 @@ SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies;
/**@}*/
#endif
/* end of include file */
/* end of include file */
@@ -1,5 +1,7 @@
/**
* @file rtems/score/threadsync.h
* @file rtems/score/threadsync.h
*
* @brief Synchronize Thread Blocking Operations with Actions in an ISR
*
* This include file contains all constants and structures associated
* with synchronizing a thread blocking operation with potential
@@ -55,4 +57,4 @@ typedef enum {
/**@}*/
#endif
/* end of include file */
/* end of include file */
+26 -25
View File
@@ -1,6 +1,8 @@
/**
* @file rtems/score/timestamp64.h
*
* @brief Helpers for Manipulating 64-bit Integer Timestamps
*
* This include file contains helpers for manipulating
* 64-bit integer timestamps.
*/
@@ -61,7 +63,7 @@ static inline void _Timestamp64_implementation_Set(
}
/**
* @brief Set Timestamp to Seconds Nanosecond
* @brief Set 64-bit timestamp to seconds nanosecond.
*
* This method sets the timestamp to the specified seconds and nanoseconds
* value.
@@ -89,10 +91,9 @@ static inline void _Timestamp64_implementation_Set_to_zero(
}
/**
* @brief Zero Timestamp
* @brief Sets the 64-bit timestamp to zero.
*
* This method sets the timestamp to zero.
* value.
* This method sets the timestamp to zero value.
*
* @param[in] _time points to the timestamp instance to zero.
*/
@@ -106,13 +107,13 @@ static inline void _Timestamp64_implementation_Set_to_zero(
#endif
/**
* @brief Is Timestamp Valid
* @brief Determines the validity of a 64-bit timestamp.
*
* This method determines the validity of a timestamp.
*
* @param[in] _time points to the timestamp instance to validate.
*
* @return This method returns true if @a time is valid and
* @retval This method returns true if @a time is valid and
* false otherwise.
*/
#define _Timestamp64_Is_valid( _time ) \
@@ -127,14 +128,14 @@ static inline bool _Timestamp64_implementation_Less_than(
}
/**
* @brief Timestamp Less Than Operator
* @brief The "less than" operator for 64-bit timestamps.
*
* This method is the less than operator for timestamps.
*
* @param[in] _lhs points to the left hand side timestamp
* @param[in] _rhs points to the right hand side timestamp
*
* @return This method returns true if @a _lhs is less than the @a _rhs and
* @retval This method returns true if @a _lhs is less than the @a _rhs and
* false otherwise.
*/
#if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE
@@ -159,14 +160,14 @@ static inline bool _Timestamp64_implementation_Equal_to(
_Timestamp64_Less_than( _rhs, _lhs )
/**
* @brief Timestamp equal to Operator
* @brief The "equal to" operator for 64-bit timestamps.
*
* This method is the is equal to than operator for timestamps.
*
* @param[in] _lhs points to the left hand side timestamp
* @param[in] _rhs points to the right hand side timestamp
*
* @return This method returns true if @a _lhs is equal to @a _rhs and
* @retval This method returns true if @a _lhs is equal to @a _rhs and
* false otherwise.
*/
#if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE
@@ -188,7 +189,7 @@ static inline void _Timestamp64_implementation_Add_to(
}
/**
* @brief Add to a Timestamp
* @brief Add two 64-bit timestamps.
*
* This routine adds two timestamps. The second argument is added
* to the first.
@@ -196,7 +197,7 @@ static inline void _Timestamp64_implementation_Add_to(
* @param[in] _time points to the base time to be added to
* @param[in] _add points to the timestamp to add to the first argument
*
* @return This method returns the number of seconds @a time increased by.
* @retval This method returns the number of seconds @a time increased by.
*/
#if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE
#define _Timestamp64_Add_to( _time, _add ) \
@@ -209,21 +210,21 @@ static inline void _Timestamp64_implementation_Add_to(
#endif
/**
* @brief Convert Timestamp to Number of Ticks
* @brief Convert 64-bit timestamp to number of ticks.
*
* This routine convert the @a time timestamp to the corresponding number
* of clock ticks.
*
* @param[in] _time points to the time to be converted
*
* @return This method returns the number of ticks computed.
* @retval This method returns the number of ticks computed.
*/
uint32_t _Timestamp64_To_ticks(
const Timestamp64_Control *_time
);
/**
* @brief Convert Ticks to Timestamp
* @brief Convert ticks to 64-bit timestamp.
*
* This routine converts the @a _ticks value to the corresponding
* timestamp format @a _time.
@@ -246,7 +247,7 @@ static inline void _Timestamp64_implementation_Subtract(
}
/**
* @brief Subtract Two Timestamp
* @brief Subtract two 64-bit timestamps.
*
* This routine subtracts two timestamps. @a result is set to
* @a end - @a start.
@@ -277,7 +278,7 @@ static inline void _Timestamp64_implementation_Divide_by_integer(
}
/**
* @brief Divide Timestamp By Integer
* @brief Divide 64-bit timestamp by an integer.
*
* This routine divides a timestamp by an integer value. The expected
* use is to assist in benchmark calculations where you typically
@@ -299,7 +300,7 @@ static inline void _Timestamp64_implementation_Divide_by_integer(
#endif
/**
* @brief Divide Timestamp
* @brief Divide 64-bit timestamp by another 64-bit timestamp.
*
* This routine divides a timestamp by another timestamp. The
* intended use is for calculating percentages to three decimal points.
@@ -324,13 +325,13 @@ static inline uint32_t _Timestamp64_implementation_Get_seconds(
}
/**
* @brief Get Seconds Portion of Timestamp
* @brief Get seconds portion of a 64-bit timestamp.
*
* This method returns the seconds portion of the specified timestamp
*
* @param[in] _time points to the timestamp
*
* @return The seconds portion of @a _time.
* @retval The seconds portion of @a _time.
*/
#if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE
#define _Timestamp64_Get_seconds( _time ) \
@@ -349,13 +350,13 @@ static inline uint32_t _Timestamp64_implementation_Get_nanoseconds(
}
/**
* @brief Get Nanoseconds Portion of Timestamp
* @brief Get nanoseconds portion of a 64-bit timestamp.
*
* This method returns the nanoseconds portion of the specified timestamp
*
* @param[in] _time points to the timestamp
*
* @return The nanoseconds portion of @a _time.
* @retval The nanoseconds portion of @a _time.
*/
#if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE
#define _Timestamp64_Get_nanoseconds( _time ) \
@@ -376,7 +377,7 @@ static inline void _Timestamp64_implementation_To_timespec(
}
/**
* @brief Convert Timestamp to struct timespec
* @brief Convert 64-bit timestamp to struct timespec.
*
* This method returns the seconds portion of the specified timestamp
*
@@ -403,7 +404,7 @@ static inline void _Timestamp64_implementation_To_timeval(
}
/**
* @brief Convert Timestamp to struct timeval
* @brief Convert 64-bit timestamp to struct timeval.
*
* This method returns the seconds portion of the specified timestamp
*
@@ -427,4 +428,4 @@ static inline void _Timestamp64_implementation_To_timeval(
/**@}*/
#endif
/* end of include file */
/* end of include file */
+13 -11
View File
@@ -1,5 +1,7 @@
/**
* @file rtems/score/wkspace.h
* @file rtems/score/wkspace.h
*
* @brief Information Related to the RAM Workspace
*
* This include file contains information related to the
* RAM Workspace. This Handler provides mechanisms which can be used to
@@ -44,7 +46,7 @@ extern "C" {
SCORE_EXTERN Heap_Control _Workspace_Area;
/**
* @brief Workspace Handler Initialization
* @brief Initilize workspace handler.
*
* This routine performs the initialization necessary for this handler.
*/
@@ -55,7 +57,7 @@ void _Workspace_Handler_initialization(
);
/**
* @brief Allocate Memory from Workspace
* @brief Allocate memory from workspace.
*
* This routine returns the address of a block of memory of size
* bytes. If a block of the appropriate size cannot be allocated
@@ -63,14 +65,14 @@ void _Workspace_Handler_initialization(
*
* @param size is the requested size
*
* @return a pointer to the requested memory or NULL.
* @retval a pointer to the requested memory or NULL.
*/
void *_Workspace_Allocate(
size_t size
);
/**
* @brief Free Memory to the Workspace
* @brief Free memory to the workspace.
*
* This function frees the specified block of memory. If the block
* belongs to the Workspace and can be successfully freed, then
@@ -88,27 +90,27 @@ void _Workspace_Free(
);
/**
* @brief Workspace Allocate or Fail with Fatal Error
* @brief Workspace allocate or fail with fatal error.
*
* This routine returns the address of a block of memory of @a size
* bytes. If a block of the appropriate size cannot be allocated
* from the workspace, then the internal error handler is invoked.
*
* @param[in] size is the desired number of bytes to allocate
* @return If successful, the starting address of the allocated memory
* @retval If successful, the starting address of the allocated memory
*/
void *_Workspace_Allocate_or_fatal_error(
size_t size
);
/**
* @brief Duplicates String with Memory from the Workspace
* @brief Duplicates string with memory from the workspace.
*
* @param[in] string is the pointer to a zero terminated string.
* @param[in] len is the length of the string (equal to strlen(string)).
*
* @return NULL Not enough memory.
* @return other Duplicated string.
* @retval NULL Not enough memory.
* @retval other Duplicated string.
*/
char *_Workspace_String_duplicate(
const char *string,
@@ -126,4 +128,4 @@ char *_Workspace_String_duplicate(
/**@}*/
#endif
/* end of include file */
/* end of include file */
+12 -1
View File
@@ -1,6 +1,8 @@
/**
* @file rtems/seterr.h
*
* @brief Data which Ease the Burden of Consistently Setting Errno
*
* This file contains macros and definitions which ease the burden
* of consistently setting errno and returning -1.
*/
@@ -17,6 +19,14 @@
#ifndef _RTEMS_SETERR_H
#define _RTEMS_SETERR_H
/**
* @defgroup ScoreSetErr Set Errno
*
* @ingroup Score
*
*/
/**@{*/
#include <errno.h>
/**
@@ -41,5 +51,6 @@
#define rtems_set_errno_and_return_minus_one_cast( _error, _cast ) \
do { errno = (_error); return (_cast) -1; } while(0)
/**@}*/
#endif
/* end of include file */
/* end of include file */