Arax -8d09c51940345c86062e8ef2427c705ae66e5926
A Runtime Framework for Decoupling Applications from Heterogeneous Accelerators
Loading...
Searching...
No Matches
ivshmem/async.h
Go to the documentation of this file.
1#ifndef ASYNC_HEADER
2#define ASYNC_HEADER
3#include "core/arax_object.h"
4#include "utils/list.h"
5#include "pthread.h"
6#include "arch/alloc.h"
7
8typedef struct ivshmem ivshmem_s;
9
19
20typedef struct async_completion_s
21{
24 size_t vm_id;
25 volatile size_t completed;
26 pthread_mutex_t mutex;
27 pthread_mutexattr_t attr;
29
38
45
46#include "async_api.h"
47#endif // ifndef ASYNC_HEADER
struct utils_list_node utils_list_node_s
volatile uint32_t utils_spinlock
Definition spinlock.h:10
pthread_t thread
utils_spinlock lock
utils_list_s outstanding
volatile int fd
arch_alloc_s * alloc
ivshmem_s * regs
async_meta_s * meta
pthread_mutex_t mutex
volatile size_t completed
pthread_mutexattr_t attr
utils_list_node_s outstanding
async_meta_s * meta
utils_spinlock pending_lock
utils_list_s pending_list
volatile size_t value
async_meta_s * meta
async_semaphore_s semaphore
async_completion_s mutex
struct ivshmem ivshmem_s