iPXE
mlx_memory.h
Go to the documentation of this file.
1 #ifndef MLXUTILS_INCLUDE_PUBLIC_MEMORY_H_
2 #define MLXUTILS_INCLUDE_PUBLIC_MEMORY_H_
3 
4 /*
5  * Copyright (C) 2015 Mellanox Technologies Ltd.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License as
9  * published by the Free Software Foundation; either version 2 of the
10  * License, or any later version.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20  * 02110-1301, USA.
21  */
22 
23 FILE_LICENCE ( GPL2_OR_LATER );
24 
25 #include "mlx_utils.h"
26 
27 
30  IN mlx_utils *utils,
32  OUT mlx_void **ptr
33  );
34 
37  IN mlx_utils *utils,
39  OUT mlx_void **ptr
40  );
41 
44  IN mlx_utils *utils,
45  IN mlx_void **ptr
46  );
49  IN mlx_utils *utils,
50  IN mlx_size size ,
52  OUT mlx_void **ptr
53  );
54 
57  IN mlx_utils *utils,
58  IN mlx_size size ,
59  IN mlx_void **ptr
60  );
63  IN mlx_utils *utils,
64  IN mlx_void *Addr ,
65  IN mlx_size NumberOfBytes,
66  OUT mlx_physical_address *PhysAddr,
67  OUT mlx_void **Mapping
68  );
69 
72  IN mlx_utils *utils,
73  IN mlx_void *Mapping
74  );
75 
78  IN mlx_utils *utils,
79  IN mlx_void *first_block,
80  IN mlx_void *second_block,
83  );
84 
87  IN mlx_utils *utils,
88  IN mlx_void *block,
91  );
92 
95  IN mlx_utils *utils,
96  OUT mlx_void *destination_buffer,
97  IN mlx_void *source_buffer,
99  );
100 
103  IN mlx_utils *utils,
104  IN mlx_uint32 source,
105  IN mlx_uint32 *destination
106  );
107 
110  IN mlx_utils *utils,
111  IN mlx_uint32 source,
112  IN mlx_uint32 *destination
113  );
114 
115 #endif /* STUB_MLXUTILS_INCLUDE_PUBLIC_MEMORY_H_ */
static __always_inline void struct dma_mapping size_t size_t align
Definition: dma.h:222
u16 length
Definition: sky2.h:9
mlx_status mlx_memory_cpu_to_be32(IN mlx_utils *utils, IN mlx_uint32 source, IN mlx_uint32 *destination)
Definition: mlx_memory.c:207
__be32 out[4]
Definition: CIB_PRM.h:36
uint32_t mlx_uint32
mlx_status mlx_memory_map_dma(IN mlx_utils *utils, IN mlx_void *Addr, IN mlx_size NumberOfBytes, OUT mlx_physical_address *PhysAddr, OUT mlx_void **Mapping)
Definition: mlx_memory.c:116
mlx_status mlx_memory_free(IN mlx_utils *utils, IN mlx_void **ptr)
Definition: mlx_memory.c:63
mlx_status mlx_memory_set(IN mlx_utils *utils, IN mlx_void *block, IN mlx_int32 value, IN mlx_size size)
Definition: mlx_memory.c:171
#define OUT
Definition: mlx_utils.h:29
mlx_status mlx_memory_ummap_dma(IN mlx_utils *utils, IN mlx_void *Mapping)
Definition: mlx_memory.c:135
int32_t mlx_int32
mlx_status mlx_memory_cmp(IN mlx_utils *utils, IN mlx_void *first_block, IN mlx_void *second_block, IN mlx_size size, OUT mlx_uint32 *out)
Definition: mlx_memory.c:151
mlx_status mlx_memory_free_dma(IN mlx_utils *utils, IN mlx_size size, IN mlx_void **ptr)
Definition: mlx_memory.c:98
FILE_LICENCE(GPL2_OR_LATER)
pseudo_bit_t value[0x00020]
Definition: arbel.h:13
size_t mlx_size
void mlx_void
#define IN
Definition: mlx_utils.h:28
mlx_status mlx_memory_cpy(IN mlx_utils *utils, OUT mlx_void *destination_buffer, IN mlx_void *source_buffer, IN mlx_size length)
Definition: mlx_memory.c:189
mlx_status mlx_memory_zalloc(IN mlx_utils *utils, IN mlx_size size, OUT mlx_void **ptr)
Definition: mlx_memory.c:45
uint8_t block[3][8]
DES-encrypted blocks.
Definition: mschapv2.h:12
uint8_t size
Entry size (in 32-bit words)
Definition: ena.h:16
int mlx_status
mlx_status mlx_memory_be32_to_cpu(IN mlx_utils *utils, IN mlx_uint32 source, IN mlx_uint32 *destination)
Definition: mlx_memory.c:224
mlx_status mlx_memory_alloc_dma(IN mlx_utils *utils, IN mlx_size size, IN mlx_size align, OUT mlx_void **ptr)
Definition: mlx_memory.c:79
mlx_status mlx_memory_alloc(IN mlx_utils *utils, IN mlx_size size, OUT mlx_void **ptr)
Definition: mlx_memory.c:27
unsigned long mlx_physical_address