iPXE
Functions
mlx_memory_priv.h File Reference
#include "../../../mlx_utils/include/public/mlx_utils.h"

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER)
 
mlx_status mlx_memory_alloc_priv (IN mlx_utils *utils, IN mlx_size size, OUT mlx_void **ptr)
 
mlx_status mlx_memory_zalloc_priv (IN mlx_utils *utils, IN mlx_size size, OUT mlx_void **ptr)
 
mlx_status mlx_memory_free_priv (IN mlx_utils *utils, IN mlx_void *ptr)
 
mlx_status mlx_memory_alloc_dma_priv (IN mlx_utils *utils, IN mlx_size size, IN mlx_size align, OUT mlx_void **ptr)
 
mlx_status mlx_memory_free_dma_priv (IN mlx_utils *utils, IN mlx_size size, IN mlx_void *ptr)
 
mlx_status mlx_memory_map_dma_priv (IN mlx_utils *utils, IN mlx_void *addr, IN mlx_size number_of_bytes, OUT mlx_physical_address *phys_addr, OUT mlx_void **mapping)
 
mlx_status mlx_memory_ummap_dma_priv (IN mlx_utils *utils, IN mlx_void *mapping)
 
mlx_status mlx_memory_cmp_priv (IN mlx_utils *utils, IN mlx_void *first_block, IN mlx_void *second_block, IN mlx_size size, OUT mlx_uint32 *out)
 
mlx_status mlx_memory_set_priv (IN mlx_utils *utils, IN mlx_void *block, IN mlx_int32 value, IN mlx_size size)
 
mlx_status mlx_memory_cpy_priv (IN mlx_utils *utils, OUT mlx_void *destination_buffer, IN mlx_void *source_buffer, IN mlx_size length)
 
mlx_status mlx_memory_cpu_to_be32_priv (IN mlx_utils *utils, IN mlx_uint32 source, IN mlx_uint32 *destination)
 
mlx_status mlx_memory_be32_to_cpu_priv (IN mlx_utils *utils, IN mlx_uint32 source, IN mlx_uint32 *destination)
 

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER  )

◆ mlx_memory_alloc_priv()

mlx_status mlx_memory_alloc_priv ( IN mlx_utils utils,
IN mlx_size  size,
OUT mlx_void **  ptr 
)

Definition at line 17 of file mlx_memory_priv.c.

22 {
24  *ptr = malloc(size);
25  if(*ptr == NULL){
27  }
28  return status;
29 }
uint16_t size
Buffer size.
Definition: dwmac.h:14
#define MLX_SUCCESS
void * malloc(size_t size)
Allocate memory.
Definition: malloc.c:620
uint8_t status
Status.
Definition: ena.h:16
#define MLX_OUT_OF_RESOURCES
int mlx_status
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321

References malloc(), MLX_OUT_OF_RESOURCES, MLX_SUCCESS, NULL, size, and status.

Referenced by mlx_memory_alloc().

◆ mlx_memory_zalloc_priv()

mlx_status mlx_memory_zalloc_priv ( IN mlx_utils utils,
IN mlx_size  size,
OUT mlx_void **  ptr 
)

Definition at line 32 of file mlx_memory_priv.c.

37 {
39  *ptr = zalloc(size);
40  if(*ptr == NULL){
42  }
43  return status;
44 }
uint16_t size
Buffer size.
Definition: dwmac.h:14
#define MLX_SUCCESS
void * zalloc(size_t size)
Allocate cleared memory.
Definition: malloc.c:661
uint8_t status
Status.
Definition: ena.h:16
#define MLX_OUT_OF_RESOURCES
int mlx_status
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321

References MLX_OUT_OF_RESOURCES, MLX_SUCCESS, NULL, size, status, and zalloc().

Referenced by mlx_memory_zalloc().

◆ mlx_memory_free_priv()

mlx_status mlx_memory_free_priv ( IN mlx_utils utils,
IN mlx_void ptr 
)

Definition at line 47 of file mlx_memory_priv.c.

51 {
53  free(ptr);
54  return status;
55 }
#define MLX_SUCCESS
static void(* free)(struct refcnt *refcnt))
Definition: refcnt.h:54
uint8_t status
Status.
Definition: ena.h:16
int mlx_status

References free, MLX_SUCCESS, and status.

Referenced by mlx_memory_free().

◆ mlx_memory_alloc_dma_priv()

mlx_status mlx_memory_alloc_dma_priv ( IN mlx_utils utils,
IN mlx_size  size,
IN mlx_size  align,
OUT mlx_void **  ptr 
)

Definition at line 57 of file mlx_memory_priv.c.

63 {
65  *ptr = malloc_phys(size, align);
66  if (*ptr == NULL) {
68  } else {
69  memset(*ptr, 0, size);
70  }
71  return status;
72 }
uint16_t size
Buffer size.
Definition: dwmac.h:14
mlx_uint8 align
Definition: mlx_port.h:58
#define MLX_SUCCESS
uint8_t status
Status.
Definition: ena.h:16
#define MLX_OUT_OF_RESOURCES
int mlx_status
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321
void * malloc_phys(size_t size, size_t phys_align)
Allocate memory with specified physical alignment.
Definition: malloc.c:706
void * memset(void *dest, int character, size_t len) __nonnull

References malloc_phys(), memset(), MLX_OUT_OF_RESOURCES, MLX_SUCCESS, NULL, size, and status.

Referenced by mlx_memory_alloc_dma().

◆ mlx_memory_free_dma_priv()

mlx_status mlx_memory_free_dma_priv ( IN mlx_utils utils,
IN mlx_size  size,
IN mlx_void ptr 
)

Definition at line 75 of file mlx_memory_priv.c.

80 {
82  free_phys(ptr, size);
83  return status;
84 }
uint16_t size
Buffer size.
Definition: dwmac.h:14
#define MLX_SUCCESS
uint8_t status
Status.
Definition: ena.h:16
void free_phys(void *ptr, size_t size)
Free memory allocated with malloc_phys()
Definition: malloc.c:722
int mlx_status

References free_phys(), MLX_SUCCESS, size, and status.

Referenced by mlx_memory_free_dma().

◆ mlx_memory_map_dma_priv()

mlx_status mlx_memory_map_dma_priv ( IN mlx_utils utils,
IN mlx_void addr,
IN mlx_size  number_of_bytes,
OUT mlx_physical_address phys_addr,
OUT mlx_void **  mapping 
)

Definition at line 86 of file mlx_memory_priv.c.

93 {
95  *phys_addr = virt_to_bus(addr);
96  return status;
97 }
static __always_inline unsigned long virt_to_bus(volatile const void *addr)
Convert virtual address to a bus address.
Definition: io.h:183
#define MLX_SUCCESS
uint32_t addr
Buffer address.
Definition: dwmac.h:20
uint8_t status
Status.
Definition: ena.h:16
int mlx_status

References addr, MLX_SUCCESS, status, and virt_to_bus().

Referenced by mlx_memory_map_dma().

◆ mlx_memory_ummap_dma_priv()

mlx_status mlx_memory_ummap_dma_priv ( IN mlx_utils utils,
IN mlx_void mapping 
)

Definition at line 100 of file mlx_memory_priv.c.

104 {
106  return status;
107 }
#define MLX_SUCCESS
uint8_t status
Status.
Definition: ena.h:16
int mlx_status

References MLX_SUCCESS, and status.

Referenced by mlx_memory_ummap_dma().

◆ mlx_memory_cmp_priv()

mlx_status mlx_memory_cmp_priv ( IN mlx_utils utils,
IN mlx_void first_block,
IN mlx_void second_block,
IN mlx_size  size,
OUT mlx_uint32 out 
)

Referenced by mlx_memory_cmp().

◆ mlx_memory_set_priv()

mlx_status mlx_memory_set_priv ( IN mlx_utils utils,
IN mlx_void block,
IN mlx_int32  value,
IN mlx_size  size 
)

Referenced by mlx_memory_set().

◆ mlx_memory_cpy_priv()

mlx_status mlx_memory_cpy_priv ( IN mlx_utils utils,
OUT mlx_void destination_buffer,
IN mlx_void source_buffer,
IN mlx_size  length 
)

Referenced by mlx_memory_cpy().

◆ mlx_memory_cpu_to_be32_priv()

mlx_status mlx_memory_cpu_to_be32_priv ( IN mlx_utils utils,
IN mlx_uint32  source,
IN mlx_uint32 destination 
)

Referenced by mlx_memory_cpu_to_be32().

◆ mlx_memory_be32_to_cpu_priv()

mlx_status mlx_memory_be32_to_cpu_priv ( IN mlx_utils utils,
IN mlx_uint32  source,
IN mlx_uint32 destination 
)

Referenced by mlx_memory_be32_to_cpu().