1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright(c) 2007-2022 Intel Corporation */
3 /* $FreeBSD$ */
4 /**
5 ***************************************************************************
6 * @file icp_sal_iommu.h
7 *
8 * @ingroup SalUser
9 *
10 * Sal iommu wrapper functions.
11 *
12 ***************************************************************************/
13
14 #ifndef ICP_SAL_IOMMU_H
15 #define ICP_SAL_IOMMU_H
16
17 /*************************************************************************
18 * @ingroup Sal
19 * @description
20 * Function returns page_size rounded size for iommu remapping
21 *
22 * @assumptions
23 * None
24 * @sideEffects
25 * None
26 * @reentrant
27 * No
28 * @threadSafe
29 * No
30 *
31 * @param[in] size Minimum required size.
32 *
33 * @retval page_size rounded size for iommu remapping.
34 *
35 *************************************************************************/
36 size_t icp_sal_iommu_get_remap_size(size_t size);
37
38 /*************************************************************************
39 * @ingroup Sal
40 * @description
41 * Function adds an entry into iommu remapping table
42 *
43 * @assumptions
44 * None
45 * @sideEffects
46 * None
47 * @reentrant
48 * No
49 * @threadSafe
50 * No
51 *
52 * @param[in] phaddr Host physical address.
53 * @param[in] iova Guest physical address.
54 * @param[in] size Size of the remapped region.
55 *
56 * @retval CPA_STATUS_SUCCESS No error
57 * @retval CPA_STATUS_FAIL Operation failed
58 *
59 *************************************************************************/
60 CpaStatus icp_sal_iommu_map(Cpa64U phaddr, Cpa64U iova, size_t size);
61
62 /*************************************************************************
63 * @ingroup Sal
64 * @description
65 * Function removes an entry from iommu remapping table
66 *
67 * @assumptions
68 * None
69 * @sideEffects
70 * None
71 * @reentrant
72 * No
73 * @threadSafe
74 * No
75 *
76 * @param[in] iova Guest physical address to be removed.
77 * @param[in] size Size of the remapped region.
78 *
79 * @retval CPA_STATUS_SUCCESS No error
80 * @retval CPA_STATUS_FAIL Operation failed
81 *
82 *************************************************************************/
83 CpaStatus icp_sal_iommu_unmap(Cpa64U iova, size_t size);
84 #endif
Cache object: 0077a5cffa1db3dde9dbfcdcf28062dd
|