DPDK 25.03.0-rc0
rte_memzone.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2014 Intel Corporation
3 */
4
5#ifndef _RTE_MEMZONE_H_
6#define _RTE_MEMZONE_H_
7
25#include <stdio.h>
26#include <rte_memory.h>
27#include <rte_common.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#define RTE_MEMZONE_2MB 0x00000001
34#define RTE_MEMZONE_1GB 0x00000002
35#define RTE_MEMZONE_16MB 0x00000100
36#define RTE_MEMZONE_16GB 0x00000200
37#define RTE_MEMZONE_256KB 0x00010000
38#define RTE_MEMZONE_256MB 0x00020000
39#define RTE_MEMZONE_512MB 0x00040000
40#define RTE_MEMZONE_4GB 0x00080000
41#define RTE_MEMZONE_SIZE_HINT_ONLY 0x00000004
42#define RTE_MEMZONE_IOVA_CONTIG 0x00100000
49
50#define RTE_MEMZONE_NAMESIZE 32
54 union {
55 void *addr;
56 uint64_t addr_64;
57 };
58 size_t len;
60 uint64_t hugepage_sz;
62 int32_t socket_id;
64 uint32_t flags;
66
77int rte_memzone_max_set(size_t max);
78
88
146const struct rte_memzone *rte_memzone_reserve(const char *name,
147 size_t len, int socket_id,
148 unsigned flags);
149
212 size_t len, int socket_id,
213 unsigned flags, unsigned align);
214
283 size_t len, int socket_id,
284 unsigned flags, unsigned align, unsigned bound);
285
295int rte_memzone_free(const struct rte_memzone *mz);
296
308const struct rte_memzone *rte_memzone_lookup(const char *name);
309
316void rte_memzone_dump(FILE *f);
317
326void rte_memzone_walk(void (*func)(const struct rte_memzone *, void *arg),
327 void *arg);
328
329#ifdef __cplusplus
330}
331#endif
332
333#endif /* _RTE_MEMZONE_H_ */
#define __rte_packed
Definition: rte_common.h:108
uint64_t rte_iova_t
Definition: rte_common.h:658
size_t rte_memzone_max_get(void)
void rte_memzone_dump(FILE *f)
int rte_memzone_max_set(size_t max)
#define RTE_MEMZONE_NAMESIZE
Definition: rte_memzone.h:50
const struct rte_memzone * rte_memzone_reserve(const char *name, size_t len, int socket_id, unsigned flags)
void rte_memzone_walk(void(*func)(const struct rte_memzone *, void *arg), void *arg)
int rte_memzone_free(const struct rte_memzone *mz)
const struct rte_memzone * rte_memzone_reserve_bounded(const char *name, size_t len, int socket_id, unsigned flags, unsigned align, unsigned bound)
const struct rte_memzone * rte_memzone_lookup(const char *name)
const struct rte_memzone * rte_memzone_reserve_aligned(const char *name, size_t len, int socket_id, unsigned flags, unsigned align)
char name[RTE_MEMZONE_NAMESIZE]
Definition: rte_memzone.h:51
uint64_t addr_64
Definition: rte_memzone.h:56
size_t len
Definition: rte_memzone.h:58
uint32_t flags
Definition: rte_memzone.h:64
uint64_t hugepage_sz
Definition: rte_memzone.h:60
int32_t socket_id
Definition: rte_memzone.h:62
rte_iova_t iova
Definition: rte_memzone.h:53
void * addr
Definition: rte_memzone.h:55