RTEMS  5.1
Data Structures | Macros | Functions | Variables
memory.h File Reference

Memory Handler API. More...

#include <rtems/score/basedefs.h>
#include <rtems/score/assert.h>

Go to the source code of this file.

Data Structures

struct  Memory_Area
 The memory area description. More...
 
struct  Memory_Information
 The memory information. More...
 

Macros

#define MEMORY_INFORMATION_INITIALIZER(areas)   { RTEMS_ARRAY_SIZE( areas ), ( areas ) }
 Statically initialize a memory information. More...
 
#define MEMORY_INITIALIZER(begin, end)   { ( begin ), ( begin ), ( end ) }
 Statically initialize a memory area. More...
 

Functions

RTEMS_INLINE_ROUTINE size_t _Memory_Get_count (const Memory_Information *information)
 Get the memory area count. More...
 
RTEMS_INLINE_ROUTINE Memory_Area_Memory_Get_area (const Memory_Information *information, size_t index)
 Get a memory area by index. More...
 
RTEMS_INLINE_ROUTINE void _Memory_Initialize (Memory_Area *area, void *begin, void *end)
 Initialize the memory area. More...
 
RTEMS_INLINE_ROUTINE void _Memory_Initialize_by_size (Memory_Area *area, void *begin, uintptr_t size)
 Initialize the memory area by size. More...
 
RTEMS_INLINE_ROUTINE const void * _Memory_Get_begin (const Memory_Area *area)
 Get the memory area begin. More...
 
RTEMS_INLINE_ROUTINE void _Memory_Set_begin (Memory_Area *area, const void *begin)
 Set the memory area begin. More...
 
RTEMS_INLINE_ROUTINE const void * _Memory_Get_end (const Memory_Area *area)
 Get the memory area end. More...
 
RTEMS_INLINE_ROUTINE void _Memory_Set_end (Memory_Area *area, const void *end)
 Set the memory area end. More...
 
RTEMS_INLINE_ROUTINE uintptr_t _Memory_Get_size (const Memory_Area *area)
 Get the memory area size. More...
 
RTEMS_INLINE_ROUTINE void * _Memory_Get_free_begin (const Memory_Area *area)
 Get the begin of the free area of the memory area. More...
 
RTEMS_INLINE_ROUTINE void _Memory_Set_free_begin (Memory_Area *area, void *begin)
 Set the begin of the free area of the memory area. More...
 
RTEMS_INLINE_ROUTINE uintptr_t _Memory_Get_free_size (const Memory_Area *area)
 Get the size of the free memory area of the memory area. More...
 
RTEMS_INLINE_ROUTINE void _Memory_Consume (Memory_Area *area, uintptr_t consume)
 Consume the specified size from the free memory area of the memory area. More...
 
const Memory_Information_Memory_Get (void)
 Return the memory information of this platform. More...
 
void * _Memory_Allocate (const Memory_Information *information, uintptr_t size, uintptr_t alignment)
 Allocate a memory area from the memory information. More...
 
void _Memory_Fill (const Memory_Information *information, int c)
 Fill all free memory areas of the memory information with a constant byte. More...
 
void _Memory_Zero_free_areas (void)
 Zeros all free memory areas of the system.
 
void _Memory_Dirty_free_areas (void)
 Dirty all free memory areas of the system.
 

Variables

const bool _Memory_Zero_before_use
 Indicates if the memory is zeroed during system initialization. More...
 

Detailed Description

Memory Handler API.