blob: 1637be43636c00ba04fafd2ffed6a3b49550b2ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/* SPDX-License-Identifier: MIT */
#ifndef IOVA_H
#define IOVA_H
#include "dart.h"
#include "types.h"
typedef struct iova_domain iova_domain_t;
iova_domain_t *iovad_init(u64 base, u64 limit);
void iovad_shutdown(iova_domain_t *iovad, dart_dev_t *dart);
bool iova_reserve(iova_domain_t *iovad, u64 iova, size_t sz);
u64 iova_alloc(iova_domain_t *iovad, size_t sz);
void iova_free(iova_domain_t *iovad, u64 iova, size_t sz);
#endif
|