Stack Handler


Data Structures

struct  Stack_Control

Defines

#define STACK_MINIMUM_SIZE   CPU_STACK_MINIMUM_SIZE

Functions

RTEMS_INLINE_ROUTINE void _Stack_Initialize (Stack_Control *the_stack, void *starting_address, size_t size)
RTEMS_INLINE_ROUTINE uint32_t _Stack_Minimum (void)
RTEMS_INLINE_ROUTINE boolean _Stack_Is_enough (size_t size)
RTEMS_INLINE_ROUTINE size_t _Stack_Ensure_minimum (size_t size)
RTEMS_INLINE_ROUTINE uint32_t _Stack_Adjust_size (size_t size)

Variables

uint32_t rtems_minimum_stack_size

Detailed Description

This handler encapsulates functionality which is used in the management of thread stacks.

Define Documentation

#define STACK_MINIMUM_SIZE   CPU_STACK_MINIMUM_SIZE

The following constant defines the minimum stack size which every thread must exceed.


Function Documentation

RTEMS_INLINE_ROUTINE uint32_t _Stack_Adjust_size ( size_t  size  ) 

This function increases the stack size to ensure 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.

References CPU_STACK_ALIGNMENT.

RTEMS_INLINE_ROUTINE size_t _Stack_Ensure_minimum ( size_t  size  ) 

This function returns the appropriate stack size given the requested size. If the requested size is below the minimum, then the minimum configured stack size is returned.

Parameters:
[in] size is the stack size to check
Returns:
This method returns the appropriate stack size.

References _Stack_Minimum().

RTEMS_INLINE_ROUTINE void _Stack_Initialize ( Stack_Control the_stack,
void *  starting_address,
size_t  size 
)

This routine initializes the_stack record to indicate that size bytes of memory starting at starting_address have been reserved for a stack.

References Stack_Control::area, and Stack_Control::size.

RTEMS_INLINE_ROUTINE boolean _Stack_Is_enough ( size_t  size  ) 

This function returns TRUE if size bytes is enough memory for a valid stack area on this processor, and FALSE otherwise.

Parameters:
[in] size is the stack size to check
Returns:
This method returns TRUE if the stack is large enough.

References _Stack_Minimum().

RTEMS_INLINE_ROUTINE uint32_t _Stack_Minimum ( void   ) 

This function returns the minimum stack size configured for this application.

Returns:
This method returns the minimum stack size;

References rtems_minimum_stack_size.

Referenced by _Stack_Ensure_minimum(), and _Stack_Is_enough().


Variable Documentation

This variable contains the the minimum stack size;

Note:
It is instantiated and set by User Configuration via confdefs.h.

Referenced by _Stack_Minimum().


Generated on Fri Aug 29 00:16:46 2008 for RTEMSSuperCore by  doxygen 1.5.6