Data Accelerator Offload
Loading...
Searching...
No Matches
dao_pal.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Marvell-Proprietary
2 * Copyright(C) 2024 Marvell.
3 */
4
10#ifndef _VIRTIO_HELPER__H__
11#define _VIRTIO_HELPER__H__
12#include <arpa/inet.h>
13#include <errno.h>
14#include <getopt.h>
15#include <inttypes.h>
16#include <signal.h>
17#include <stdarg.h>
18#include <stdbool.h>
19#include <stdint.h>
20#include <stdio.h>
21#include <stdlib.h>
22#include <string.h>
23#include <sys/queue.h>
24#include <sys/socket.h>
25#include <sys/types.h>
26#include <unistd.h>
27
28#include <rte_branch_prediction.h>
29#include <rte_common.h>
30#include <rte_cycles.h>
31#include <rte_dmadev.h>
32#include <rte_vfio.h>
33
34#include <dao_dma.h>
35#include <dao_log.h>
36#include <dao_pem.h>
37#include <dao_virtio_netdev.h>
38
39#define DAO_PAL_MAX_WORKERS RTE_MAX_LCORE
40
56
66
76
87int dao_pal_dma_lcore_mem2dev_autofree_set(uint32_t wrk_id, bool enable);
88
96int dao_pal_thread_init(uint32_t wrk_id);
97
109int dao_pal_dma_vchan_setup(uint32_t devid, uint16_t dma_vchan, void *pool);
110
118int dao_pal_dma_dev_setup(uint64_t wrk_mask);
119
127int dao_pal_thread_fini(uint32_t wrk_id);
128
136int dao_pal_dma_ctrl_dev_set(uint32_t wrk_id);
137
143
157int dao_pal_vfio_dma_map(uint64_t vaddr, uint64_t iova, uint64_t len);
158
165enum rte_iova_mode dao_pal_iova_mode(void);
166
182#endif
int dao_pal_dma_ctrl_dev_set(uint32_t wrk_id)
int dao_pal_thread_init(uint32_t wrk_id)
int dao_pal_vfio_dma_map(uint64_t vaddr, uint64_t iova, uint64_t len)
int dao_pal_thread_fini(uint32_t wrk_id)
int dao_pal_dma_vchan_setup(uint32_t devid, uint16_t dma_vchan, void *pool)
int dao_pal_openlog_stream(FILE *f)
struct dao_pal_global_conf dao_pal_global_conf_t
struct dao_pal_lcore_dma_id dao_pal_lcore_dma_id_t
int dao_pal_global_init(dao_pal_global_conf_t *conf)
enum rte_iova_mode dao_pal_iova_mode(void)
int dao_pal_dma_dev_setup(uint64_t wrk_mask)
int dao_pal_dma_lcore_mem2dev_autofree_set(uint32_t wrk_id, bool enable)
void dao_pal_global_fini(void)
uint8_t pem_devid
Definition dao_pal.h:54
uint16_t nb_dma_devs
Definition dao_pal.h:50
char ** misc_devices
Definition dao_pal.h:44
char ** dma_devices
Definition dao_pal.h:48
uint16_t nb_misc_devices
Definition dao_pal.h:46
uint16_t nb_virtio_devs
Definition dao_pal.h:52
int16_t d2m_dma_devid
Definition dao_pal.h:64
int16_t m2d_dma_devid
Definition dao_pal.h:62